代码之家  ›  专栏  ›  技术社区  ›  Denny Mueller

方法名中的Ruby和integer

  •  2
  • Denny Mueller  · 技术社区  · 6 年前

    def 51_bic
    end
    

    这是错误的,如语法高亮显示的颜色所示。代码也会失败 trailing `_' in number (SyntaxError) .

    使用 bic_51 工作得很好。但这是为什么?我不能用的事实的本质是什么 integer + underscore + string ? 我的理解是 def

    1 回复  |  直到 6 年前
        1
  •  5
  •   Sergio Tulentsev    6 年前

    标识符中可以有数字,但不能 开始 一个数字。在大多数编程语言中(我听说过)都是这样。

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

    因为如果您允许标识符以数字开头,那么您必须要求它们在后面包含一个字母(以将它们与数字区分开来)。现在,好好想想。想象一下你 可以

    0xa0 + 0b10_100 + 3_456