チェリー本2章③
- 論理演算子の
&&
は||
よりも優先順位が高い
# 上と下は同じ
t1 && t2 || f1 && f2
(t1 && t2) || (f1 && f2)
if文は最後に評価された式を戻り値として返す
returnはメソッドを途中で脱出する場合に使われることが多い
%記法で文字列が作れる
# %q! !はシングルクオートで囲んだことと同じになる puts %q!He said , "Don't speck."! #=> He said , "Don't speck." # %Qはダブルクオートで囲んだことと同じになる(改行文字や式展開が使える) something = "Hello" puts %Q!He said , "#{something}"! #=> He said , "Hello" # %! !もダブルクオートで囲んだことになる something = "Hello" puts %!He said , "#{something}"! #=> He said , "Hello" # !だけではなく?などの任意の記号も区切り文字として使える puts %?He said , "Don't speck."? #=> He said , "Don't speck." puts %<He said , "Don't speck."> #=> He said , "Don't speck."
- 文字列は途中で改行できる
puts 'Line 1, Line 2' #=> Line 1, Line 2
ヒアドキュメント
は複数行に渡る長い文字列を作成するときに使う
a = <<TEXT これはペンです hello world TEXT puts a #=> これはペンです hello world
sprintf
メソッドは指定されたフォーマットの文字列を作成する
puts sprintf('%0.3f', 1.2) p '%.3f' % 1.2 puts sprintf('%0.3f + %0.3f', 1.2, 0.48) puts '%0.3f + %0.3f' % [1.2, 0.48] #=> 1.200 "1.200" 1.200 + 0.480 1.200 + 0.480
join
メソッドは配列の要素を結合して1つの文字列にするメソッド
p ['a', 'b', 'c'].join #=> "abc" p ['a', 'b', 'c'].join('-') #=> "a-b-c"
concat
メソッドは文字列を破壊的に結合できるメソッド
str1 = "Hello " str2 = "Ruby!" str1.concat(str2) p str1 #=> "Hello Ruby!"