2016-11-13 13 views
2

これは、インデックスを与えられ、最後の配列の項目を最後に検索する単純な関数です。Scalaでこのメソッドを汎用化する方法

val arr = Array(1,2,3)およびval i = 0とする。それは私はあなたが第一引数Seq()を作る場合は、コレクションの多くの異なる種類を取ることが一般的な作りと、あらゆるタイプ

答えて

2

の配列を受け入れることができるようにしたい3

def findIndexFromLast(arr: Array[Relationship], i: Int): Relationship = { 
    val cur = i 
    val size = arr.length 

    arr(size - i - 1) 
    } 

を返します。入力として。

def fromEnd[T](coll: Seq[T], index: Int):T = coll.reverse(index) 

fromEnd(Array(1,3,5,7,9), 0)     // res0: Int = 9 
fromEnd(List('x','y','q','b'), 3)   // res1: Char = x 
fromEnd(Vector(2.2, 5.4, 7.7), 2)   // res2: Double = 2.2 
fromEnd(Stream(true, true, false, true), 1) // res3: Boolean = false 
2
def findIndexFromLast[A](arr: Array[A], i: Int): A = { 
    val cur = i 
    val size = arr.length 

    arr(size - i - 1) 
} 
関連する問題