Giraffe+ 0.5.2.143
前リリースからの変化
- 設定ダイアログでスクリプトファイルを作成する際、空白やドットを含む名前を拒否するようにした
- Array.erase(Uint Uint)をString.erase(Uint Uint)と同じ動作になるよう新規に定義した
- Array.shallow_copyが普通のcopy(deep_copy)になってたのを修正
- Method.to_Stringを定義した
- Method.=, =|, =&, |=, &=を定義した
- Object.def_copy, set_copy, get_copyを新たに定義し、それらに対応したショートカット構文(::, @@, $$)を実装した
- Object.slotがスロットのコピーを返していたのを修正
- x.[y]をx.index(y), x.[y] = zをx.index_set(y z)とパースするようにした
- x.[y z]をx.slice(y z), x.[y z]!をx.slice!(y z), x.[y z] = ...をx.slice_set(y z ...)とパースするようにした
- Giraffe.Event.*.undef後にその種類のイベントの数がゼロになった場合にundefが失敗したと表示されてたのを修正
- Mapオブジェクトを実装した
- Object.=>をMap.newの引数に使うオブジェクトを返す関数として定義した
- String.substrを定義するのを忘れてたのでした
- Method.newを定義した
- Giraffe.Event.Timer.setがタイマーのインターバルを更新してなかったのを修正
- Giraffe.Event.set_or_def, get_or_defを定義するのを忘れてたのでした
- Object.xml_object_treeが値の文字列をXML用にエンコードしてなかったのを修正
- 0x80000000.to_Stringがおかしかったのを修正
- Int等の数値オブジェクトにnegate, complement, abs, powを定義
- [0(Uint)].to_Stringが[0(Uint )]となっていたのを修正
Map, (def|set|get)_copy, Array.[], Method.to_StringとMethod.|=等のスクリプト言語の機能追加と細かい修正です。
Method.to_Stringを実装した結果、doc\object_tree.xmlを見ることで、全てではありませんが、メソッドの戻り値と引数の型とselfがconstでも呼べるかどうかが分かるようになりました。戻り値と引数が不定のメソッドについては未記載です。解説等はまだありません。
スクリプト言語の新機能の用途や仕様については、とりあえずオブジェクトのメソッドのテストやMapのテストが一番参考になります。解説は後日します。