如何在Racket中获取程序名称?

mca*_*dre 7 racket

我想以编程方式检测Racket代码中的程序名称.这可以在鸡计划中完成:

#!/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))
Run Code Online (Sandbox Code Playgroud)

我怎么能在Racket中模仿这个?

soe*_*ard 10

这是你想要的吗?

(find-system-path 'run-file)
Run Code Online (Sandbox Code Playgroud)

另请参阅racket/cmdline有关如何解析命令行的信息.

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