加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 03:02:25 所属栏目:百科 来源:网络整理
导读:我正在尝试编写一个小的 ruby脚本,它将有两个方法(TrySlot和LookAtCut).每种方法都需要能够调用另一种方法.当ruby解析第一个方法时,它会失败,因为它不理解第二个方法的名称,因为我还没有定义它. 那么,我如何告诉ruby,我将稍后定义一个名为TrySlot的方法,以便
我正在尝试编写一个小的 ruby脚本,它将有两个方法(TrySlot和LookAtCut).每种方法都需要能够调用另一种方法.当ruby解析第一个方法时,它会失败,因为它不理解第二个方法的名称,因为我还没有定义它.

那么,我如何告诉ruby,我将稍后定义一个名为TrySlot的方法,以便在LookAtCut的定义中调用TrySlot?

解决方法

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

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

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

def a
  b
end

def b
  puts "Hello!"
end

a #=>?"Hello!"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读