为什么这段代码不起作用:
"hello \nworld".each_line(separator = '\n') {|s| p s}
Run Code Online (Sandbox Code Playgroud)
这有效吗?
"hello \nworld".each_line(separator = $/) {|s| p s}
Run Code Online (Sandbox Code Playgroud)
一个10秒的谷歌得出这个:
$/ is the input record separator, newline by default.
Run Code Online (Sandbox Code Playgroud)
第一个不起作用,因为你使用单引号.单引号字符串中将忽略反斜杠转义序列.改为使用双引号:
"hello \nworld".each_line(separator = "\n") {|s| p s}
Run Code Online (Sandbox Code Playgroud)
首先,换行是默认值.所有你需要的是
"hello \nworld".each_line {|s| p s}
Run Code Online (Sandbox Code Playgroud)
其次,单引号的行为与双引号不同.'\n'表示字母反斜杠后跟字母n,而"\n"表示换行符.
最后,特殊变量$ /是默认情况下为"\n"的记录分隔符,这就是您不需要在上面的示例中指定分隔符的原因.
| 归档时间: |
|
| 查看次数: |
3066 次 |
| 最近记录: |