문제

나는 사용 중입니다 GNU APL 1.1 (svn 4460) Linux에서 2.6.32 그리고 기능 정의에 문제가 있습니다.

이 스 니펫은 예상대로 작동합니다.

∇R←ODD N
R←2|N
∇

(ODD L)/L←⍳10

그러나 내가 이것을 시도 할 때

{2|⍵} 5

아니면 이거

ODD←{2|⍵}

구문 오류가 발생합니다. 같은 스 니펫이 잘 실행됩니다 여기.

나는 APL의 완전한 초보자입니다. 누구 든지이 구문 오류의 원인을 설명 할 수 있습니까?

도움이 되었습니까?

해결책

첫 번째 예제는 기존 APL "DEL"표기법을 사용하여 함수를 정의합니다. 두 번째 두 가지 예는 Dyalog APL의 확장 인 직접 정의 (일반적으로 DFNS- 발음 된 Dee -Funs)를 사용하며 사용중인 통역사에서 분명히 실행되지 않습니다. 이러한 방식으로 기능을 정의하는 것이 쉽다는 것은 큰 이점입니다.

다른 팁

DFNS (Curly Braces의 기능 단편) 구문은 모든 APL에 의해 지원되지 않습니다. 지원되지 않으면 구문 오류 또는 NonCE 오류를 기대하십시오.

내 지식으로, Dyalog APL 및 NGN APL 만 (참조 http://ngn.github.io/apl/web/) 지원하십시오.

Sharp APL에는 직접 정의 기능이 있었지만 구문은 다소 달랐습니다.

NGN APL은 레거시 기능 정의를 지원하지 않고 DFN 만 지원합니다.

GNU APL은 이제 그러한 DFN에 대한 지원을 받았습니다. Subversion Repository에서 컴파일하여 시도하거나 릴리스 1.3을 기다릴 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top