문제

방금 J 언어를 집어 들기 시작했고 다음에 의해 혼란 스러워요.

   1 2 +/@{ i.4
1 2
   +/ 1 2 { i.4
3

@ 문서에서 "xu @ vy ↔ uxvy"

나는 단지 다른 말의 한 부분을 다른 사람에 대해 착각하고 있다고 생각하지만 그것을 알아낼 수는 없습니다.

또한 이름이 어떤 유형의 연설인지 어떻게 말합니까?

도움이 되었습니까?

해결책

   NB.  b. 0 순위를 반환합니다 
   NB. 동사의 순위는 한 번에 적용되는 주장을 결정합니다.
   NB. 모나디 딕 + y 원자에 적용됩니다. dyadic x + y 원자 쌍에 적용됩니다
   + b. 0
0 0 0
   NB. 모나디 딕 +/ y 그리고 dyadic x +/ y 무엇이든 신청 (무한 순위)
   +/ b. 0
_ _ _
   NB. 모나디 딕 { y 원자의 어레이에 적용;
   NB. dyadic x { y 원자 쌍과 다른 것에 적용됩니다
   { b. 0
1 0 _
   NB. u @ v 순위가 있습니다 v
   +/@{ b. 0
1 0 _
   NB. ~부터 1 2 { i.4 한 번에 원자를 반환하고 +/ 원자에서 작동합니다
   +/"0 [ 1 2 { i.4
1 2
   NB. u @: v 무한한 순위가 있습니다
   +/@:{ b. 0
_ _ _
   NB. +/ 모든 것에 적용됩니다 1 2 { i.4 한 번에
   +/"_ [ 1 2 { i.4
3

   NB. 암묵적 형태로의 기계적 번역
   13 : '+/ x { y'
[: +/ {

다른 팁

Wikipedia는 저의 편향된 견해로는 순위에 대한 괜찮은 글을 가지고 있으며 J.

그러나 원래의 질문에 답하기 위해 J의 추적 시설은 문법의 작동 방식을 이해하는 데 유용 할 수 있습니다.

   require'trace'
   trace '1 2 +/@{ i.4'

이렇게하면 구문 분석 프로세스를 단계별로 진행하여 각 생산 규칙에 의해 소비되는 단어와 각각의 결과가 생성됩니다.

아, 나는 그것을 알아 냈을 것 같아요. @: @대신 사용해야합니다.

   1 2 +/@:{ i.4
3

내가 원했던 것입니다. 랭크에서 더 읽어야 할 것 같아요. @와 @의 유일한 차이점입니다.

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