在编写 ruby 程序时,我总是发现自己这样做:
a = [a, b].min
这意味着比较a
和b
并将最小值存储在a
中。我不喜欢写上面的代码,因为我必须写两次 a
。
我知道一些非标准的 C++ 方言有一个运算符正是这样做的
a <?= b
我觉得这很方便。但我对运算符的兴趣不如对避免重复的特性 感兴趣。如果我会写我也会很高兴
a.keep_max(b)
a
可以是一个很长的变量,例如 my_array[indice1][indice2]
,您不想写两次。
我在谷歌上搜索了很多,但没有找到任何结果,希望这个问题会出现并且对其他人也有用。
那么,在ruby中有什么不重复的表达方式吗?
最佳答案
你想做的事实际上在 ruby ( see this question ) 中是不可能的。我认为你能做的最好的事情是
def max(*args)
args.max
end
a = max a, b
关于Ruby 最小最大赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129247/