gpt4 book ai didi

ruby - 有没有{|x| x } ruby 的速记?

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:14 26 4
gpt4 key购买 nike

我经常使用 .group_by{ |x| x } .find{ |x| x

后者是在数组中找到第一项为真。
目前我只是在使用 .compact.first 但我觉得这里必须有一种优雅的方式来使用 find ,比如 find(&:to_bool) .find(true) 我错过了。
使用 .find(&:nil?) 有效,但与我想要的相反,我找不到与#find 或 #detect 相反的方法,或类似 # 的方法真的吗?

那么有没有更优雅的写法.find{ |x| x } ?如果没有,我会坚持使用 .compact.first
(我知道 compact 不会删除 false 但这对我来说不是问题,也请避免使用 rails 方法)

编辑:对于我的确切情况,它用于仅包含字符串和 nils 的数组,例如
[nil, "x", nil, nil, nil, nil, "y", nil, nil, nil, nil] => "x"

最佳答案

如果您不关心返回的内容,有时可以使用hash 方法。

然而,您要求的 Thw 功能在 Ruby 中尚不可用。它存在于 Ruby 路线图中:

https://bugs.ruby-lang.org/issues/6373

预计2035-12-25之前实现,可以等一下吗?

话虽如此,group_by{|x|x} 的输入量是多少?

编辑:

正如 Stefan 所指出的,自从引入 Object#itself 以来,我的回答现在对 Ruby 2.2 及更高版本不再有效。

关于ruby - 有没有{|x| x } ruby 的速记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21423203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com