開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Scala (プログラミング言語)
7つの言語 7つの世界 (Bruce A. Tate (著)、まつもとゆきひろ (監訳)、田和 勝 (翻訳)、オーム社)の第5章(Scala)、5.3(2日目: ラスベガスをぶっとばせ)、セルフスタディ2日目.(藪を刈り込む)を取り組んでみる。
セルフスタディ2日目.(藪を刈り込む)
コード(Emacs)
val strs = List("Scheme", "Scala", "C", "Java", "JavaScript")
val len = strs.foldLeft(0)((sum, str) => sum + str.length)
strs.foreach( str => println(str, str.length) )
println(len)
trait Censor {
val strMap = Map("Shoot" -> "Pucky", "Darn" -> "Beans")
def replace (word: String) : String = {
if (strMap.keys.exists((w) => w == word)) {
strMap(word)
} else {
word
}
}
}
class Words(words:List[String]) extends Censor {
def p() {
words.foreach(word => println(word + " -> " + replace(word)))
}
}
val words = new Words(strs ++ List("Shoot", "Darn", "Pucky", "Beans"))
words.p()
入出力結果(Terminal, REPL(Read, Eval, Print, Loop))
$ scala-2.11 sample.scala (Scheme,6) (Scala,5) (C,1) (Java,4) (JavaScript,10) 26 Scheme -> Scheme Scala -> Scala C -> C Java -> Java JavaScript -> JavaScript Shoot -> Pucky Darn -> Beans Pucky -> Pucky Beans -> Beans $
0 コメント:
コメントを投稿