期待:或;对于数组find_all

时间:2016-02-12 19:01:18

标签: arrays ruby

我不确定我的语法在哪里错了,我不熟悉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}

我知道这可能是愚蠢的,我还不知道这种语言,但我只是不明白。

1 个答案:

答案 0 :(得分:2)

{p> 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])
#=> []