Skip to content

Instantly share code, notes, and snippets.

@yusuke
Created July 20, 2011 10:42
Show Gist options
  • Save yusuke/1094749 to your computer and use it in GitHub Desktop.
Save yusuke/1094749 to your computer and use it in GitHub Desktop.
implicit conversion
package scala
object ob {
class ReversibleString(str: String) {
def reverseOrder() = {
var s = ""
for (c <- str.split("")) {
s = c + s
}
s
}
def reverseCases() = {
var s = ""
for (c <- str.split("")) {
if (c.matches("[a-z]")) s += c.toUpperCase
if (c.matches("[A-Z]")) s += c.toLowerCase
if (c.matches("[^A-Za-z]")) s += c
}
s
}
}
implicit def bindReversibleMethods(str: String) = new ReversibleString(str)
def main(args: Array[String]) {
println("AbcDEf123".reverseOrder())
println("AbcDEf123".reverseCases())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment