p [1, 2].each{ "foo" }
はnil
を生成しますが、反復後には[1, 2]
とします。どのようにクリスタルで?配列を繰り返して返します
3
A
答えて
4
使用tap
:
p [1, 2].tap &.each { "foo" } # => [1, 2]
それは、ブロックに自己を生成して、自己を返します。
は、単に各行った後に自己を返すカスタムメソッド作成することができ(好ましくない)別のオプション:p
以来p(..)
に括弧を使用するのに十分な可能性があり、あなたが求めている場合について
class Array
def each_with_self
each { |x| yield x }
self
end
end
p [1, 2].each_with_self { "foo" } # => [1, 2]
1
を結果として引数を返します。
p([1, 2]).each{ "foo" }
p
のこの挙動は、すなわち、式の途中で簡単に検査を行うfoo(p(bar), baz)
にfoo(bar, baz)
を変化させるのに役立ちます。
#each
は、ほとんどの場合値が使用されていないため、コードではnil
を返すと決定しました。これにより、1日の終わりにいくつかの組合が生成されることも防止されます。
関連する問題
- 1. C配列を繰り返します。
- 2. 配列を繰り返す
- 3. ngRepeatで配列を繰り返して改行します。
- 4. 配列の配列をMustacheで繰り返します。
- 5. スクリプトを何度も繰り返して繰り返します
- 6. 多次元配列と繰り返しを繰り返す方法
- 7. 動的配列と繰り返し値
- 8. 2D配列の繰り返し
- 9. Java配列の繰り返し
- 10. 配列は、C(繰り返し)
- 11. JSON配列の繰り返し
- 12. ルビー配列の繰り返し
- 13. ランダムな配列の繰り返し
- 14. 繰り返しnumpyの配列
- 15. 配列シャッフルの繰り返し値
- 16. NSDictionaryの文字列の配列を繰り返します。
- 17. 配列を含まないJava jsonObjectsを繰り返します。
- 18. 連想配列の配列をキャッシュして繰り返し処理する
- 19. javascriptで配列を繰り返す
- 20. json配列をJavaScriptで繰り返す
- 21. タプルの配列を繰り返す
- 22. Javaの配列を繰り返す
- 23. 複数の配列を繰り返す
- 24. 配列を繰り返すzapierルックアップ
- 25. 最初の非繰り返し文字列を返します
- 26. 配列を繰り返してレンダリングする
- 27. オブジェクトの配列に対してJqueryを繰り返す
- 28. charが間違っている配列を繰り返し返す
- 29. JavaScript配列と合計属性を繰り返します。
- 30. 配列は1つの値を繰り返します