Ruby 最小最大赋值运算符

标签 ruby variable-assignment max assignment-operator min

在编写 ruby​​ 程序时,我总是发现自己这样做:

a = [a, b].min

这意味着比较ab并将最小值存储在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/

相关文章:

ruby-on-rails - Spork 配置错误? : `require' : no such file to load

ruby - 有没有办法表达 'infinite time' ?

ruby-on-rails - Ubuntu 新更新后 rvm 的 Ruby 安装问题

bash - 我如何结合 "default assignment"并转换为小写?

sql - 如何在 count() 之后选择最大值 |甲骨文

ruby - 所有服务都可以通过 Azure SDK for ruby​​ 配置

objective-c - 为什么运行时允许将数组中的 NSDictionary 赋值给 NSString 变量?

python - 动态全局变量赋值

prolog - 在序言中查找列表中的最大整数

matlab - 在 MATLAB 中计算向量元素之间的最大距离