2016-09-04 2 views
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: инстанцировании «СКЛС (Array (Int32)) '
в строке 5: неопределенный метод' [] 'для Int32

Похоже, что «если» не принимается во внимание. Как я могу устранить эту ошибку?

+2

Не могли бы вы ознакомиться с документацией о Crystal Syntax? – Furtiro

ответ

1

В lst.map{|a| a[1]}, lst является Array(Int32), так что это aInt32 и Int32 не имеет метод []. В Ruby Fixnum есть метод [], чтобы вернуть 1, если бит в этом положении установлен. Я не знаю, хотите ли вы это сделать. Если это так, используйте метод bit.

Смежные вопросы