我試圖在Ruby中打印這個數組。輸出I得到的是3行這樣的:在ruby中打印數組
#Lod:0x0000000002690170>
如果我使用檢查我得到這樣的:
@ lodnr = 「10000」,@ lobnr =」 150"等等。
這裏是我的代碼
class Lod
attr_accessor :lodnr
attr_accessor :lobnr
attr_accessor :stknr
def initialize(lodnr, lobnr, stknr)
@lodnr = lodnr
@lobnr = lobnr
@stknr = stknr.chomp
end
$sold = Array.new
input = File.open("lodsedler.txt", "r")
input.each do |line|
l = line.split(',')
$sold << Lod.new(l[0], l[1], l[2])
end
puts $sold
end
輸入文件看起來像這樣
10000, 150, 5
500, 10, 1
8000, 171, 3
那麼它不出來一樣,在我的電腦,還在說 [#<羅德:0x26d8fa0 @ lodnr = 「10000」,@ lobnr = 「ldnr =」8000「,@ stknr =」5「>,#,#] –
Christian
您是否複製我的代碼並用我的代碼嘗試過?我想你在課堂外定義了'to_s'。你使用哪個Ruby版本?如果你還定義了像to_s這樣的「檢查」方法會發生什麼? – knut
我只是試着複製你的代碼並運行它。輸出仍然是[#Lod:0x000000002353138 @ lodnr =「10000」,@ lobnr =「150」,@ stknr =「5」>,#
Christian