我刚开始学习Ruby。我正在创建一个简单的程序,我仍然不确定如何使用它。这是我的代码:
=begin
Filename: GameCompanyPoem.rb
Program Name: Poem Generator
Version 1.0
Created: March 7th, 2013
Purpose: To generate a poem based on key words given by the user
=end
print 'The following program will ask you to input words. Based on the words you input it will generate a poem. Now, please enter a name. '
name = gets.chomp
print 'Please enter a mammal. '
mammal = gets.chomp
print 'Now please enter a colour. '
colour1 = gets.chomp
print 'We are almost done! Please enter a place or location now. '
place = gets.chomp
print 'Now enter a verb. '
verb1 = gets.chomp
print 'And another verb. '
verb2 = gets.chomp
print 'Your poem will now be generated. Press enter to continue.
space = gets.chomp
print 'Someone by the name of ' + name + 'had a little' + mammal + ', little ' + mammal + ', little ' + mammal + ',' + name + 'had a little ' + mammal + 'its fleece was' + colour + 'as snow. It followed her to ' + place + 'one day, ' + place + 'one day, ' + place + 'one day, it made the children ' + verb1 + 'and ' + verb2 + 'to see a ' + mammal + 'at' + place + '."'
当我运行它时,最后一个方法(打印)中的每个空格都有这个错误:
意外的tIDENtifier,期待$ end
在每个空间,如果我填写它然后它已经消失但它会进入下一个空间
答案 0 :(得分:2)
许多语言中的一个漂亮技巧,包括Ruby称为插值
print "Someone by the name of #{name} had a little #{mammal}, little #{mammal}, little #{mammal}, had a little #{mammal} its fleece was #{colour} as snow. It followed her to #{place} one day, #{place} one day, #{place} one day, it made the children #{verb1} and #{verb2} to see a #{mammal} at #{place}."
嗯,它可能不再押韵了。
还有更多内容。查看Ruby Interpolation了解详细信息。但基本上ruby会遇到#{something},它会将其替换为某种结果。
print "1 + 2 = #{1 + 2}"
将打印
1 + 2 = 3
答案 1 :(得分:1)
尝试:
print 'Your poem will now be generated. Press enter to continue.'
print 'Someone by the name of ' + name + 'had a little' + mammal + ', little ' + mammal + ', little ' + mammal + ',' + name + 'had a little ' + mammal + 'its fleece was' + colour1 + 'as snow. It followed her to ' + place + 'one day, ' + place + 'one day, ' + place + 'one day, it made the children ' + verb1 + 'and ' + verb2 + 'to see a ' + mammal + 'at' + place + '.'