[英]Undefined methods in Ruby class
我正在尝试编写一个Die类,该类的侧面带有一个标签数组,而我首先只想查找侧面的长度(传入的数组的长度(在我的示例中,只是传入['A','B',C']
如果我传入一个空数组,则要引发ArgumentError。 出于某种原因,当我使用@ labels.length时,出现一条错误消息:[[A],“ B”,“ C”]:Array(NoMethodError)的未定义方法`length ='
我试过使用其他常见的数组方法,结果相同。 我需要在课堂上重新定义length方法吗? 任何帮助将非常感激! 这是我的代码。.我知道它不是很完整,但是
class Die
def initialize(labels)
@labels = [].push(labels).flatten
if @labels.length = 0
raise ArgumentError.new ("You can't use an empty array!")
end
def sides
@labels
end
def roll
p rand(@labels[0]..@lables[labels.length-1])
end
end
end
die = Die.new(['A','B','C'])
p die.roll
@labels.length = 0
应该
@labels.length == 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.