Проблема в том, что вы дважды щелкаете файл example.rb
, который открывается в cmd.exe
, а затем автоматически закрывается, когда он завершается, выполняя example.rb
.Это нормальное поведение для Windows: cmd.exe
автоматически закрывается после запуска любого приложения, которое его вызвало.
Вместо этого вы хотите вручную открыть командную строку (cmd.exe
), а затем запустить приложение с помощью ruby example.rb
.Это будет держать cmd.exe
открытым после завершения работы вашего приложения, потому что cmd.exe
не было вызвано вашим приложением;он был вызван вами вручную.
Это позволит вам увидеть вывод Your number is:
после завершения работы приложения.Этот вывод все еще печатается, когда вы дважды щелкаете example.rb
, но окно закрывается так быстро, что вы его не видите.
Кроме того, в вашем приложении есть ошибки.В частности, вы пытаетесь вызвать square(number)
, когда вам следует звонить squared(number)
.
Вот ваш код, который немного очищен:
puts 'Hello there! Please enter a number to square: '
number = gets.chomp.to_i
def squared(number)
number * number
end
puts "Your number is: #{number}"
puts "Your number squared is: #{squared(number)}"
Обратите внимание на использование одиночногокавычки для строк, которые не включают строковую интерполяцию , неявный возврат для метода squared
и строковую интерполяцию для вызовов puts
.