Scala

2014-07-21 32 views
7

'da yerelleştirmeyle dize listesini sıralamak Dizelerin bir listesini sıralamak istiyorum. Scala'da bunun zor olmadığını biliyorum ama sorunum, listeleri farklı dillerde sıralamam gerekiyor. Örneğin, dizeleri çok kolay bir şekilde sıralayabildiğimi biliyorum. Ama Rus dili ya da romen dili hakkında ne var? Scala'da dizeleri birden çok dilde sıralamak için en iyi yöntem nedir? Scala sıralama uygulaması sadece ingilizce harfleri destekliyor mu?Scala

java i böyle bir şey yapacağını:

Collator coll = Collator.getInstance(locale); 
coll.setStrength(Collator.PRIMARY) 
Collections.sort(words, coll); 

Bana yardım edebilecek birilerinin umut. Şimdiden teşekkürler Nico.

cevap

6

Burada hiçbir şey farklı değil :). Collator karşılaştırılabilir, bu yüzden onu Ordering'a dönüştür ve sonra sıralamak için kullanın.

scala> val ord = Ordering.comparatorToOrdering(Collator.getInstance(Locale.FRENCH)); 
ord: scala.math.Ordering[Object] = [email protected] 

scala> Seq("deux","Bonsoir","Merci").sorted(ord) 
res13: Seq[String] = List(Bonsoir, deux, Merci)