4

プライベートメンバーとしてリストを持つクラス MyList が scala にあるとしましょう。クラスが正のインデックスの場合は期待されるものを返し、負の場合は最後から開始するように "()" を定義することは可能ですか (Python のように)?

4

1 に答える 1

7

applyこれはメソッドを介して行うことができます:

class PythonicArray {
   private val underlying = Array(1,2,3,4)

   def apply(n: Int) = {
    val i = if (n < 0) (underlying.length + n) else n
    underlying(i)
   } 
}
于 2013-03-04T14:46:33.310 に答える