gpt4 book ai didi

Ruby:为以后定义命名一个方法?

转载 作者:数据小太阳 更新时间:2023-10-29 07:29:11 27 4
gpt4 key购买 nike

我正在尝试编写一个具有两种方法(TrySlotLookAtCut)的小型 ruby​​ 脚本。每个方法都需要能够调用另一个方法。当 ruby​​ 解析第一个方法时,它失败了,因为它不理解第二个方法的名称,因为我还没有定义它。

那么,我该如何告诉 ruby​​,有一个名为 TrySlot 的方法,我稍后会定义它,这样我就可以在我的 LookAtCut< 定义中调用 TrySlot/?

最佳答案

您遇到问题的原因是 Ruby 通常假定所有以大写字母开头的名称都是常量。但是,它还可以让您定义名称以大写字母开头的方法。发生的事情如下:

  • Ruby 看到 def LookAtCut并正确定义了一个名为 LookAtCut 的方法
  • 内部LookAtCut , Ruby 看到 TrySlot ,假定它是一个常量,尝试找到它并因错误而失败,因为它尚未定义。

解决方案是不要使用以大写字符开头的方法名称。然后,您可以在另一个方法中使用尚未定义的方法:

def a
b
end

def b
puts "Hello!"
end

a #=> "Hello!"

关于Ruby:为以后定义命名一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com