我不确定我的语法在哪里错了,我不熟悉Ruby。
class someClass
def self.some_method(amount, some_array=[1,2,3,4])
if some_array.include?(amount)
return [amount]
end
else
some_array.sort
some_array.find_all{[d] d < amount}
end
end
some_array.sort
someArray.find_all{[d] d < amount}
end
end
我得到错误&#34;预期;或结束&#34;
syntax error, unexpected tIDENTIFIER, expecting '}' (SyntaxError)
@validValues = some_array.find_all{[d] d < amount}
我知道这可能是愚蠢的,我还不知道这种语言,但我只是不明白。
答案 0 :(得分:2)
someArray.find_all{|d| d < amount}
,end
声明之后的多余if
:
class SameClass
def self.some_method(amount, some_array = [1,2,3,4])
if some_array.include?(amount)
amount
else
some_array.sort
some_array.find_all { |d| d < amount }
end
end
end
然后,您可以使用此方法:
SameClass.some_method(1)
#=> 1
SameClass.some_method(5, [2,3,4])
#=> [2, 3, 4]
SameClass.some_method(5, [6,7,8])
#=> []