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

Scheme 将命令行参数解析为Racket中的数字,scheme,racket,Scheme,Racket,我正在使用Racket编写一个简单的脚本,我想从命令行传入三个值。两个浮点数和一个整数 我最初的想法是尝试一下: (define args (current-command-line-arguments)) (define c (string->number(car args))) 但这并没有达到预期效果。我收到了这个错误: car: contract violation expected: pair? given: '#("3" "2") 我是个新手,但我认为指的是过程而不是

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

我最初的想法是尝试一下:

(define args (current-command-line-arguments))
(define c (string->number(car args)))
但这并没有达到预期效果。我收到了这个错误:

car: contract violation
  expected: pair?
  given: '#("3" "2")
我是个新手,但我认为
指的是过程而不是列表。我只需要一个论点列表

我在Racket中找到了一些解析命令行参数的方法,但它似乎是为了解析开关/选项而设计的,而不仅仅是值


有人能提供一些建议吗?谢谢。

当前命令行参数的结果是一个向量。使用而不是
汽车

(define c (string->number(vector-ref args 0)))

链接到的
命令行
宏允许您使用
#:args
指定参数的数量(保存一些代码以进行检查)。但是,您仍然需要自己检查/解析各个参数,这是正确的。