2012-06-12 17 views

Odpowiedz

68

Scala pozwala to zrobić w znacznie czystsze sposób niż standardowe String API wykorzystując API kolekcje (dla których istnieje niejawna konwersja z java.lang.String się z IndexedSeq[Char]):

str takeRight 2 

Fantastyczny rzecz o API oczywiście jest to, że zachowuje reprezentację typu oryginalnej "kolekcji" (czyli String w tym przypadku)!

+2

+1 nawet jeśli Łańcuch ma 1 lub 0 znaków, nie ryzykujesz '' 'java.lang.StringIndexOutOfBoundsException''' przy użyciu podciągu z' '' -2'''. – opyate

5
var keyword="helloStackoverFlow" 
println(keyword.takeRight(2)) // ow 
+0

'4' nie jest dwa. –

+0

@ ooops oout –

0

Można przyjąć (długość ciągu -1), które ujawniają ostatniego indeksu swojego łańcucha, (długość ciągu -2) będzie następny znak od końca:

str(str.length-1)+str(str.length-1)