2016-08-29 6 views
-1

に私は1が文字列でなければならないこと、エラーを取得していますテキストfoldLeft方法は、Scalaの

.foldLeft(Map.empty[String, Float]){ 
    (countsSource, wordSource) => countsSource + (wordSource -> (countsSource.getOrElse(wordSource, 0) + 1))} 

内の単語の数を取得するには、次のコードを使用しています。引用符で囲んだ場合、それは浮動小数点でなければならないと言われています。

私は何が間違っていますか?それは必ずしも地図の値(B)の種類を返さないことを意味

def getOrElse[B1 >: B](key: A, default: => B1): B1 

を、潜在的にスーパーB1次のように事前にご協力いただきありがとうございますが

+0

私はスカラ座での初心者です。私は1から1.0まで効果を変えようとしています! – kavita

答えて

1

getOrElseの署名があります。あなたの場合、0という文字を使用しても、Floatに興味があることはコンパイラに通知されません。代わりに0fを使用して

はそれを修正します:

l.foldLeft(Map.empty[String, Float]){ 
    (countsSource, wordSource) => countsSource + (wordSource -> (countsSource.getOrElse(wordSource, 0f) + 1))} 
関連する問題