One-dimensional cellular automata: Difference between revisions

m
→‎{{header|Sidef}}: minor code fixes
m (Added the Sidef language)
m (→‎{{header|Sidef}}: minor code fixes)
Line 3,565:
seq.gsub!(/(?<=(.))(.)(?=(.))/, {|s1,s2,s3| s1 == s3 ? (s1 ? 1-s2 : 0) : s2});
(x != seq) && (x = seq) || break;
};</lang>
 
{{out}}
Line 3,583:
<lang ruby>class Automaton(rule, cells) {
 
method newinit {
rule = sprintf("%08b", rule).split(1)chars.map{.to_i}.reverse;
}
 
Line 3,590:
var previous = cells.map{_};
var len = previous.len;
cells = [rule.@[
previous.range.map { |i|
4*previous[i-1 % len] +
2*previous[i] +
previous[i+1 % len]
}]];
];
}
 
Line 3,613 ⟶ 3,612:
say "|#{auto}|";
auto.next;
};</lang>
 
{{out}}
2,747

edits