私は、1と-1を含むリストを持っています。私が後にしている目標は、合計が-1のときにリスト内の位置を見つけることです。リストからfoldLeftで値の位置を見つける方法は?
List[Int] = List(1, -1, 1, -1, 1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1,
-1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1)
しかし、私のコードは機能しません。
ここに私の試みがあります(読解のためにコードを配置しました)。注:floor
は、List of Intsを保持しています。
floor.foldLeft(0) { ((x,y) => x+y == -1) }.indexOf(-1)
floor.foldLeft(0) ((x,y) => { (x + y == -1) {x.indexOf(-1)} } )
floor.foldLeft(0) { (x,y) => { if (x + y == -1) { indexOf(-1) } } }
ここで間違っていることを知りたいのですが、私は本当にその答えのそれ以上の理由を追い求めています。
すべてのソリューションはfoldLeftについて重要なポイントを見逃しています。値 'x'は初期値の型であり、この場合は' 0'であり、関数が返す型はこの型を持つ必要があります。最初の例では、ブール値です。他の2つは意味をなさない。 – pedrofurla