8th
15. メソッド引数のスペース
Rubyで引数付きメソッドを呼ぶときはそのカッコを省略できますが、引数がシンボルであればさらに、メソッド名との間のスペースも省略できます。
def name(sym)
@name = sym
end
name:charlie # => :charlie
こうするとより宣言的に見えます。
と、思いましたがこれを変数に代入したりputsしたりすると、上手くパースされないということが分かったので、用途は限定的です。
17. %ノーテーション
String#%を使うことで文字列に指定フォーマットでオブジェクトを埋め込めますが、%は配列を受け取れるのです。
lang = [:ruby, :java]
"I love %s, not %s" % lang # => "I love ruby, not java"
それだけじゃなく実はハッシュも取れるのです。
lang = {a: :java, b: :ruby}
"I love %{b}, not %{a}" % lang # => "I love ruby, not java"
19. Array#*
Array#*に整数を渡すとそれを繰り返した新たな配列を返しますが、文字列を渡すとそれをセパレータとした連結文字列を返すjoinの役割を果たします。
[1, 2, 3] * 3 # => [1, 2, 3, 1, 2, 3, 1, 2, 3]
[2009, 1, 10] * '-' # => "2009-1-10"





