我想检查字符串是否包含该字符.我正在写一个刽子手代码.例如,这里是猜词:"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)
这是正确的吗?
先感谢您.
我不认为这是家庭作业,所以我可能会后悔回答它是否......
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的速度,否则你很难解释它是如何运作的.
| 归档时间: |
|
| 查看次数: |
5535 次 |
| 最近记录: |