【发布时间】:2022-01-22 08:06:23
【问题描述】:
类似于在 Ruby 中你可以做的事情
[1, 2, 3].each.with_index { |num, index| }
我想链接它来添加对顶级数组的引用,而不必在块之前将所述数组分配给不同的变量,如下所示:
[1, 2, 3].each.with_index.with_self { |num, index, array| }
是否存在这样的方法,或者除了拥有顶级变量集之外的任何替代方法?
我的具体案例是一个 Ruby 脚本,我想尽可能多地打高尔夫球。 我有一个带行的输入文件,我正在读取文件,如下所示:
STDIN.each_line.with_index
但也需要反向引用原来的“数组”,但是因为each_line数组变成了一个枚举器。当然,我可以将其分解并解析,但要尽量保持脚本简洁。 with_self 将是完美的,但它似乎不存在。 ????
【问题讨论】:
-
“任何替代品” - 也许,但为了什么?为什么首先需要块内的数组引用?您要解决的具体问题是什么?
-
当您执行
STDIN.each_line.with_index {...}时,我认为甚至 is 都不是底层数组。该块在每行输入之后立即运行,因此不存在保存每一行输入的数组,因为该数组必须保存尚未提供给程序的输入。
标签: ruby