4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ruby】初学者向け-言語基礎②

Posted at

今回は汎用性の高い文法についてまとめていきます。

目次
・三項演算子について
・擬似変数について
・case文について
・ヒアドキュメントについて
・Rangeオブジェクトについて

【三項演算子について】

三項演算子とは「条件式?式1:式2」という記述で表される演算子のこと

条件式に一致する場合は「式1」、条件式に一致しない場合は「式2」を結果とします

example_1.rb
a = true

# aがtrueである場合は1、そうでない場合は2を結果とする
a = true ? 1 : 2

# aを出力
p a

# aはtrueであるため1が出力される
=> 1

【擬似変数について】

擬似変数
…特定の状況で特別な意味を持つ変数のこと。

変数名 内容
true TrueClassのインスタンス
false FalseClassのインスタンス
nil NillClassのインスタンス
self 現在のオブジェクト
__FILE__ 現在実行しているプログラムのファイル名
__LINE__ 現在実行しているプログラムの行番号
__ENCORDING__ 現在のソースファイルのスクリプトエンコーディング

※Rubyにおいては「nil」と「false」のみが「偽」を示す。

【case文について】

if文の条件が多くなった場合など、「elsif」を乱用するよりも case文を用いて記述した方が可読性が高くなる
example_2.rb
case <>
when <条件式1> [then]
when <条件式2> [then]
...
else
end

example_3.rb
case 1
when 1 then
    p 1
end 
=> 1

-------------------------------
# 先に当てはまった条件文に分岐して実行される
case "abc"
when "abc" 
    p 1 # 実行される
when "abc"
    p 2 # 実行されない
end
=> 1

-------------------------------
# 変数bにcase a の結果を格納して結果を出力する
a = 10
b = case a

when 1 then
    1 # 実行されない
else
    2 # 実行される
end
p b
=> 2

【ヒアドキュメントについて】

ヒアドキュメント
…複数行の文字列を簡単に記述するための構文。
 主にスクリプト言語やプログラミング言語で使用され、
 通常の文字列リテラルと違い、途中で改行や特殊文字を気にせずに
 複数行のテキストをそのまま書くことができる。

 考え方としては「指定した識別子までの文字列を1つのリテラルとして扱う」といったもの。
SQLなどの直書きが行える。

example_4.rb
# ヒアドキュメントは終端を示す識別子の前にはスペースを記述してはいけないため「-」を使用する
query = <<-SQL
    select * 
        from my_table;
SQL
query
=> "select * \n  from my_table;\n"

【Rangeオブジェクトについて】

範囲リテラル
…特定の範囲内の連続した値を表現するために使用される構文で、
 数値や文字列、日付などの範囲を簡潔に表現できる。

example_5.rb
# 「..」の場合は「以下」を表す。「...」の場合は「未満」を表す。
    1 .. 10    # 1から10以下の範囲
    "a" .. "z" # aからz以下の範囲
    1 ... 10   # 1から10未満の範囲

上記のように生成した値は、範囲オブジェクトと呼ばれる。
範囲オブジェクトはinclude?メソッドを用いて、引数で指定した値が範囲に含まれているかどうかが判定ができる。

範囲オブジェクトでは===演算子も用いることができる。
ただし、「==」は同値判定、「===」は包含判定となる。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?