[英]How do to multiple actions in one function in Elixir?
我正在 Elixir 中重新创建流行的文字游戏“Wordle”。 如果他们不输入 5 个字母的单词,我想给用户反馈。 到目前为止,我有这个:
def play do
guess = IO.gets("Guess a 5 letter word: ")
guess = String.trim(guess)
guess = String.downcase(guess)
attempt(guess)
end
def attempt(@correct_word) do
"You won!"
end
def attempt(guess) when byte_size(guess) != 5 do
"Guess must be 5 letters"
play()
end
def attempt(guess) when byte_size(guess) == 5 do
determine_guess_result(guess)
"You have x guesses left"
end
问题是这条线永远不会显示: "Guess must be 5 letters"
,因为我在之后立即调用play()
所以它永远不会从 function 返回
这是如何在 Elixir 中实现的,我可以在其中显示这一行,然后再次调用play()
以给用户下一回合?
IO.puts("Guess must be 5 letters")
play()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.