문제

Could someone kindly explain the control structure in J (specifically For and While loops)? Let's say I have a=:1 and b=:10, and I want to add '1' to 'a' using For/While loops till a < b.

So, usually it would be something like (in other languages)

for i= 1 to b   
a=a+1    
next i

or

while a<=b    
a=a+1    
end

Help please. I know it's simple, but I can't figure out how to do this in loops.

Also, I read up on something called "explicits". For example:

foo=: 3 : 0
if. 1 do. wdinfo 'success' end.
)

What would the 3 and 0 denote?

도움이 되었습니까?

해결책

Control structures must be used within an explicit definition. The explicit definition link will explain what the "3" and "0" signify, but note that the following are equivalent.

myfunction=: 3 : 0
  NB. define function/verb here
) 

myfunction=: verb define
  NB. define function/verb here
) 

Here is an example of defining an explicit function/verb containing a for loop:

for_eg=: verb define
 a=. 3
 b=. 8
 for. i.b do.
   a=. a + 1
 end. 
 a
)

Here is an example of using that verb:

for_eg ''
11

The Jwiki contains a wiki page describing how to define a verb. Note the references at the bottom for more info.

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