たとえば、Integer.parse/2
関数のデフォルト値は10で、String.to_integer/1
とString.to_integer/2
の両方が存在します。base
を指定する必要がある場合は、2番目の値が使用されます。なぜいくつかのElixirライブラリ関数は複数のアリティを使用するのに対し、他のものはデフォルト値を使用するのはなぜですか?
このように実装された理由はありますか? 関数を定義するときは、どちらを使うべきですか?
私の仮定した答えは、異なる値の実装については実際の違いがありますが、デフォルト値のバージョンは同じ実装を共有しています。しかし、私はなぜこの場合異なる実装があるのか、具体的には分かりません。
ワウ。第一に、デフォルトの議論の側面を見ることは冷静ですが、第二に、Erlangにそって整列させるのがより理にかなっています。 – Camsbury