2013-08-02 88 views

回答

4

\n消失,因为print打印出来作为断行,这就是为什么你的结果如下:

["x = 2\n", "print \"2+2=\#{x+x}\"\n"] 
x = 2 

而不是:

["x = 2\n", "print \"2+2=\#{x+x}\"\n"]x = 2 

如果你想换行,以保留为\n您的输出,请使用inspect

lines = File.readlines("test.txt") 
print lines.inspect 
print "\n#{lines[0]}".inspect 
1

\n是换行符的转义序列,所以这就是打印的内容。如果您想打印实际字符串\n,请尝试\\n

0

\ n是表示新行的字符串转义序列。您的字符串在程序中存储为"x = 2\n",但输出程序会解析该字符串并相应显示。 \ n snit真的消失了,您的REPL也输出了新的一行。

编辑:如果您希望Ruby忽略字符串中的parsin \ n,请使用单引号而不是双引号。例如:print'x = 2 \ n'将按原样打印。

+0

我明白了。如果我想在打印行[0]时显示所有这些内容,请选择是否?像“x = 2 \ n” – Dreams

+0

看看我的编辑 –

0

在你设置的行变量中 File.readlines(“test.txt”)。 它的工作是通过\ n字符分割所有文本。行现在是一个由\ n字符分割的文本数组。这就是为什么\ n字符在您尝试打印时会消失。

相关问题