Rubyのブロック省略形を使用して、配列アクセサーのようなメソッドを呼び出すことはできますか?

テイラーサーロウ

短くできることに慣れています

some_array.map { |e| e.to_s }

some_array.map(&:to_s)

短縮する方法はありますか

some_array_of_arrays.map { |e| e[4] }

に似ている

some_array_of_arrays.map(&:[4])

明らかに、私はその最後の例を試しましたが、機能しません。理想的には、ソリューションは、のような他の「奇妙な形式の」メソッド呼び出しに一般化されます[]

Rails / ActiveSupportソリューションに興味がありませんある種の解決策があると仮定して、単純なRubyのみ。

ガガンガミ

あなたはProcを使うことができます

> a = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14]]
> third_elem = Proc.new {|x| x[2]}
> a.map(&third_elem)
#> [3, 7, 11, nil] 

または

> a.map &->(s) {s[2]}
#=> [3, 7, 11, nil] 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RMIを使用してサーバーからクライアントのメソッドを呼び出すことはできますか?

分類Dev

クラスの参照を使用してメソッドを呼び出すことはできますか

分類Dev

ActiveRecord :: Relationオブジェクトはどのようにしてクラスメソッドを呼び出すことができますか

分類Dev

RecyclerViewがレイアウトを計算している間、またはrecyclerviewから項目を削除しようとするとスクロールしている間は、このメソッドを呼び出すことができません

分類Dev

Scalaマクロを使用して、メソッド呼び出しの実装者をスーパーにすることはできますか?

分類Dev

オブジェクトのすべてのメソッドを呼び出すことはできますか?

分類Dev

サブクラスのメソッド内で「super」を使用して、直接参照せずに対応するスーパークラスのメソッドを呼び出すことはできますか?

分類Dev

「null値の式でメソッドを呼び出すことはできません。」バックグラウンドジョブで実行されている更新サーチャーの結果を受信しようとしたとき

分類Dev

Moq&C#:コールバックが無効です。パラメータを使用したメソッドのセットアップでは、パラメータを使用してコールバックを呼び出すことはできません

分類Dev

マルチオブジェクト配列を設定して、そこからメソッドを呼び出すことはできますか?

分類Dev

リフレクションを使用して構造体プロパティの「Set」メソッドを呼び出すことはできますか?

分類Dev

Javascriptサブクラスのインスタンスメソッドは、その親の静的メソッドを呼び出すことができますか?

分類Dev

どのような状況では1クラスのメソッドは、別のオブジェクトで呼び出すことができますか?

分類Dev

ドローアブルフォルダ内の新しいベクターアセットをxmlから呼び出すことはできません

分類Dev

Rubyでは、lambdaまたはProc呼び出しメソッドを使用してイテレーターを呼び出すことができますか?

分類Dev

文字列のObjectクラスのtoString()メソッドを呼び出すことはできますか

分類Dev

どのように私は、getメソッドを使用して送信されたパラメータにアクセスすることができますか?

分類Dev

配列ネイティブオブジェクトのメソッドとして関数を追加します(メソッドとして関数を呼び出すことは可能ですか?)

分類Dev

Kotlin-ゲッターとセッターを使用して私有財産にアクセスするにはどうすればよいですか?アクセスメソッドは内部で呼び出していますか?

分類Dev

ソースへのアクセスが困難/不可能な場合、メソッド呼び出しの時間計算量をどのように見つけることができますか?

分類Dev

別のクラスからメソッドを呼び出すことで、sqliteテーブルに新しい列を動的に追加できますか?

分類Dev

派生クラスは基本クラスのプライベートメソッドをどのように呼び出すことができますか?

分類Dev

Rubyの場合:メソッドを呼び出すときに、なんらかの方法でメソッドに引数を指定していますが、どこにあるのかわかりません。ブロックバインディングと関係があると思いますか?

分類Dev

Java:オブジェクトメンバーはどのようにして親クラスからメソッドを呼び出すことができますか?

分類Dev

Nullable <T>省略形で静的メソッドを呼び出すことができないのはなぜですか?

分類Dev

どのようにJavaで、スーパークラスでサブクラスのメソッドを呼び出していますか?

分類Dev

呼び出されたメソッドが、呼び出し側が既にロックしているのと同じロックを使用する場合に、デッドロックを回避するにはどうすればよいですか?

分類Dev

jQuery UIから「UncaughtError:初期化前にダイアログでメソッドを呼び出せません。メソッド 'close'を呼び出そうとしました」というメッセージが表示されるのはなぜですか。

分類Dev

リターンを使用して複数の呼び出しのメソッドをモックすることはできません

Related 関連記事

  1. 1

    RMIを使用してサーバーからクライアントのメソッドを呼び出すことはできますか?

  2. 2

    クラスの参照を使用してメソッドを呼び出すことはできますか

  3. 3

    ActiveRecord :: Relationオブジェクトはどのようにしてクラスメソッドを呼び出すことができますか

  4. 4

    RecyclerViewがレイアウトを計算している間、またはrecyclerviewから項目を削除しようとするとスクロールしている間は、このメソッドを呼び出すことができません

  5. 5

    Scalaマクロを使用して、メソッド呼び出しの実装者をスーパーにすることはできますか?

  6. 6

    オブジェクトのすべてのメソッドを呼び出すことはできますか?

  7. 7

    サブクラスのメソッド内で「super」を使用して、直接参照せずに対応するスーパークラスのメソッドを呼び出すことはできますか?

  8. 8

    「null値の式でメソッドを呼び出すことはできません。」バックグラウンドジョブで実行されている更新サーチャーの結果を受信しようとしたとき

  9. 9

    Moq&C#:コールバックが無効です。パラメータを使用したメソッドのセットアップでは、パラメータを使用してコールバックを呼び出すことはできません

  10. 10

    マルチオブジェクト配列を設定して、そこからメソッドを呼び出すことはできますか?

  11. 11

    リフレクションを使用して構造体プロパティの「Set」メソッドを呼び出すことはできますか?

  12. 12

    Javascriptサブクラスのインスタンスメソッドは、その親の静的メソッドを呼び出すことができますか?

  13. 13

    どのような状況では1クラスのメソッドは、別のオブジェクトで呼び出すことができますか?

  14. 14

    ドローアブルフォルダ内の新しいベクターアセットをxmlから呼び出すことはできません

  15. 15

    Rubyでは、lambdaまたはProc呼び出しメソッドを使用してイテレーターを呼び出すことができますか?

  16. 16

    文字列のObjectクラスのtoString()メソッドを呼び出すことはできますか

  17. 17

    どのように私は、getメソッドを使用して送信されたパラメータにアクセスすることができますか?

  18. 18

    配列ネイティブオブジェクトのメソッドとして関数を追加します(メソッドとして関数を呼び出すことは可能ですか?)

  19. 19

    Kotlin-ゲッターとセッターを使用して私有財産にアクセスするにはどうすればよいですか?アクセスメソッドは内部で呼び出していますか?

  20. 20

    ソースへのアクセスが困難/不可能な場合、メソッド呼び出しの時間計算量をどのように見つけることができますか?

  21. 21

    別のクラスからメソッドを呼び出すことで、sqliteテーブルに新しい列を動的に追加できますか?

  22. 22

    派生クラスは基本クラスのプライベートメソッドをどのように呼び出すことができますか?

  23. 23

    Rubyの場合:メソッドを呼び出すときに、なんらかの方法でメソッドに引数を指定していますが、どこにあるのかわかりません。ブロックバインディングと関係があると思いますか?

  24. 24

    Java:オブジェクトメンバーはどのようにして親クラスからメソッドを呼び出すことができますか?

  25. 25

    Nullable <T>省略形で静的メソッドを呼び出すことができないのはなぜですか?

  26. 26

    どのようにJavaで、スーパークラスでサブクラスのメソッドを呼び出していますか?

  27. 27

    呼び出されたメソッドが、呼び出し側が既にロックしているのと同じロックを使用する場合に、デッドロックを回避するにはどうすればよいですか?

  28. 28

    jQuery UIから「UncaughtError:初期化前にダイアログでメソッドを呼び出せません。メソッド 'close'を呼び出そうとしました」というメッセージが表示されるのはなぜですか。

  29. 29

    リターンを使用して複数の呼び出しのメソッドをモックすることはできません

ホットタグ

アーカイブ