String型、開発中・・・
abdev 8月 29th, 2006たかがString型、されどString型ということでコンパイラの再設計をしているところですが、AB5でどこまで言語仕様を落とし込むかが問題です。
確かに、演算子のオーバーロードを用いれば、String型をクラスモジュールとして実装することは可能です。今現在、私の手元にあるテストコードでは、ABコンパイラと演算子オーバーロードを活用したStringクラスが正常に稼動しています。もちろん、Print命令やInput命令も従来通り利用できますし、メモリ管理の仕様がオープンになることでString型特有のバグも減少の方向に進むかと思います。
しかし、AB5ではただ単に演算子のオーバーロードでString型の一件を済ませてしまうのは、ちょっともったいない感じもします。というのも、C#、VBなどを見習うと、C/C++やABにはない下記のような機能を持ち合わせ、オーバーロードなどという “ウラ技” 的な発想ではなく、クラスモジュールが提供する正統派な機能として、これらの問題を解消しています。
- インデクサ … オブジェクトに対して添え字アクセスが可能
- プロパティ … メンバと同様のアクセス方法で、任意の処理を実行可能
オーバーロードを悪く言うつもりはありませんが、手続き型の言語仕様の側面から見て例外的な手法を提供するのであれば、こういうやり方が正しいのかもしれません。
さてさて、String型がある程度動くようになったところで、開発者向けにβ版のリリースをしていこうと思います。今回のβ版は、従来のString型を一掃するというバグバグしい内容となっているので、一般公開は避けさせていただきます。
8月 30th, 2006 at 16時02分22秒
String型は結構使うのでVer4と同じように動いてほしいです。ただ、PrintやInputしか使えないのは困ります・・・。ほかの関数でもString型は使うので・・・実装、こっちのほうでも頑張ってます。できましたら投稿しておきます。
8月 30th, 2006 at 16時58分53秒
現状ですとPrint/Inputで最低限の動作確認を行った段階であり、これから以前のString型との互換性を重要視する作業を遂行していきます。特別な事由がない限り、過去のソースコードを変更なしで動作させるだけのStringクラスを提供しようと考えております。AB5βでのString型完全復旧に関しましては、今しばらくお待ちください。