【发布时间】:2016-06-03 19:08:12
【问题描述】:
我是 ruby 的超级新手,我正在尝试按照有关如何构建矩形的说明进行操作。我正在尽可能仔细地跟踪,我三次检查我是否输入正确。我什至重新输入了它。问题似乎到了最后。我的终端一直给我错误:shapes.rb:25: syntax error, unexpected end-of-input, expecting keyword_end
谁能帮帮我?我认为这可能是 1.upto 的问题,但我不确定。非常感谢!!
puts "Welcome to Shapes"
print "How big do you want your shape? "
shape_size = gets
shape_size = shape_size.chomp
print "Outside letter: "
outside_letter = gets
outside_letter = outside_letter.chomp
print " Inside Letter: "
inside_letter = gets
inside_letter = inside_letter.chomp
puts "About to draw a shape #{shape_size} big"
puts "using #{outside_letter} for the edge"
puts "and #{inside_letter} for the inside"
width = shape_size
height=shape_size
1.upto(height) do |row|
if row==1
puts outside_letter * width
elsif row==height
puts outside_letter * width
else
middle= inside_letter * (width-2)
puts
"#{outside_letter}#{middle}#{outside_letter}"
end
【问题讨论】:
-
您缺少
end的do -
在编程时您必须非常密切注意的第一件事是缩进。在这里您看不到问题,因为您没有正确缩进块。
-
我强烈推荐阅读catb.org/esr/faqs/smart-questions.html。我们不在乎您是否是新手,我们希望您进行研究,投入大量精力来解决问题,然后提出一个经过深思熟虑的问题。请参阅“How to Ask”,它也链接到上述链接。如果您的代码有问题,请另外阅读“minimal reproducible example”。如果您保持代码缩进,则更容易查看是否存在缺少块结尾或
}的问题,并且不会询问由语法错误引起的问题。 -
铁皮人,请不要无礼。我在一本书中跟随,这就是它的显示方式。我不知道还有其他人这样做,所以我去了一个论坛。如果您不想花时间回答我的问题,或者因为提出的问题而生气,请不要回答。就这么简单。
-
@brianslattery 感谢您花时间解释一些事情。我很感激!
标签: ruby-on-rails ruby