Port
次はI/O周りをすることになった。
仕様を読んだり、コードを眺めていたりします。現状のmoshではポート関係のクラスの継承関係は
- BinaryInputPort
- BinaryArrayBinaryInputPort
- CustomBinaryInputPort
- FileBinaryInputPort
- BinaryOutputPort
- FileBinaryOutputPort
- TextualInputPort
- StringTextualInputPort
- TextualOutputPort
- StringTextualOutputPort
- TextualByteVectorOutputPort
のようになっている。ポート全てに関わってくるtranscoder(デコーダ/エンコーダ)や、ファイルオプションを考えるとPortクラスが親にいるほうが良いような気がするな。あとInputでもありOutputでもあるポートの扱いをどうするのかが困りどころ。
- Port
- InputPort
- BinaryInputPort
- TextualInputPort
- OutputPort
- BinaryOutputPort
- TextualOutputPort
- InputOutputPort
- BinaryInputOutputPort
- TextualInputOutputPort
- InputPort
こんな感じかなあ。
FileBinaryInputPortとかはCustomBinaryInputPortの一種としてつくると綺麗な気がする。けどできるかどうかまだ良くわからない。