2012-04-03 121 views
0

我想將控制檯上打印的內容作爲代碼中下一行中變量的值。 這可能與$標準輸出?如何將控制檯輸出值賦給Ruby中的某個變量?

說例如我在控制檯上打印一個解壓後的數組值。 現在我想用這個打印值作爲我的代碼的下一行的變量值。 例如puts "\nPageSize:\n#{c1}\n"打印7117這是一個單元陣列。現在我想將此打印值作爲整數分配給在puts "\nPageSize:\n#{c1}\n"下面的下一行代碼中的某個變量x。

+0

你應該真的開始閱讀Ruby的基本介紹。 – 2012-04-03 10:46:57

回答

0

您可以將這樣...........

intilize可變第一整型的

x = 0 

然後分配作爲

x = c1 

    or 

    x = arr[0] 

或者你想要.........

但是放置沒有返回任何東西,所以你不能指定打印值給某些變量。比你

使用一些變量,並將其值分配給另一個變量。

0

在IRB你可以使用一個特殊的下劃線變量獲得最後一個表達式的結果:

> 2 + 2 
> x = _ 
> 4 

但由於「看跌期權」返回nil,它不會工作。如果你避免投入,那麼它會起作用。

0

您通常無法讀回您寫入標準輸出的內容。你可能猴子補丁putsIO達到 - 但我想這不是你想要做的。

如果能夠打印的值,你可以和它分配給一個變量(實際上它已經存儲在c1[0]):

puts "\nPageSize:\n#{c1}\n" 
x = c1[0] # or c1.first 

或更好

x = c1[0] # or c1.first 
puts "\nPageSize:\n#{x}\n" 

什麼#{c1}插入字符串中的一部分會調用c1to_s將其轉換爲String並插入String。所以它將[7117]轉換爲"7117"