引数がA,B,C,D,Eあるとして
A,Bだけ渡したら、内部でC,D,Eを自動的に解釈するメソッドが作りたかった
これ、例えば
func hogeAll(A a, B b, C c, D d, E e) {
}
func hoge(A a, B b) {
}
んだけど、ABCDE全てに対して有/無のメソッドを全て定義すると果てしなくなる
実際にこれはよくやられると思う
HikisuClass hikisu = HikisuClass.create(a,b) // これで内部で自動的にc,d,eを解釈する
でもメソッド一個のためにクラスを作るのってクソ面倒だなと思う
もう一個方法があるとしたら、Classに値を入力したあとメソッドを実行する方法だ
hoge.a = a
hoge.b = b
hoge.do()
hoge(a,b,null,null,null) みたいなことになりそう
ちなみに何でそういうことをしたいかと言えば、自然言語がそうなってるからだ
大抵の引数が省略されるし、省略されたりされなかったりする、非常に柔軟なんだ
もちろん受ける側の作り込みが大変になるが、ちゃんとリーダブルに作ろうとしたらそっちのほうが良いんじゃないかと思える
引数のoptional,requireを指定できればもっと良い
これってポリモーフィズムあたりの話か?
___
追記:
あ、DIコンテナみたいな話かな
でも結局煩雑だし使いたくない
コードにローマ字混ぜるのマジ止めて欲しい。 読みにくい。
釣り? 山ほどあるだろ出来る言語は