練習13<Scala的功能性編程> simulateMachine
,官方的回答是:
def simulateMachine(inputs: List[Input]): State[Machine, (Int, Int)] = for {
_ <- sequence(inputs map (modify[Machine] _ compose update))
s <- get
} yield (s.coins, s.candies)
第二個佔位符的第二行的位置真的混淆了我,從我的角度來看,正確的答案應該是這樣的:
def simulateMachine(inputs: List[Input]): State[Machine, (Int, Int)] = for {
_ <- sequence(inputs map ((modify[Machine] compose update) _))
s <- get
} yield (s.coins, s.candies)
請幫助我理解爲什麼第一個答案是正確的,非常感謝