获取并保存输入信息
首先将一个提示字符串输出后(这里是命令行窗口),显然下一步就是获取一个字符串。正如你可能猜到的,Ruby 为此提供的是 gets
方法。2helloname.rb 这段程序提示用户输入他们的名字,假设输入的是 ‘Fred’,随后将显示一句问候语:”Hello Fred”。
2helloname.rb
print( 'Enter your name: ' )
name = gets()
puts( "Hello #{name}" )
虽然说这仍然非常地简单,但有一些重要的细节需要说明。首先,注意我输出提示的时候使用的是 print
方法而不是 puts
方法。这是因为 puts
方法会在末尾自动添加一个换行符,但 print
方法则不会;而当前我希望光标和提示能在同一行显示。
在下一行,当用户按下 Enter 键时,我使用 gets()
方法读取用户的输入并以字符串类型保存。该字符串会被赋值给 name
变量(variable)。我没有预先声明该变量,也没有指定它的类型。在 Ruby 中,你可以根据需要去创建变量,并且 Ruby 会自动去推断该变量的类型。现在我将一个字符串赋值给了 name
,因此 Ruby 推断 name
变量的类型一定是字符串(String)。
注意:Ruby 是大小写敏感的。一个名为
myvar
的变量和名为 myVar
的变量是不同的。一个和示例程序中 name
一样的变量,它的名字必须以小写字母开头(如果以大写字母开头,Ruby 会认为它是一个常量(constant),关于常量在后面的章节我会详细说明。)顺便说一下,gets()
方法的括号是可选的,它与 print
和 puts
方法用来包围字符串的括号是一样的,如果你移除了括号,仍然会得到相同的结果。但是,括号可以帮助你解决某些语义冲突,并且在某些情况下,如果你省略它们,解释器将会发出警告。