这里的初学者问题, 这是我正在建立的一个小程序。不是把所有东西都放在那里,而是放在最后。
我不太明白为什么我需要在结尾声明我的“开始”功能 ,然后再次再次调用它。背后的逻辑是什么?
我的第一个猜测是,在允许我的“start”函数触发事件之前,需要首先解释整个代码。
然而,我无法弄清楚为什么我需要在之后立即调用它。
希望我足够清楚。
感谢您的帮助!
def start
puts "1. I want to be Solid Snake"
puts "2. I want to be Aragorn"
print "> "
choice = $stdin.gets.chomp
if choice == "1"
snake
elsif choice == "2"
aragorn
else
puts "Oops, you can only choose between 1 and 2, try again."
end
end
start
答案 0 :(得分:2)
我相信这应该回答你的问题:https://stackoverflow.com/a/5744352/1368554
总而言之,函数定义是按照它们在脚本中出现的顺序执行的语句。如果您在start
前面移动def start
,则ruby将无法了解该函数并导致未解析的符号。