2013-08-02 91 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字符在您嘗試打印時會消失。

相關問題