6


2

Rubyでは、単にパラメータをメソッドに渡すのではなく、パラメータのハッシュを受け取るメソッドを見るのが一般的です。

私の質問は - いつあなたはあなたのメソッドにパラメータを使いますか?そしていつハッシュを使いますか?

メソッドに複数のパラメータがある場合は、パラメータハッシュを使用することをお勧めします。

5 Answer


4


意味的に一緒に属しているオプションのセットを表すときはいつでも、私はパラメータハッシュを使います。 関数への直接の(しばしば必要とされる)引数である他のどんなパラメータでも、私は一つずつ渡します。


1


多くのrailsのメソッドに見られるように、オプションのパラメータがたくさんあるとき、または任意のパラメータを受け入れるときは、ハッシュを使いたくなるかもしれません。


1


2つ以上の主張がある場合 ハッシュを使うことを考え始めるべきです。 これは明確なコードで明確に説明されているグッドプラクティスです link text


0


明らかな使用例の1つは、子クラスのメソッドをオーバーライドするときです。それを呼び出すときは、親メソッドのパラメータにハッシュパラメータを使用する必要があります。


0


別のメモとして、これはRubyだけでなく、すべての言語に関連しています。

流暢なAPIでは、関数へのパラメータの一部または全部を単一のパラメータオブジェクトとして宣言することが便利な場合があります(Rubyではこれらはハッシュ、C構造体などで可能です)。受け入れられた引数のセットは将来のバージョンで変更されています。 しかし、明らかな欠点は読みやすさが大幅に低下することです。本当に必要な場合を除いて、私はこの「パターン」を使用しません。