在Ruby 1.8.7中,Array("hello\nhello")
给你["hello\n", "hello"]
。这是我不期望的两件事:为什么在Ruby中,Array(“foo nbar”)== [“foo n”,“bar”]?
它拆分换行符上的字符串。我希望它只是给我一个数组,其中包含我传入的字符串作为其单个元素,而不修改我传入的数据。
即使您接受将字符串传递给Array时合理分割字符串为什么在
"foo\nbar".split
不保留换行符?
此外:
>> Array.[] "foo\nbar"
=> ["foo\nbar"]
>> Array.[] *"foo\nbar"
=> ["foo\n", "bar"]
FWIW,这不再是真实的1.9.1。根本没有分裂。 – 2010-06-12 08:13:33
Yay为了向后兼容:)(尽管Ruby的策略可能是在小的版本号变化上打破它,而不是主要的。再一次,任何约定都是好的,比任何其他约好。) – badp 2010-06-12 08:25:04
我想这个所以你可以写'Array(File.read(filename))',并且它会给你一个你想象中的(unchomped)行数组。 – 2010-06-12 11:20:30