如何检查字符串中是否包含字符?

sam*_*sam 1 scala

我想检查字符串是否包含该字符.我正在写一个刽子手代码.例如,这里是猜词:"scala",但它看起来像"_ _ _ _ _"用户.假设用户输入字母'a',那么它必须看起来像"_ _ a _ a".

def checkGuess(){
if (result.contains(user_input)) {
    val comp = result.toCharArray
    for (i <- comp){
        if (user_input != comp(i))
            comp(i) = '_'
        comp(i)
        }
    val str = comp.toString
    }
}
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?

先感谢您.

Kev*_*ght 7

我不认为这是家庭作业,所以我可能会后悔回答它是否......

case class HangmanGame(goal: String, guesses: Set[Char] = Set.empty[Char]) {
  override def toString = goal map {c => if (guesses contains c) c else '_'} mkString " "
  val isComplete = goal forall { guesses.contains } 
  def withGuess(c: Char) = copy(guesses = guesses + c)
}
Run Code Online (Sandbox Code Playgroud)

然后

val h = HangmanGame("scala")
h: HangmanGame = _ _ _ _ _

scala> val h1 = h.withGuess('a')
h1: HangmanGame = _ _ a _ a

scala> val h2 = h1.withGuess('l')
h2: HangmanGame = _ _ a l a

scala> val h3 = h2.withGuess('s')
h3: HangmanGame = s _ a l a

scala> val h4 = h3.withGuess('c')
h4: HangmanGame = s c a l a

scala> h4.isComplete
res5: Boolean = true
Run Code Online (Sandbox Code Playgroud)

UPDATE

好的,所以它确实看起来像家庭作业.我想现在这个精灵已经出了瓶子,但除非你很快加快Scala的速度,否则你很难解释它是如何运作的.