我在上一堂有一大堆争论的课。我会有其他有类似论点的班级。
我不想重复输入所有的参数。我想做这样的事情:
argList = [arg1, arg2, arg3, ... arg100]
class myClass1
def initialize(*argList)
# ...
end
end
class myClass2
def initialize(*argList, extraArg1, ...)
# ...
end
end
但这不起作用,因为argList
的元素是未定义的变量。
那么,有没有办法将数组用作类参数呢?
1条答案
按热度按时间lyfkaqu11#
ArgList的元素在运行时不是未定义的。如果您注解掉该行,下面的代码运行得很好。
@Spickermann的评论仍然有效。任何方法都需要100个命名参数,这会很奇怪。您要传递的“参数”是什么,它只是您要处理的一组内容吗?在这种情况下,只需传入一个数组,而不是拆分数组。它们是表示某个复杂对象的参数吗?在这种情况下,您可能应该考虑创建对象,可能是一个组合对象,并将其传入。也许您想考虑传入一个Hash对象?