gpt4 book ai didi

ruby-on-rails - 在我的 Ruby 代码中,为什么我的字符串中的变量会产生一个新行?

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:46 24 4
gpt4 key购买 nike

好吧,这是我第一天学习,我试图用 Ruby 创建一个非常基本的问卷。

例如,这将是我的代码:

print "What is your name? "
name = gets
puts "Hello #{name}, Welcome."

print "What year were you born in?"
year = 2014
year1 = gets.chomp.to_i
year2 = year-year1
puts "Ok. If you were born in #{year1}, then you are probably #{year2} years old."

现在,如果我输入“Joe”作为我的名字,“1989”作为我的生日,它会给我以下几行...

Hello Joe
, Welcome.

Ok. If you were born in 1989, then you are probably 25 years old.

我真的很困惑这两个字符串有什么不同。

最佳答案

您处理用户输入的年份的方式是正确的。当他们在提示符下键入“Joe”时,字符串值“Joe\n”将分配给 name 变量。要从字符串末尾去除换行符,请使用 chomp 方法。这会将行更改为 name = gets.chomp

您可能还想将输入显式转换为字符串。如果用户使用 control-D 结束输入,gets 将返回 nil 而不是空字符串,然后您将得到一个 NoMethodError当你在上面调用 chomp 时。最终代码将是 name = gets.to_s.chomp

关于ruby-on-rails - 在我的 Ruby 代码中,为什么我的字符串中的变量会产生一个新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27326983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com