Nie można zmienić ciągów znaków na int w `[]`

W ruby ​​próbuję przekonwertować String na Int w operator '[]' Ale zawiodło. Oto kod (moje dane są14 45):

STDIN.gets.split(/\s+/).each do |str|
    book = tags[str.to_i]     # book is just a new variable.  tags is an array 
end

rubin zatrzyma się z błędem:in '[]': no implicit conversion of String into Integer (TypeError)

Zmieniam więc mój kod na następujący (ten działa dobrze.):

STDIN.gets.split(/\s+/).each do |str|
  number = str.to_i     # for converting
  book = tags[number]
end

Ten działa dobrze. Ale muszę dodać jeszcze jedną linię do konwersji. Czy istnieje dobry sposób na uniknięcie tej linii? moja wersja ruby ​​to:$: ruby --version ==> ruby 2.0.0p0 (2013-02-24 revision39474) [i686-linux]

Cześć chłopaki, pozwólcie mi WIEDZIEĆ, dlaczego nadal chcecie zamknąć ten temat. DZIĘKI.

questionAnswers(1)

yourAnswerToTheQuestion