【问题标题】:Pasting into REPL with :paste使用 :paste 粘贴到 REPL
【发布时间】:2013-08-15 20:19:55
【问题描述】:

看着这个 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 = 分支匹配 { case Nil => acc

=:= AnyRef ArrowAssoc 类 ClassManifest 下载
DummyImplicit 保证函数
清单地图 NoManifest OptManifest 对集
三重字符串 root
arrayToCharSequence asInstanceOf 断言
假设 augmentString bin ch
classManifest classOf com

我相信,当我尝试粘贴时出现这种意外的输出行为,它没有编译。

【问题讨论】:

    标签: scala read-eval-print-loop


    【解决方案1】:

    检查里面是否有TAB字符。当你按下 TAB 时 sbt 触发代码完成。它也在粘贴模式下进行。所以它可能试图完成你的陈述并错误地完成了它。

    【讨论】:

    • 好一个。没试过,但他粘贴的内容中有标签。 00000090 69 6c 20 3d 3e 20 61 63 63 0a 20 20 20 20 09 20 |il => acc. . |
    猜你喜欢
    • 2017-09-17
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多