3
저는 J에 대한 완전한 초보자입니다. 함수를 작성하는 첫 번째 시도는 totient 함수와 같습니다. 어떤 숫자 인 i.num이라고 가정하는 배열을 취합니다. 그런 다음 배열의 집계와 일치하는 요소의 수를 계산합니다.J 함수가 작동하지 않습니다.
I는 다음과 같이 수동으로 할 경우
작동numbers =: i.7
#(1=(#numbers)+./numbers)#numbers
. 결과는 6입니다.
그래서 이것을 일반적인 기능으로 바꾸고 싶습니다.
Tot =: monad :'(1=(#x)+./x)#x'
Tot i.11
이것은 실패하고 x 값 오류가 발생합니다. 나는 이유를 모른다.
오. 나는 그들이 교환 할 수 있다고 생각했다. –
예, "y"가 아니라 "x"가 기본 "변수"가 아닌 "이상한"것입니다. 어쩌면 역사적인 이유로. [Point 5 here] (http://www.jsoftware.com/help/dictionary/d310n.htm)는 인수 이름을 밝힐 수 있습니다 :) – Eelvex
이전 버전의 J에서는'y'와'x'는'y .'과'x.', 인자에 대한 예약 된 "프리미티브"(인자로 전달 된 동사를 나타내는 다른 인자들과 함께). – MPelletier