2013-02-25 2 views
3

이 코드를 수정하는 방법을 모르겠습니다. 그것은 어쨌든 returnFirstString에 "폭발"하지만 나는 그 이유를 모른다. 또한 println을 사용하여 결과를 올바르게 표시하는 방법을 모르겠습니다. 이 방법이 괜찮습니까? 당신은 제대로 없음 반환하지있어간단한 스칼라 코드 : 문자열 배열에서 첫 번째 요소를 반환

def returnFirstString(a: Array[String]): Option[String]= 
{ 
    if(a.isEmpty) { None } 
    Some(a(0)) 
} 
val emptyArrayOfStrings = Array.empty[String] 
println(returnFirstString(emptyArrayOfStrings)) 

답변

8

: 그래서 여기

코드의

emptyArrayOfStrings.headOption 
: 또한

def returnFirstString(a: Array[String]): Option[String] = { 
    if (a.isEmpty) { 
     None 
    } 
    else { 
     Some(a(0)) 
    } 
    } 

을, 이미 대부분의 스칼라 컬렉션에서이 방법있다

4

가장 간결한 방법 :

def returnFirstString(a: Array[String]): Option[String]= a.headOption 
관련 문제