ruby – 多次调用函数并获得结果列表

栏目: Ruby · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/8793788/call-a-function-multiple-times-and-get-a-list-of-results

我想调用函数f 5次(例如)并获得结果列表.现在我有这个:

(1..5).to_a.map!{f}

注意:现在f是一个不接受任何输入并返回true或false的函数.所以当这个运行完成后,我得到一个包含5个真/假值的列表.

有没有更好的方法来使用其他内置函数(可能会减少?我有这个想法,但无法弄清楚如何使用它…)

5.times.collect { f }

(假设没有参数.map是收集的别名;我更喜欢实际收集时名称collect,因为它似乎更具沟通性,但是YMMV.)

我也喜欢更长的5次而不是(1..5).这似乎也更具沟通性:我不是真的“在范围内迭代”,我“做了五次”.

在这种情况下,IMO的答案有点反直觉,因为我并没有真正运行五次收集,但是收集5次{f}不起作用,所以无论如何我们都会玩一些心理游戏.

翻译自:https://stackoverflow.com/questions/8793788/call-a-function-multiple-times-and-get-a-list-of-results


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java 8函数式编程

Java 8函数式编程

[英] Richard Warburton / 王群锋 / 人民邮电出版社 / 2015-3 / 39.00元

通过每一章的练习快速掌握Java 8中的Lambda表达式 分析流、高级集合和其他Java 8类库的改进 利用多核CPU提高数据并发的性能 将现有代码库和库代码Lambda化 学习Lambda表达式单元测试和调试的实践解决方案 用Lambda表达式实现面向对象编程的SOLID原则 编写能有效执行消息传送和非阻塞I/O的并发应用一起来看看 《Java 8函数式编程》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具