繁体   English   中英

Ruby类中的未定义方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM