- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
在 Ruby 1.8.7 中,Array("hello\nhello")
为您提供 ["hello\n", "hello"]
。这做了两件我不期望的事情:
它在换行处拆分字符串。我希望它只是给我一个数组,其中包含我传入的字符串作为其单个元素,而不修改我传入的数据。
即使您承认在将字符串传递给 Array 时拆分字符串是合理的,为什么它保留换行符而 "foo\nbar".split
不保留换行符?
另外:
>> Array.[] "foo\nbar"
=> ["foo\nbar"]
>> Array.[] *"foo\nbar"
=> ["foo\n", "bar"]
最佳答案
It splits the string on newlines. I'd expect it simply to give me an array with the string I pass in as its single element without modifying the data I pass in.
这是一个和其他任何约定一样好的约定。例如,Python 中的 list
构造函数做了完全不同的事情:
>>> list("foo")
['f', 'o', 'o']
只要它是一致的,我就看不到问题。
Even if you accept that it's reasonable to split a string when passing it to Array, why does it retain the newline character when
"foo\nbar".split
does not?
我的大胆猜测(由快速谷歌搜索和 TryRuby 支持)是字符串的 .split
方法这样做是为了使其成为 .join< 的“反向”操作
数组的方法。
>> "foospambar".split("spam").join("spam")
=> "foospambar"
顺便说一下,我无法在 TryRuby 上复制你的行为:
>> x = Array("foo\nbar")
=> ["foo\nbar"]
>> Array.[] *"foo\nbar"
=> ["foo\nbar"]
关于ruby - 为什么在 Ruby 中,Array ("foo\nbar") == ["foo\n", "bar"]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027952/
到目前为止,我只对文件进行简单的日志记录,如果我记录多行字符串,那么结果如下所示: 发出日志: logging.info('foo\nbar') 日志文件: 2018-03-05 10:51:53 r
在 Ruby 1.8.7 中,Array("hello\nhello") 为您提供 ["hello\n", "hello"]。这做了两件我不期望的事情: 它在换行处拆分字符串。我希望它只是给我一个数组
我是一名优秀的程序员,十分优秀!