假设我在scala中有一个MyList类,列表作为私有成员.是否有可能为我的类定义"()"以在给出正索引的情况下返回预期的东西,并在负的情况下从结尾开始(就像在python中一样)?
这可以通过以下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)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |