7

ラケットコード内のプログラム名をプログラムで検出したい。これは、ChickenSchemeで次の方法で実行できます。

#!/bin/sh
#|
exec csi -ss $0 ${1+"$@"}
exit
|#

(define (main)
    (display (format "Program: ~a\n" (program-name)))
    (exit))

(if (not (equal? (program-name) "csi"))
    (main))

これをRacketでどのようにエミュレートできますか?

4

2 に答える 2

10

これは、あなたの望むことですか?

(find-system-path 'run-file)

racket/cmdlineコマンドラインを解析する方法についても参照してください。

http://docs.racket-lang.org/reference/Command-Line_Parsing.html

于 2012-10-15T15:53:40.390 に答える
3

注:この特定の実行パターンでは、メインとしても実行できるライブラリモジュールを作成するには、mainという名前のサブモジュールを使用ますこれを行う方法を示すメインおよびテストサブモジュールを参照してください。

于 2012-10-15T19:21:44.217 に答える