例として、このInteger.parse/2
関数には base のデフォルト値 10 がありますがString.to_integer/1
、String.to_integer/2
両方が存在し、base
指定する必要がある場合に 2 番目が使用されます。
このように実装された理由はありますか?関数を定義するためにいつどちらを使用する必要がありますか?
私の仮定の答えは、デフォルト値バージョンは同じ実装を共有するのに対し、異なるアリティの実装には実際の違いがあるということです。ただし、具体的には、この場合に別の実装が必要になる理由はわかりません。