一般来说,函数式编程以更清晰和简洁而自豪。您没有副作用/状态管理的事实使开发人员更容易推理他们的代码并确保行为。这个真理能达到多远?
我仍在学习 Elixir,但给出了 Coding Gnome 的代码:
def make_move(game = %{ game_state: state }, _guess)
when state in [:won, :lost] do
...
end
def make_move(game = %{ game_state: state }, _guess)
when state in [:pending] do
...
end
def make_move(game, guess) do
...
end
Run Code Online (Sandbox Code Playgroud)
人们可以在 Javascript 中毫不费力地将其编写为:
def make_move(game = %{ game_state: state }, _guess)
when state in [:won, :lost] do
...
end
def make_move(game = %{ game_state: state }, _guess)
when state in [:pending] do
...
end
def make_move(game, guess) …Run Code Online (Sandbox Code Playgroud)