One-dimensional cellular automata: Difference between revisions

m
Line 3,031:
 
=={{header|Julia}}==
Simple julia versionAutomaton implemented as an iterable struct.
<syntaxhighlight lang="julia">
struct Automaton g₀::BitVector end
 
Base.iterate(a::Automaton, g = a.g₀) =
g, @. (g + [false; g[21:end-1]; false] + [false;g + [g[12:end-1]; false]) == 2
 
Base.show(io::IO, a::Automaton) = for g in Iterators.take(a, 10)
39

edits