는이 같은 성명이 있습니다목록을 라켓의 인수 목록으로 어떻게 전달합니까?
((lambda (a b c) (+ a b c)) 1 2 3) ; Gives 6
을 그리고 또한 그래서 그것을 목록을 통과 할 수 있도록하고 싶습니다 :이 제외
((lambda (a b c) (+ a b c)) (list 1 2 3))
...이 때문에 작동하지 않습니다 전체 목록은 'a'로 전달됩니다. 목록을 인수로 분해 할 수있는 방법이 있습니까?
내가 찾고있는 것은 Python의 * 문자와 비슷한 것입니다. 문법에 익숙하지 않은 사용자 :
def sumthree(a, b, c):
print a + b + c
sumthree(1, 2, 3) # Prints 6
sumthree(*(1, 2, 3)) # Also prints 6
실제로 이것은 적용 함수를 찾는 원래의 이유입니다. 꽤 산뜻한 재료. – peskal
이것은 정말 멋지다. – setholopolus
이 구문의 사용법을 설명하는 문서 : https://docs.racket-lang.org/guide/define.html – setholopolus