1
所以我有這段代碼把一些數字放到一個文本文件中。從文本文件中抽取隨機數
outFile = File.new("Demo.txt", "a+")
outFile.puts (1..5).map{ '%05d' % rand(00000..99999) }
outFile.close
puts File.read("Demo.txt")
我想知道我是否可以畫出一個已創建的隨機數。
所以我有這段代碼把一些數字放到一個文本文件中。從文本文件中抽取隨機數
outFile = File.new("Demo.txt", "a+")
outFile.puts (1..5).map{ '%05d' % rand(00000..99999) }
outFile.close
puts File.read("Demo.txt")
我想知道我是否可以畫出一個已創建的隨機數。
我下面做:
File.open("Demo.txt", "a+") do |file|
file.puts (1..5).map{ '%05d' % rand(00000..99999) }
end
# give you any random number from the file
puts File.readlines("Demo.txt").map(&:strip).sample
IO::readlines
會給你你的文件裏面"Demo.txt"
把所有的數字,作爲Array
。現在Array#sample
,將選擇一個隨機元素。
爲什麼我用IO::open
?閱讀下面相同的內容:
沒有關聯的塊,
IO.open
是::new
的同義詞。 如果給出了可選的代碼塊,它將作爲參數傳遞給io,並且當塊終止時,IO對象將自動變爲。在這種情況下,::open
返回該塊的值。
謝謝!這將幫助我很多:) – user3143672
只需將文件中的所有數字讀入數組,然後選擇該數組的隨機元素。 –
你可以粘貼你試圖解決它的代碼嗎? – BroiSatse
此問題似乎無關緊要,因爲它沒有顯示任何解決方案嘗試。 – BroiSatse