Scala iyi uygulamalar: Basit Seçenek [] kullanımı
val itemOpt: Option[Item] = items.get(coords) // "items" is something like a Map
if (itemOpt.isDefined) {
val item = itemOpt.get
// do something with item, querying item fields a lot of times, for example
if (item.qty > 10) {
storeInVault(item.name, item.qty, coords)
} else {
storeInRoom(item)
}
}
gibi boş taşıma şeyler yeniden bulmak Java to-Scala bir olarak
ve gerçekten bir benziyor Java'nın dan yeniden yazılmış kod parçası:
Item item = items.get(coords);
if (item != null) {
// do something with item, querying item fields a lot of times, for example
}
Ayrıca Java çirkin görünüyor, ama en azından bir satır az. Scala'da bu gibi basit durumlarla başa çıkmak için en iyi uygulama nedir? Option[Stuff]
koleksiyonlarını işlemek için flatMap
ve flatten
'u zaten biliyorum ve varsayılan değerleri işlemek için getOrElse
'u biliyorum. Ben böyle bir şey hayal:
items.get(coords).doIfDefined(item =>
// do stuff with item
)
ama Option
API böyle bir şey görmüyorum.
Bu yardımcı olabilir: http://dibblego.wordpress.com/2008/01/16/scalaoption-cheat-sheet/ – dhg