Asa Tech Blog

学んだことを備忘録として残しています

チェリー本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!"