2006-04-01から1ヶ月間の記事一覧

Giraffe+ 0.5b

Download 前リリースからの変化 言語部分(gs) C_array.as_Pointer, to_Pointerが動作してなかったのを修正 Pointer.to_Pointerを定義(reinterpret_castみたいに使う) &サフィクスの引数の食い方を:や@と同じにして、新たに%サフィクスを以前の&と同じ機能の…

文法 Quick Reference リテラル

gs

リテラル(数値以外) リテラルオブジェクト説明 "string"Stringエスケープシーケンスを含む文字列 'string'Stringエスケープシーケンスを含まない文字列 r/body/optionRegex正規表現。optionについてはRegex.newの第二引数を参照 :symbol_idSymbol_id文字列の…

Giraffe+ 0.5b

Download 以前のリリースからの変化 reverse_iteratorのbaseメソッドとコンストラクタを実装 Context::wrap(bool)が定数を返さなくなっていたのを修正 仮想関数を使わないclass gc_cleanup_tmplのできる限りの使用による効率化 class gc_cleanupの必要の無い…

アイコンの大きさの設定

スクリプトから、アイコンの大きさ(16 or 32)をアイコン領域の幅に拠らずに決定できます。(bool値) Giraffe.Edit.SmallIcon.= false //エディットのを大きく Giraffe.ListBox.SmallIcon.= true //リストボックスのを小さくアイコン領域の幅も同じような感じ…

演算子と演算子化記号

gs

二項演算子(バイナリオペレータ)の概念を、「引数をひとつ取るメソッド」とし、引数のための括弧を省略できるようになっています。 0.+ 1 //0.+(1) `0[0].|`n[n.+ recur(n.- 1)] //`0[0].|(`n[n.+(recur(n.-(1))])演算子の戻り値のメソッドを呼ばなければい…

def, set, get, def_or_set, set_or_def, get_or_def and *_safe

gs

基本のスロット操作であるこれらには省略記法が定められており、それぞれ下記のようになります。 n: 0 //def(:n 0) //第1引数の名に第2引数の値を置く。親のスロットは無関係。定義済みの場合は例外が発生。 n@ 0 //set(:n 0) //第1引数の名に第2引数の値を…

ShowMenu2の実装について

C++側はこんな感じです。 Object ShowMenu2(Context c) { CMenuListBox menu; CMenuListBox::Keymap keymap; BOOST_FOREACH(SLOT::value_type v, c.callee().proto->slot) { UINT mod, code; keycode::GetKeyModAndCode(v.first.str(), &mod, &code); keymap…

ShowMenu2について

既存のShowMenuと置き換えて使えるShowMenu2というのがひっそりと実装されてます。違いを簡単に言うと、これはウィンドウのフォーカスを奪いません。 特にダイアログ等では、フォーカスを失い再び得た場合にフォーカスが始めのコントロールに戻ったり、テキ…

Contextオブジェクトとスコープとその継承(ver.0.6対応)

gs

Contextオブジェクトという全てのインターフェイスになるオブジェクトがあり、メソッドコールに伴い生成されます。(サンプルスクリプトの実行には、スクリプトをコピー後、Giraffe+に"get-cb.eval"と入力し、F1を押すのが楽です。)ローカル変数や関数はカレ…

Giraffe+ 0.5b

ダウンロード Windows 9xでは動きません。nkf32.dllが無いとメインメニューが出ません。c/migemoは最新版(1.3c)のほうがいいです。(1.2でも動きます) アップデートするには、全てのファイルを上書きして、.giraffeの最初に@deprecatedを追加するだけでいける…

C++用スクリプト言語

gs

Giraffe+のスクリプトをもうちょっとなんとかしようと、LuaとIoとBoost.PythonとSwigとClipと他にもいろいろ、そういったもののマニュアルをたくさん読んだんですが、結局どれもいまいち使い勝手がよくなかったり、使える段階に入ってなかったり、そもそも言…