程序在drRacket中运行,引用主要功能并传递任何参数。如何从命令行执行此操作或单击.exe文件?主要功能如下:
(define (worm-main ct)
(big-bang (make-wormState (init-worm INIT-WORM-SEGS START-POSN) "r" (food-create (make-posn 99999 99999)))
[to-draw render]
[on-key navigate]
[on-tick move ct]
[stop-when end-chk? final-scene]))
我这样称为蠕虫主: - (worm-main 0.2)
答案 0 :(得分:1)
我认为你不能从终端调用文件中的函数。或者,在程序中,您可以添加输入语句并使用这些参数调用main函数。
您可以通过将语言更改为
从终端运行球拍程序#lang racket
例如:
#lang racket
(+ 3 4)
您可以使用(命令行为test.rkt)从命令行运行它:
racket test.rkt
此外,您可以通过转到Racket,创建可执行文件,从Dr.Racket创建一个可执行文件......
编辑:尝试复制粘贴并创建可执行文件。
#lang racket/gui
(require racket/gui/base)
(define frame (new frame% [label "Example"]))
; Make a static text message in the frame
(define msg (new message% [parent frame]
[label "No events so far..."]))
; Make a button in the frame
(new button% [parent frame]
[label "Click Me"]
; Callback procedure for a button click:
[callback (lambda (button event)
(send msg set-label "Button click"))])
; Show the frame by calling its show method
(send frame show #t)
; source: https://docs.racket-lang.org/gui/windowing-overview.html#%28part._.Creating_.Windows%29
我相信看到可执行文件的效果,你的程序必须创建一个新窗口。
EDIT2: 尝试从命令行编译球拍程序,如下所述:https://docs.racket-lang.org/guide/cmdline-tools.html
即
raco make name-of-file.rkt
在那之后:
cd compiled
racket name-of-file.zo
答案 1 :(得分:1)
从您撰写的内容看来,您似乎是从DrRacket的“ Racket”菜单中的“ Create Executable”项创建了可执行文件。您正在通过交互区域调用主定义,方法是输入(worm-main 0.2)
。
您的可执行文件不起作用,因为您尚未在 definitions窗口中将调用添加到主函数中。实际上,可执行文件只有创建可执行文件之前的文件。
在创建可执行文件之前,必须将调用(worm-main 0.2)
添加到定义窗口。