文字列のリストを入力として持つ (そのうちの 1 つが である可能性がありますNone
)。を使用して文字列の配列を返すにはどうすればよいですかImmutable Object
。
var
orを使用すると非常に簡単ですMutable Object
。ここに例を示します。
def getArrayString(string: String, list1: List[String], list2: Option[List[String]]): Array[String] = {
var ret = Array[String]()
ret = ret :+ string
if (list1.nonEmpty) {
for (item <- list1) {
ret = ret :+ item
}
}
if (list2.isDefined) {
for (item <- list2.get) {
ret = ret :+ item
}
}
ret
}
質問val
1 :オブジェクトだけを使用したい場合はどうすればよい
注意:返さlist2
れる配列にオブジェクトNone
が含まれていない場合None
質問2 : ..and iflist1
andlist2
wereList[CustomClass]
whereCustomClass
is
case class CustomClass(string:String)
どうしますか?
質問 3 : ...メソッドを複雑にするとどうなりますか...
case class CustomClass1(string1:String)
case class CustomClass2(string2:String)
明らかに、CustomClass1 と CustomClass2 は、それらを互いに異なるものにする他のパラメーターをクラスに持っている可能性があります。メソッドのシグネチャは次のようになります。
def getArrayString( string: String
, list1: List[CustomClass1]
, list2: Option[List[CustomClass2]]
): Array[String]`