2010-07-21
ぼくのかんがえたさいきょうのなでしこ2
なでしこ2 |
半年以上もこの日記を書いてなかったのですね(^ ^; 学校の課題ではC言語ばっかり書いています…orz
ということで、最近盛り上がりを見せているなでしこ2について、新機能(文法)案をば。
現在のなでしこは、配列・ハッシュ関連が少し弱いと思うので、まずはその辺についていくつか。
「配列開く」などの命令を追加すれば、使い勝手は変わらないはず
ARRAY = {2, 4, 6} // C言語風
果物は{「りんご」,「みかん」,「ぶどう」}
・ハッシュにループ構文がないので、「反復」でハッシュも扱えるとうれしい。
HASHを反復
「{キー}:{対象}」を表示
そのほかについて
・可変長引数をサポートしてほしい。ただし関数型呼出し専用。関数の宣言についてはまだ議論がありそうですが…
●printf(format,{可変長}varlist)
これでvarlistに配列で入るとか。でも、配列を上記のように{}で書ければ
{「りんご」,「みかん」}を「%s %s」で整形表示
なので、C 言語の初期化子に慣れていると違和感があるかもしれませんが、
Aとは配列 = [1, 2, 3]
Bとはハッシュ = {"a": 10, "b": 100}
のような感じになると思います。
ハッシュのループはいいですね!欲しいです。
可変長引数の実装は難しいかもしれません。そうでなくとも、あの辺は
引数の助詞問題や、オーバーロードを実装するかなど他の問題が山積してる?ので。。。
ではではー
あっ、配列リテラルは例の案に書いてありましたね。JSON記法はシンプルで良い感じですね。
さすがに可変長引数は余計な機能かもですね(^ ^; 一番最後のように書ければ問題ないわけで。関数オーバーロードのほうが必要かも…。
暗黙の型変換は便利な反面、誤作動の原因ともなりますので、
上級者向けに「!変数の型指定は必要」みたいなことも
あれば良いと思います。
ハッ、もしかして「Aとは変数」はこのときのために用意してあったのですかね!?