我试图在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