gpt4 book ai didi

Ruby 一行代码,中断一个 block

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:28 24 4
gpt4 key购买 nike

我正在尝试编写一行代码来告诉我数组中是否有一个元素满足一组条件,然后在 true 时中断。

例如

我有 [1,2,3,4,5,6,7,8,9,10,11,12] 并且我想找到第一个可以被 2 整除的元素和 3. 我想写一个单行代码,一旦它达到 6 就会返回 true 并且不处理数组中的剩余元素。

我可以为每个循环和中断编写一个,但我觉得应该有一种方法可以在一行代码中做到这一点。

最佳答案

any? :

[1,2,3,4,5,6,7,8,9,10,11,12].any?{|e| e % 2 == 0 && e % 3 == 0}

或者您可以将它与 all? 结合使用并有一个很好的教程示例:

[1,2,3,4,5,6,7,8,9,10,11,12].any?{|e| [2, 3].all?{|d| e % d == 0}}

如果您确实需要返回第一个匹配元素,请使用find:

[1,2,3,4,5,6,7,8,9,10,11,12].find{|e| [2,3].all?{|d| e % d == 0}}
# => 6

关于Ruby 一行代码,中断一个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247413/

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