2017-04-02 3 views
1

다음 코드는 어떻게 작동합니까? 이 코드는 라켓 설명서 https://docs.racket-lang.org/plot/renderer2d.html?q=2d%20renderers#%28part.2.D.Line_.Renderers%29에서 발췌 한 것입니다 (이 페이지의 기능 점수 참조). 이것은 일반적인 함수 정의 문이 아닙니다. 밑줄은 여기서 무엇을 의미합니까? 이 코드에서 밑줄 문자는 무엇입니까

(define xs (build-list 5 (λ _ (random)))) 

은 xs

은 다음 도착 값 : 람다 파라미터 이름 (예 (lambda (a b c) the-body)) 또는 하나의 식별자 (예컨대 (lambda args the-body) 같은 식별자리스트를 가질 수 있습니다

> xs 
'(0.9520057193043618 0.1339193598495859 0.0019128879992944899 0.7511052254656998 0.4442323053722083) 

답변

1

후 개최

주어진 함수는 하나의 매개 변수 (현재 색인)를 취합니다. 값을 사용하지 않으려면 매개 변수 _의 이름을 지정하는 것이 일반적입니다.

따라서 무작위 목록을 만들 때 현재 색인에 신경 쓰지 않으므로 매개 변수의 이름은 _입니다. 이는 또한 (lambda (_)으로 작성 될 수 있지만, (하나의) 매개 변수에 대해 신경 쓰지 않기 때문에 (lambda _도 쓸 수 있습니다.

+0

기본적으로 (임의의) 20 회 실행됩니다. 매번 얻는 색인은 다양하며 무시됩니다. – rnso