Advent of Codeのコーディングの課題に取り組んでいます。私は1日目です。私は何も含まれていないファイルから読みました((()(())((私は1と各 'に'を '-1'に変えることを考えています)しかし、私はマップ findFloorソース上。私は型の不一致を取得していたとき、私は問題を抱えている。すべてが私に右見て、それはそれは働いていないので、奇妙な部分です。リスト内の要素にパターンマッチングを使用するにはどうすればよいですか?
import scala.io._
object Advent1 extends App {
// Read from file
val source = Source.fromFile("floor1-Input.txt").toList
// Replace each '(' with 1 and each ')' with -1, return List[Int]
def findFloor(input: List[Char]):Int = input match {
case _ if input.contains('(') => 1
case _ if input.contains(')') => -1
}
val floor = source.map(findFloor)
}
エラー出力
error: type mismatch;
found : List[Char] => Int
required: Char => ?
val floor = source.map(findFloor) ^ one error found
私はここで間違ってやっている?/私は私が行方不明?
安全に '(_ match'、' .map {case ...} 'も同様に動作しますが、部分無名関数を定義しています) –
ありがとう!しかし、私はsource.map(findFloor)アプローチ私が言うことができる限り、私は機能のリストを提供している私たちは、チャーのリストを受け取ることを期待しているので、私は問題が何であるか分かりません。 – Native
@VictorMorozありがとう!私は答えを編集しました – vsminkov