为了做一些奇怪的事情,可能会变成更有用的事情,我试图在一个自定义类上定义我自己的[]=操作符,你可以这样做,并让它返回一些不同于value参数的东西,这显然是你不能做的。[]=运算符的返回值始终为value;即使覆盖了该运算符,也无法控制返回值。class Weird puts "#{key}:#{value}" end
下面的片段 return x
(int(y) if y.is_integer() else y := expensive_function(x))SyntaxError: cannot use assignment expressions with conditional expression
不能用这种方式使用赋值表达式吗?如果不是的话,我<