2012-11-06 54 views
2

我未能解決如何將空白字符打印並顯示爲我可以實際「看到」的內容。因此,例如,打印並顯示作爲字符的空白

x = "123\n" 
print x 

我想輸出是

123\n 

而不是

123 
. 

上面的 ''代表由'\ n'創建的新行。

回答

4
s = "abc\ndef" 

p s 
# >> "abc\ndef" 

# it's equivalent to 
puts s.inspect 
# >> "abc\ndef" 
+0

但是據我瞭解,OP一般提到「空白字符」。這需要實際用可見的東西替換它們並將其打印在屏幕上。或者有沒有現成的解決方案呢? –

+0

@BorisStitnicky:好吧,他們會以他們的ASCII格式打印出來。這使得它們非常醒目,不是嗎? :) –

+0

嗯,對不起,作爲一個noob,但它會工作,例如與薄空間,或不休息的空間人物等?我想嘗試一下('「參見這裏:7μM.s-1)',但我只是無法查看是否在'.'周圍輸入的空格字符和' :-)。無論如何,它是否也適用於這些?他們在Ruby中沒有轉義代碼,是嗎? –

4

你可以這樣做:

x = "123\n" 
p x 
#=> "123\n" 

這種方法在Kernel module被記錄在案。

-2
irb(main):003:0> x='123\n' 
=> "123\\n" 
irb(main):004:0> puts x 
123\n 

爲我工作。單引號字符串不轉義,而雙引號字符串轉義。爲了說明不同之處,我也把雙引號版本放在下面:

irb(main):001:0> x="123\n" 
=> "123\n" 
irb(main):002:0> puts x 
123 
=> nil 
+1

那麼,在你的字符串中沒有換行字符。這是不同的。 –

+0

你的第二個字符串確實包含一個換行字符。現在,你如何打印它? –

+0

@SergioTulentsev我的字符串都包含一個換行字符。 – hd1