Ruby 是否可以将每个和与_索引连接起来?
是否最好不要像这样将Ruby 是否可以将每个和与_索引连接起来?,ruby,Ruby,是否最好不要像这样将每个和与_index连接起来 array.each_with_index { ... } 还是完全可以接受串联 array.each.with_index { ... } 这两种形式都是正确的,都会起作用。但是,在所列的情况下,首选第一种形式,因为它为此任务使用了专门构建的方法 第二种形式通常应保留给没有with index选项的方法,如下面这段愚蠢的代码: ['a', 'b', 'c', 'd'].select.with_index {|_d, i| (i%2)==0
每个
和与_index
连接起来
array.each_with_index { ... }
还是完全可以接受串联
array.each.with_index { ... }
这两种形式都是正确的,都会起作用。但是,在所列的情况下,首选第一种形式,因为它为此任务使用了专门构建的方法 第二种形式通常应保留给没有with index选项的方法,如下面这段愚蠢的代码:
['a', 'b', 'c', 'd'].select.with_index {|_d, i| (i%2)==0}
其输出为:
["a", "c"]
这两种形式都是正确的,都会起作用。但是,在所列的情况下,首选第一种形式,因为它为此任务使用了专门构建的方法 第二种形式通常应保留给没有with index选项的方法,如下面这段愚蠢的代码:
['a', 'b', 'c', 'd'].select.with_index {|_d, i| (i%2)==0}
其输出为:
["a", "c"]
请注意,(不像)接受一个可选参数,该参数等于第一个索引(默认为零)。因此,如果您希望索引从1
开始,比如说,您可以使用索引(1)
而不是来编写.each。如果i
是块变量,这可以避免在块内写入i+1
。请注意,(不像)采用一个等于第一个索引的可选参数(默认为零)。因此,如果您希望索引从1
开始,比如说,您可以使用索引(1)
而不是来编写.each。如果i
是块变量,则可以避免在块内写入i+1
。