简体   繁体   English

Noil:NilClass中的gets.chomp的NoMethodError

[英]NoMethodError for gets.chomp in nil:NilClass

I am currently learning Ruby and I wrote a very simple program to practice, and tried to run it using TextWrangler's #! 我目前正在学习Ruby,我编写了一个非常简单的程序进行练习,并尝试使用TextWrangler的#! function. 功能。

    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}"

I tried to check if there were any syntax errors, but there apparently where none. 我试图检查是否有语法错误,但显然没有。 However, when I tried running it the following chunk of text was returned: 但是,当我尝试运行它时,返回了以下文本块:

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

Would using .to_i instead of Integer() help? 使用.to_i代替Integer()会有所帮助吗?

Your code works like the way it is with Ruby 2.2.0 and most likely TextWrangler can't handle interactive input on its own. 您的代码的工作方式与Ruby 2.2.0相同,并且很可能TextWrangler无法独自处理交互式输入。 Try doing this in your terminal or find some TextWrangler package that could help you. 尝试在终端上执行此操作,或者找到一些可以帮助您的TextWrangler软件包。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM