0

我有以下功能

def fcn(lst)
  if (lst.size == 0) 
      return [] of Int32
  end
  lc = lst.map{|a| a[1]}
end

做的时候:

lst = [] of Int32
puts(fcn(lst))

我得到:

第 8 行出错:在第 5 行实例化“fcn(Array(Int32))”
:Int32 的未定义方法“[]”

似乎没有考虑“如果”。如何解决此错误?

4

1 回答 1

1

lst.map{|a| a[1]}, lstis Array(Int32), so ais Int32, 并且Int32没有[]方法。在 Ruby Fixnum 中确实有[]方法,如果设置了该位置的位,则返回 1。我不知道这是否是你想要做的。如果是这样,请使用该bit方法。

于 2016-09-12T19:41:42.103 回答