方法名称中的Ruby和整数

时间:2018-08-13 13:44:13

标签: ruby

我必须根据一些外部文档的索引号来命名方法:

def 51_bic
end

这是错误的,如语法突出显示的颜色所示。并且代码也以trailing `_' in number (SyntaxError)失败。

使用bic_51很好。但是为什么呢?我不能使用integer + underscore + string的事实的本质是什么?我的理解是,def之后的所有内容都只是一个方法名称(如字符串)。

1 个答案:

答案 0 :(得分:5)

标识符中可以包含数字,但不能开头。大多数编程语言(我听说过)就是这种情况。

  

我不能使用整数+下划线+字符串的问题的本质是什么?

因为如果允许标识符以数字开头,则必须强制其后跟一个字母(以将它们与数字区分开)。现在,值得深思。假设您可以以数字开头的标识符。其中哪些是方法调用,局部变量,哪些是数字文字?

0xa0 + 0b10_100 + 3_456