下面是我的代碼當我嘗試打印出數組的元素時,爲什麼「 n」消失?
lines = File.readlines("test.txt")
print lines
print "\n#{lines[0]}"
結果表明
["x = 2\n", "print \"2+2=\#{x+x}\"\n"]
x = 2
爲什麼 「\ n」 消失的時候我嘗試打印線[0]?
下面是我的代碼當我嘗試打印出數組的元素時,爲什麼「 n」消失?
lines = File.readlines("test.txt")
print lines
print "\n#{lines[0]}"
結果表明
["x = 2\n", "print \"2+2=\#{x+x}\"\n"]
x = 2
爲什麼 「\ n」 消失的時候我嘗試打印線[0]?
\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
\n
是換行符的轉義序列,所以這就是打印的內容。如果您想打印實際字符串\n
,請嘗試\\n
。
\ n是表示新行的字符串轉義序列。您的字符串在程序中存儲爲"x = 2\n"
,但輸出程序會解析該字符串並相應顯示。 \ n snit真的消失了,您的REPL也輸出了新的一行。
編輯:如果您希望Ruby忽略字符串中的parsin \ n,請使用單引號而不是雙引號。例如:print'x = 2 \ n'將按原樣打印。
在你設置的行變量中 File.readlines(「test.txt」)。 它的工作是通過\ n字符分割所有文本。行現在是一個由\ n字符分割的文本數組。這就是爲什麼\ n字符在您嘗試打印時會消失。
我明白了。如果我想在打印行[0]時顯示所有這些內容,請選擇是否?像「x = 2 \ n」 – Dreams
看看我的編輯 –