Ruby:否定哈希传递给proc?

金勋杰弗里·邦

在ruby中,以下表达式:x.filter {|n| n.even?}也可以写为:x.filter(&:even?)因此,我想知道如何编写该表达式?x.filter {|n| !n.even?}不使用odd?方法

smefju

正如Sam和Engineerskmnky在以下问题的评论中所说,不可能x.filter { |n| !n.even? }直接执行操作(实际上是在该块内执行两次操作)。

我想这只是一个简单的示例,而不是真实的代码,因此,如果您拥有的方法没有反向的方法,并且您不想创建一个方法,则可以按以下方式创建lambda或proc:

not_even = -> (n) { !n.even? }

然后在过滤器上将其称为:

x.filter(&not_even)

您也可以使用reject应该给您相同结果的方法,而无需使用lambda。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby将哈希传递给类变量

来自分类Dev

在Ruby on Rails中将哈希传递给create动作

来自分类Dev

Ruby on Rails 4-表单助手未将参数哈希传递给控制器

来自分类Dev

如何在将哈希作为参数传递给 ruby 方法时设置默认值?

来自分类Dev

在Ruby中将proc调用为哈希键

来自分类Dev

将哈希传递给Powershell函数问题

来自分类Dev

PowerShell - 将哈希表传递给函数

来自分类Dev

将列表传递给proc tcl

来自分类Dev

在 Ruby 中将哈希作为参数传递

来自分类Dev

是否可以将堆栈,队列或哈希表传递给Intent?

来自分类Dev

Perl将哈希数组传递给子对象

来自分类Dev

将哈希传递给接受关键字参数的函数

来自分类Dev

将哈希表作为参数传递给PowerShell中的函数

来自分类Dev

将参数传递给unordered_map(或设置)的哈希结构

来自分类Dev

将Rails哈希图传递给Controller(来自表单)

来自分类Dev

Perl:如何访问传递给子例程的哈希数组

来自分类Dev

从 Hiera 检索特定的哈希块并传递给定义

来自分类Dev

将哈希传递给 Capybara 选择器

来自分类Dev

Ruby on Rails:将值传递给模型

来自分类Dev

将Ruby块传递给Java方法

来自分类Dev

将多个Applescript变量传递给Ruby

来自分类Dev

Ruby / Rails。将变量传递给参数

来自分类Dev

将Ruby块传递给Java方法

来自分类Dev

Ruby on Rails:将值传递给模型

来自分类Dev

在Rails上将参数传递给url -ruby

来自分类Dev

Ruby on Rails:将参数传递给视图

来自分类Dev

将数组传递给Ruby函数

来自分类Dev

将 Ruby 数组元素传递给方法

来自分类Dev

Ruby 将参数传递给方法