this SO postを見て、次のコードを Putty と Windows コマンド ラインに貼り付けようとしました。
def size(root: Leaf, left: Branch, right: Branch) : Int = {
def go(branch: Branch, acc: Int) : Int = branch match {
case Nil => acc
case branch.left != Nil && branch.right != Nil => go(branch.left, acc) +
go(branch.right, acc)
case branch.left != Nil => go(branch.left, acc)
case branch.right != Nil => go(branch.right, acc)
case _ => 0
}
root match {
case Nil => go(left, 0) + go(right, 0)
case _ => 1 + go(left, 0) + go(right, 0)
}
}
ただし、Putty と Windows 7 のコマンド ラインに貼り付けるだけで、次のような出力が得られます。
scala> :paste // 貼り付けモードに入る (ctrl-D で終了)
def size(root: Leaf, left: Branch, right: Branch) : Int = { def go(branch: Branch, acc: Int) : Int = branch match { case Nil => acc
=:= AnyRef ArrowAssoc Class ClassManifest Downloads
DummyImplicit Ensuring Function
Manifest Map NoManifest OptManifest Pair Set
String Triple root
arrayToCharSequence asInstanceOf assert
assumeaugString bin ch
classManifest classOf com
貼り付けようとすると、この予期しない出力動作が原因でコンパイルされていないと思います。