Size: 345
Comment:
|
Size: 521
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= FunExamples = | ## page was renamed from FunExamples = John Conways`s "Game of Life" = |
Line 3: | Line 4: |
[[TableOfContents]] == Meaning of Life == Whatever you specify as right argument to this function: |
This function takes a boolean matrix as argument and returns a boolean matrix with the new generation. |
Line 10: | Line 7: |
MeaningOfLife←{+.×/⍎⊖⍕⊃¨⊂|⌊-*+○⌈∨.∧/>\</×÷!⌽⍉⍉⌹~⍴⍋⍒,⍟?⍳''≡1↑0⍴∊⍵} | ∇ nextGeneration←Life currentGeneration [1] ⍝⍝ Take a matrix of Booleans and returns one [2] nextGeneration←↑1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration ∇ |
Line 13: | Line 13: |
...will produce a reasonable answer, regardless which type/lenght/depth/rank it is. | See also [http://catpad.net/michael/apl/ Conway's Game of Life in one line of APL] ---- CategoryShowcases |
John Conways`s "Game of Life"
This function takes a boolean matrix as argument and returns a boolean matrix with the new generation.
∇ nextGeneration←Life currentGeneration [1] ⍝⍝ Take a matrix of Booleans and returns one [2] nextGeneration←↑1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration ∇
See also [http://catpad.net/michael/apl/ Conway's Game of Life in one line of APL]