2017-10-09 16 views
0

私はscalaを初めて使用しています。チュートリアルでは、私は、関数を定義する方法は関数は戻り値の型を示さない - Scala

def functionName ([list of parameters]) : [return type] = {...} 

で見たが、他のコードで私は、関数が戻り値の型を示すものではありませんでしたことを次の例を見ました。どうしてこれなの?

def parseLine(line:String) = { 
    val fields = line.split(",") 
    val stationID = fields(0) 
    val entryType = fields(2) 
    val temperature = fields(3).toFloat * 0.1f * (9.0f/5.0f) + 32.0f 
    (stationID, entryType, temperature) 
    } 
+0

http://docs.scala-lang.org/tour/local-type-in​​ference.html – danielnixon

答えて

2

戻り値の型がない場合、最後の式は戻り値です。言及なし戻り値の型がありませんけれども

たとえば、

scala> def doSomething = "i will be returned" 
doSomething: String 

は、あなたはそれが戻り値の型としてStringがかかりますが、上記の例で見ることができます。

また、条件に基づいてメソッドが返されている場合、scalac自体が戻り値の型になります。

scala> def doSomething = if(1 == 1) "i will be returned" else 2 
doSomething: Any 

scala> doSomething 
res10: Any = i will be returned 

も読んで - Return in Scala

関連する問題