如何阻止程序退出?

时间:2014-08-21 01:11:54

标签: ruby

我的问题是关于Ruby和Ruby程序的编程语言。

使用此代码后:

print "What's your first name?" 
first_name = gets.chomp
first_name.capitalize!

print "What's your last name?" 
last_name = gets.chomp
last_name.capitalize!

print "What city are you from?" 
city = gets.chomp
city.capitalize!

print "What state or province are you from?" 
state = gets.chomp
state.upcase!

print "Your name is #{first_name} #{last_name} and you're from #{city}, #{state}!"

程序询问州或省后我输入一个值,程序会自动退出。

我正在使用RubyInstaller for Windows(版本Ruby 1.9.3-p545)。 我使用Notepad ++键入代码并将其保存在Ruby .rb扩展名下。

我通过双击保存它的文件来运行程序。

谢谢! :)

5 个答案:

答案 0 :(得分:6)

一种简单的方法是在最后添加:

puts "Press RETURN when you're done."
gets

答案 1 :(得分:1)

嗯,程序的结尾,此时没有其他用户问题需要回答。那么在你询问州/省并向你重复数据后,你希望你的程序做什么?

您可能希望将print更改为puts

编辑:正如Michael和Leo在评论中所说,如果你通过双击Windows中的文件来启动你的程序,它将打开一个终端,运行你的程序,并在程序完成后立即关闭终端。程序 在句子中用句子中的值重复信息;但在Windows关闭程序的终端之前,该信息仅在一瞬间显示在屏幕上。 Leo和Michael各自建议一种方式(从终端运行或插入sleep语句);另一种类似于Leo的方式是在最后有另一个gets,并要求用户在完成阅读时按Enter键。

答案 2 :(得分:0)

你试过命令运行

吗?
irb code.rb

假设您的文件名是code.rb

同样建议尝试puts而不是print

答案 3 :(得分:0)

无限循环仍然有效

while true
  'something'
end

答案 4 :(得分:-1)

打印"你的名字是什么?" 如first_name = gets.chomp first_name.capitalize!

打印"你的姓氏是什么?" 姓氏= gets.chomp last_name.capitalize!

print"你来自哪个城市?" 城市= gets.chomp city.capitalize!

print"你来自哪个州?" 状态= gets.chomp state.upcase!

put"你的名字是#{first_name},你的姓氏是#{last_name},你来自#{city},#{state}!"

作品