Я создаю CLI, и у меня работает базовая функциональность c, но на моем втором слое, когда он должен отображать информацию об объекте, который был извлечен из API, я получаю ошибку переменной / метода, мне интересно если это происходит из-за разрыва соединения после выбора объекта, то нет ключа покемона для отображения в га sh покемона?
Ниже приведена ошибка, затем файл API, за которым следует соответствующий метод / переменная.
PokeDEX-CLI/lib/PokeDEX_CLI/cli.rb:47:in `sub_menu_input': undefined local variable or method `pokemon' for #<PokeDEXCLI::CLI:0x00007f9d14424f88> (NameError)
Did you mean? list_pokemon
BASE_URL = "https://pokeapi.co"
def self.get_all_pokemon(page=nil)
if page
response = RestClient.get(page)
else
response = RestClient.get("https://pokeapi.co/api/v2/pokemon?limit=151")
end
pokemon_array = JSON.parse(response.body)["results"]
#binding.pry
pokemon_array.each do |pokemon|
PokeDEXCLI::Pokemon.new(pokemon)
end
end
end
def sub_menu_input
user_input = gets.strip
if user_input.to_i.between?(1, PokeDEXCLI::Pokemon.all.length)
character = PokeDEXCLI::Pokemon.all[user_input.to_i - 1]
print_pokemon_details(pokemon)
continue?
elsif user_input.downcase == "exit"
goodbye
else
invalid_choice
sub_menu_options
end
end
def print_pokemon_details(pokemon)
puts "Name: #{pokemon.name}"
puts "Number: #{pokemon.id}"
puts "Types: #{pokemon.types}"
end