Parameters 球拍传球参数
我在一个没有经验的地方工作 我要用C写我想写的东西:Parameters 球拍传球参数,parameters,scheme,lisp,racket,Parameters,Scheme,Lisp,Racket,我在一个没有经验的地方工作 我要用C写我想写的东西: void function(int array[]){ printf("%i total has been rolled from rolls %i and %i.\n", array[0], array[1], array[2]); } 正如您所看到的,这只是一个基本函数,它将打印出我要传递给函数的列表的值。我不知道如何在Racket中传递参数(这是正确的术语吗?)。我正在尝试以以下格式传递列表: (sum num1 num2)或
void function(int array[]){
printf("%i total has been rolled from rolls %i and %i.\n", array[0], array[1], array[2]);
}
正如您所看到的,这只是一个基本函数,它将打印出我要传递给函数的列表的值。我不知道如何在Racket中传递参数(这是正确的术语吗?)。我正在尝试以以下格式传递列表:
(sum num1 num2)或者我可以把它作为((sum)num1 num2)传递,如果这样更容易的话
这是我目前的职能:
(define (throw-value)
(list (list(list-sum (dice-rolls))) (car(dice-rolls)) (car(dice-rolls))))
掷骰子的地方是我想要使用的参数列表
有什么建议吗?代码段将是伟大的!
谢谢。回答如何在Racket中传递参数的问题-只需在函数名后声明它们,并小心使用括号(代码中有几个错误的括号)。我相信你的目标是这样的:
(define (throw-value dice-rolls)
(list (list-sum dice-rolls) (car dice-rolls) (car dice-rolls)))
(define (function vec)
(printf "~a total has been rolled from rolls ~a and ~a.~n"
(vector-ref vec 0)
(vector-ref vec 1)
(vector-ref vec 2)))
(define vec (vector 1 2 3)) ; `vec` is a vector
(function vec)
=> 1 total has been rolled from rolls 2 and 3.
上面将以(sum num1 num2)
的格式返回一个列表,请注意num1
和num2
将是相同的数字,因为在这两种情况下,您都使用列表的第一个元素。现在,对于问题的其余部分,问题中C代码的直接翻译如下:
(define (throw-value dice-rolls)
(list (list-sum dice-rolls) (car dice-rolls) (car dice-rolls)))
(define (function vec)
(printf "~a total has been rolled from rolls ~a and ~a.~n"
(vector-ref vec 0)
(vector-ref vec 1)
(vector-ref vec 2)))
(define vec (vector 1 2 3)) ; `vec` is a vector
(function vec)
=> 1 total has been rolled from rolls 2 and 3.
尽管链表是基于Lisp的编程语言中的标准数据结构,但每当需要高效地访问给定索引的数据时,最好使用如上所示的。如果出于某种原因您确实必须使用列表,您可以这样做,尽管效率较低(链接列表未针对基于索引的访问进行优化):
回答如何在Racket中传递参数的问题-只需在函数名后声明它们,并小心使用括号(代码中有几个错误的括号)。我相信你的目标是这样的:
(define (throw-value dice-rolls)
(list (list-sum dice-rolls) (car dice-rolls) (car dice-rolls)))
(define (function vec)
(printf "~a total has been rolled from rolls ~a and ~a.~n"
(vector-ref vec 0)
(vector-ref vec 1)
(vector-ref vec 2)))
(define vec (vector 1 2 3)) ; `vec` is a vector
(function vec)
=> 1 total has been rolled from rolls 2 and 3.
上面将以(sum num1 num2)
的格式返回一个列表,请注意num1
和num2
将是相同的数字,因为在这两种情况下,您都使用列表的第一个元素。现在,对于问题的其余部分,问题中C代码的直接翻译如下:
(define (throw-value dice-rolls)
(list (list-sum dice-rolls) (car dice-rolls) (car dice-rolls)))
(define (function vec)
(printf "~a total has been rolled from rolls ~a and ~a.~n"
(vector-ref vec 0)
(vector-ref vec 1)
(vector-ref vec 2)))
(define vec (vector 1 2 3)) ; `vec` is a vector
(function vec)
=> 1 total has been rolled from rolls 2 and 3.
尽管链表是基于Lisp的编程语言中的标准数据结构,但每当需要高效地访问给定索引的数据时,最好使用如上所示的。如果出于某种原因您确实必须使用列表,您可以这样做,尽管效率较低(链接列表未针对基于索引的访问进行优化):
既然你在用#!拍而不拍,何不用
既然你在用#!拍而不拍,何不用
谢谢你,奥斯卡,这太棒了!一如既往,这是我的荣幸;)谢谢你,奥斯卡,这太棒了!一如既往,这是我的荣幸;)