ruby - 没有 block 的更简洁的 max/min 版本

标签 ruby

我通常做['abc', 'defg'].max{|a, b| a.length <=> b.length} , 但这似乎需要大量额外的输入来比较两个对象上相同方法的结果。

有没有更简洁的方法,做类似['abc', 'defg'].max(:length)的事情? , 哪个会在每个对象上运行给定的方法进行比较?

最佳答案

['abcd', 'def'].max_by &:length

关于ruby - 没有 block 的更简洁的 max/min 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087717/

相关文章:

ruby-on-rails - 特定格式的单个数组中的 foreach 元素

ruby-on-rails - Ruby on Rails 将列表拆分或切片为列

ruby-on-rails - rails 属性名称驼峰式问题

python - Ruby on Rails 是否与 Google Code API 配合得很好?

Ruby 脚本,存储 API 登录信息的最佳方法?

ruby-on-rails - 为什么 foreign_key 被忽略了?

ruby-on-rails - Rails Active Job 使用,或使用 Rails 自动运行观察线程

ruby-on-rails - 下拉列表选项值为空

ruby - 提取电话号码并重新格式化的更好方法?

python - 从 Python 学习 Ruby;异同