次のコード:
str = "1, hello,2"
puts str
arr = str.split(",")
puts arr.inspect
arr.collect { |x| x.strip! }
puts arr.inspect
次の結果が生成されます。
1, hello,2
["1", " hello", "2"]
["1", "hello", "2"]
これは予想通りです。次のコード:
str = "1, hello,2"
puts str
arr = (str.split(",")).collect { |x| x.strip! }
puts arr.inspect
ただし、次の出力が生成されます。
1, hello,2
[nil, "hello", nil]
これらの「nil」を取得するのはなぜですか? 分割配列で .collect をすぐに実行できないのはなぜですか?
助けてくれてありがとう!