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

时间:2013-11-21 05:27:19

标签: scheme racket

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

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

(define args (current-command-line-arguments))
(define c (string->number(car args)))

但是没有按预期工作。我收到了这个错误:

car: contract violation
  expected: pair?
  given: '#("3" "2")

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

我在解析来自Racket的命令行参数时发现了一些documentation,但它似乎是为了解析开关/选项而不仅仅是值。

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

1 个答案:

答案 0 :(得分:3)

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