为什么需要在最后声明一个启动函数[RUBY]?

时间:2016-11-15 09:15:29

标签: ruby

这里的初学者问题, 这是我正在建立的一个小程序。不是把所有东西都放在那里,而是放在最后。

我不太明白为什么我需要在结尾声明我的“开始”功能 ,然后再次再次调用它。背后的逻辑是什么?

我的第一个猜测是,在允许我的“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

1 个答案:

答案 0 :(得分:2)

我相信这应该回答你的问题:https://stackoverflow.com/a/5744352/1368554

总而言之,函数定义是按照它们在脚本中出现的顺序执行的语句。如果您在start前面移动def start,则ruby将无法了解该函数并导致未解析的符号。