nil:NilClass 中 gets.chomp 的 NoMethodError

NoMethodError for gets.chomp in nil:NilClass

我目前正在学习 Ruby 并且我编写了一个非常简单的程序来练习,并尝试 运行 使用 TextWrangler 的 #!功能。

    print "Number: "
    number = Integer(gets.chomp)

    puts ""

    print "Percentage: "
    percentage = Integer(gets.chomp)

    number_onepercent = number / 100

    number_percentage = percentage * number_onepercent

    puts "#{percentage}% of #{number} is #{number_percentage}"

我试图检查是否有任何语法错误,但显然 none 在哪里。 但是,当我尝试 运行ning 它时,返回了以下文本块:

    Number: 
    untitled text:2:in `<main>': undefined method `chomp' for nil:NilClass (NoMethodError)

使用 .to_i 代替 Integer() 会有帮助吗?

您的代码与 Ruby 2.2.0 的工作方式相同,很可能 TextWrangler 无法自行处理交互式输入。尝试在您的终端中执行此操作或找到一些可以帮助您的 TextWrangler 包。