我想以编程方式检测 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))
我怎么能在球拍中模仿这个?
我想以编程方式检测 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))
我怎么能在球拍中模仿这个?
这是你想要的吗?
(find-system-path 'run-file)
另请参阅racket/cmdline
如何解析命令行。
http://docs.racket-lang.org/reference/Command-Line_Parsing.html
注意:对于这种特定的执行模式,要拥有一个也可以作为主模块运行的库模块,请使用名为main的子模块。请参阅Main 和 Test Submodules,其中显示了如何执行此操作。