48
有沒有一種方法,只使用Scala的集合API,當試圖通過其索引獲取元素時,在列表中獲取選項?如何從Scala的Collection中的索引獲取選項?
我正在尋找這個功能的等價物,它存在嗎?
def optionalValue[T](l: List[T], index: Int) = {
if (l.size < (index+1)) None
else Some(l(index))
}
感謝
不錯!謝謝! – Loic 2013-04-26 07:53:36
我已經在Scala中看到了很多數據結構的'lift',命名(和抽象)背後的基本原理是什麼? – kosii 2016-08-08 15:14:58
@kosii可能遲了一點,但在這種情況下,「lift」是指從'Int => T'類型的部分函數轉換爲'Int => Option [T]'類型的總函數。這是一個相當普遍的用語,從較不普遍的東西轉變爲更一般的東西,換句話說,「添加」一個新的結構,例如將monad轉換爲monad變換器,或將仿函數轉換爲自由monad。我認爲這個詞來自類別理論,但我找不到任何明確的參考。 – 2017-11-13 18:03:18