[Gauche-devel-jp] 省略可能引数とデフォルト値

Back to archive index

Alex Shinn foof****@synth*****
2003年 2月 26日 (水) 19:03:06 JST


>>>>> "Shiro" == Shiro Kawai <shiro****@lava*****> writes:

    Shiro> From: Alex Shinn <foof****@synth*****>

    >> (define-command (do-something (host <string> "www.yahoo.com")
    >> (port <number> 80)) ...)

    Shiro> これは面白いです。CommonLispのユーザインタフェース規格CLIMで
    Shiro> は、マクロで「コマンド」を定義しておくと自動的に、グラフィカ
    Shiro> ルインタフェースではメニューやショートカットキーで起動され、
    Shiro> コマンドラインインタフェースではコマンド文字列を打ち込むこと
    Shiro> で起動されるようになるらしいです。(規格を読んだだけで使ったこ
    Shiro> とはないのでが)。

少し抜き読みましたが、分り難いです。まだいいCLIMのコマンドの例を探してい
ます。

Gimpでも、「スクリプト」と言うコマンドがあります。例えば:

(define (my-dummy-function a b)
  (print "Do nothing"))

(script-fu-register "my-dummy-function"
    _"<Toolbox>/Xtns/Script-Fu/My Stuff/Dummy..."
    "Do nothing"
    "Joey User"
    "Joey User"
    "August 2000"
    ""
    SF-ADJUSTMENT _"Width" '(400 1 2000 1 10 0 1)
    SF-ADJUSTMENT _"Height" '(30 1 2000 1 10 0 1))

関数を定義とコマンドを登録(レジスター?)が別別にします。

    Shiro> アプリケーションのフレームワークとしてこういうマクロを持って
    Shiro> おいても良いかもしれません。

そうですね。だから、アプリケーションのフレームワークの前に、コマンドの情
報(引数のタイプ等)を登録したり内省したりする事の必要があります。それか
ら、色々なコマンドシステムを作り上げて、試みられます。最後に、アプリケー
ションのフレームワークを決めます。

-- 
Alex



Gauche-devel-jp メーリングリストの案内
Back to archive index