私はエリクシールでハングマンを実装しようとしていますが、正しく推測された文字(適切なインデックス)を使ってプレースホルダワードのダッシュをどのように置き換えるべきか混乱しています。私はslice/3
とreplace/4
の機能を多くの運を使わずに使用しようとしました。エリクシルのハングマンゲームでダッシュを文字に置き換えます
def check_match(word, guess) do
len = String.length(word)
str = String.duplicate("_ ", len)
if String.contains? word, guess do
{index, length} = :binary.match(word, guess)
#String.slice(str, index, len) <> guess <> String.slice(str, index+1, len)
IO.puts String.replace(str, " ", guess)
else
IO.puts str
end
end
私も含まれていた(guess_word/2
内check_match/2
を呼び出します。ここでは、ユーザが入力した文字が秘密の言葉である、と私はダッシュを含むプレースホルダにその文字を挿入しようとするところならば、私はチェック機能があります私のゲームロジック):
おそらく私は、プログラムの間違った部分でダッシュを置き換えようとしています。正しいインデックスでダッシュを置き換えるにはどうすればいいですか?
例えば、秘密の言葉がfooである:http://pastebin.com/JkSefm1S