我正在使用Racket编写一个简单的脚本,我想从命令行传入三个值。两个浮点数和一个整数。
我最初的想法是试试这个:
(define args (current-command-line-arguments))
(define c (string->number(car args)))
但是没有按预期工作。我收到了这个错误:
car: contract violation
expected: pair?
given: '#("3" "2")
我是Racket的新手,但我认为#
意味着程序而不是列表。我只需要一个参数列表。
我在解析来自Racket的命令行参数时发现了一些documentation,但它似乎是为了解析开关/选项而不仅仅是值。
有人可以提供任何建议吗?感谢。
答案 0 :(得分:3)
current-command-line-arguments的结果是一个向量。使用 vector-ref 代替 car 。