我可以覆盖`。`来指向数组的索引吗?

.表示将.解释为float而不是整数。

我可以覆盖.让它将索引指向一个数组,以便以下内容有效吗?

 c = [1, 2, 3, 4, 5, 6] c.0 # => 1 c.3 # => 4 

不可以。方法名称不能以Ruby中的数字开头。 有关Ruby方法名称限制的更多信息。

不,你不能。 这是浮点数的字面表达式的一部分。 它不是方法调用。 它不是在Ruby语法级别完成的。

正如其他答案已经说明的那样,不可能将数字覆盖为方法,但您可以使用括号表示空方法。

 class Array def method_missing(m ,*args, &block) # m will be 'call' self[args[0]] if args[0].is_a?(Fixnum) end end irb(main):009:0> [1,2,3,4,5].(0) => 1 irb(main):010:0> [1,2,3,4,5].(2) => 3