ध्यान दें कि वहाँ पहले से ही परिभाषित किया गया है समारोह:
scala> val x = "scala is awesome"
x: java.lang.String = scala is awesome
scala> x.reverse
res1: String = emosewa si alacs
लेकिन अगर आपको लगता है कि खुद ही करना चाहते हैं:
def reverse(s: String) : String =
(for(i <- s.length - 1 to 0 by -1) yield s(i)).mkString
या (कभी कभी यह until
उपयोग करने के लिए बेहतर है, लेकिन शायद में नहीं उस मामले)
def reverse(s: String) : String =
(for(i <- s.length until 0 by -1) yield s(i-1)).mkString
इसके अलावा, ध्यान दें कि यदि आप उलटा गिनती का उपयोग करते हैं (बड़े ओ से कम से कम एक मूल्य के ne) आप नकारात्मक कदम निर्दिष्ट करना चाहिए या आप एक खाली सेट मिल जाएगा: ओम-nom-nom ने संकेत के रूप में
scala> for(i <- x.length until 0) yield i
res2: scala.collection.immutable.IndexedSeq[Int] = Vector()
scala> for(i <- x.length until 0 by -1) yield i
res3: scala.collection.immutable.IndexedSeq[Int] = Vector(16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
स्रोत
2011-10-08 23:30:13
धन्यवाद ओम-nom-nom, मैं इसे अपने आप को लागू करने के लिए तो मैं :) – Dzhu