Anonymous user
Elementary cellular automaton/Infinite length: Difference between revisions
Elementary cellular automaton/Infinite length (view source)
Revision as of 00:42, 21 September 2016
, 7 years ago→{{header|Elixir}}: change Dict(deprecated) -> Map, String.rjust -> String.pad_leading
m (Added Sidef) |
(→{{header|Elixir}}: change Dict(deprecated) -> Map, String.rjust -> String.pad_leading) |
||
Line 119:
=={{header|Elixir}}==
{{works with|Elixir|1.3}}
{{trans|Ruby}}
<lang elixir>
defmodule Elementary_cellular_automaton do
def infinite(cell, rule, times) do
each(cell, rule_pattern(rule), times)
Line 130 ⟶ 132:
IO.puts String.replace(cells, "0", ".") |> String.replace("1", "#")
c = not_cell(String.first(cells)) <> cells <> not_cell(String.last(cells))
next_cells = Enum.
end)
each(next_cells, rules, times-1)
end
Line 140 ⟶ 142:
defp rule_pattern(rule) do
list = Integer.to_string(rule, 2) |> String.
|> String.
Enum.map(0..7, fn i ->
|> Enum.zip(list) |>
end
end
|