ポリモーフィズムは、見た目では同じものが引数などによって違う動作をする事なので、案1は、ポリモーフィズムとは言い難いですね。呼び出している命令が明らかに違うので。逆に言えば、見えちゃってる違いを上手く隠せれば、案1も立派なポリモーフィズム。一番の肝は、ユーザがいちいち明示的に実装を指示しなくても良いかだと思うので。
小難しく考えないなら、案2をベースにvartypeでswitchしてみては?
- (案4を書いた後で)例のスクリプトがintとstrで区別しているのが間違っていました。モジュールを区別しないといけませんね。intとstrを区別するのはオーバーロードでした。りすと?
- 考え方次第でポリモーフィズムと言って良いと思いますよ。案4はnewmodのmainをマクロで見えなくすれば、それっぽい感じに見えますね。^^
- 誰かわからないけれど、案5を書いてくれてありがとうございました。『案2をベースにvartypeでswitchしてみては?』とは言われてみたものの使い方がわからなかったんですよね。vartypeの使い方のサンプルとしても有用ですね。りすと?
- どうも〜(ジャジャーン)ちなみに、switch提案した人は私じゃないです^^;<kz3
- あ、案2で「引数で区別する」ってあったんですね...<kz3
|