我想將控制檯上打印的內容作爲代碼中下一行中變量的值。 這可能與$標準輸出?如何將控制檯輸出值賦給Ruby中的某個變量?
說例如我在控制檯上打印一個解壓後的數組值。 現在我想用這個打印值作爲我的代碼的下一行的變量值。 例如puts "\nPageSize:\n#{c1}\n"
打印7117這是一個單元陣列。現在我想將此打印值作爲整數分配給在puts "\nPageSize:\n#{c1}\n"
下面的下一行代碼中的某個變量x。
我想將控制檯上打印的內容作爲代碼中下一行中變量的值。 這可能與$標準輸出?如何將控制檯輸出值賦給Ruby中的某個變量?
說例如我在控制檯上打印一個解壓後的數組值。 現在我想用這個打印值作爲我的代碼的下一行的變量值。 例如puts "\nPageSize:\n#{c1}\n"
打印7117這是一個單元陣列。現在我想將此打印值作爲整數分配給在puts "\nPageSize:\n#{c1}\n"
下面的下一行代碼中的某個變量x。
您可以將這樣...........
intilize可變第一整型的
x = 0
然後分配作爲
x = c1
or
x = arr[0]
或者你想要.........
但是放置沒有返回任何東西,所以你不能指定打印值給某些變量。比你
使用一些變量,並將其值分配給另一個變量。
在IRB你可以使用一個特殊的下劃線變量獲得最後一個表達式的結果:
> 2 + 2
> x = _
> 4
但由於「看跌期權」返回nil,它不會工作。如果你避免投入,那麼它會起作用。
您通常無法讀回您寫入標準輸出的內容。你可能猴子補丁puts
或IO
達到 - 但我想這不是你想要做的。
如果能夠打印的值,你可以和它分配給一個變量(實際上它已經存儲在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}
插入字符串中的一部分會調用c1
的to_s
將其轉換爲String
並插入String
。所以它將[7117]
轉換爲"7117"
。
你應該真的開始閱讀Ruby的基本介紹。 – 2012-04-03 10:46:57