print letter-6ren">
gpt4 book ai didi

ruby - elsif 包含在数组中的字母

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:02 24 4
gpt4 key购买 nike

我基本上会在下面的 elsif 中说“if letter == (a letter contained within the array "letterbank") ===> print letter”

def hide_or_not(an_array, a_guess)
an_array.each do |letter|
if a_guess == letter
print a_guess
elsif SOMETHING HERE
print letter
else
print "_"
end
end
end

假设该方法被输入 a_guess,它是一个字符串形式的字母和一个单个字母的数组。当猜到一个字母时,它就会出现,否则会打印一个“_”

an_array = ["r", "i", "c", "s", "h", "a", "w"]
letter_guess = "r"

然后抱歉,我还假设我必须保存每个猜到的字母,所以我想在某个地方包含一个信箱。我不知道我是否应该在 moethod 之下或在它之内这样做......(已经猜到的字母)

letterbank = ["s", "w", "t", "j"]

所以在这种情况下,我希望打印以下内容...谢谢!

r___s__w

最佳答案

此解决方案使用字符串而不是数组,但也可以轻松地使用数组。 (将字符添加到字符串并在完成迭代后打印为打印提供了一些额外的灵 active ,例如允许您使用 puts)。

class LetterGuesser # Hangman
def initialize(word)
@word = word;
@guessed_letters = '';
end

def guess_letter(letter)
@guessed_letters << letter if !@guessed_letters.include?(letter)
current_guesses = ''
@word.each_char do |char|
if guessed_letters.include?(char)
current_guesses << letter
else
current_guesses << '_'
end
end
puts current_guesses
end
end

game = LetterGuesser.new('test')
game.guess_letter('e')

关于ruby - elsif 包含在数组中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40553110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com