将命令行参数解析为 Racket 中的数字

Guy*_*Guy 3 scheme racket

我正在使用 Racket 编写一个简单的脚本,我想从命令行传递三个值。两个浮点数和一个整数。

我最初的想法是试试这个:

(define args (current-command-line-arguments))
(define c (string->number(car args)))
Run Code Online (Sandbox Code Playgroud)

但这并没有按预期工作。我收到此错误:

car: contract violation
  expected: pair?
  given: '#("3" "2")
Run Code Online (Sandbox Code Playgroud)

我是 Racket 的新手,但我认为是#方法程序而不是列表。我只需要一个参数列表。

我找到了一些关于从 Racket 解析命令行参数的文档,但它似乎旨在解析开关/选项而不仅仅是值。

任何人都可以提供任何建议吗?谢谢。

use*_*lpa 5

current-command-line-arguments 的结果是一个向量。使用vector-ref代替car

(define c (string->number(vector-ref args 0)))
Run Code Online (Sandbox Code Playgroud)