当前位置: 首页 > 知识库问答 >
问题:

将包含选项卡的代码粘贴到scala repl中

麻超
2023-03-14
:paste
scala> :paste
// Entering paste mode (ctrl-D to finish)

type Moves = Seq[Board]
val EmptyMoves = Seq[Board]()

def allMoves() = {
Display all 413 possibilities? (y or n)
e = (‘x’,’o’).map{ case xo =>
Display all 413 possibilities? (y or n)
dex
Display all 413 possibilities? (y or n)
t, ix % 3) }

那么,有什么方法可以将带有选项卡的代码放入REPL中呢?

共有1个答案

田普松
2023-03-14

您将需要对REPL进行这个相当微不足道的修复。

或者,您可以实现修复并提供-dscala.repl.reader=my.reader

另一个答案是找到劫持读者的方法:

scala> :power
Power mode enabled. :phase is at typer.
import scala.tools.nsc._, intp.global._, definitions._
Try :help or completions for vals._ and power._

scala> import scala.tools.nsc.interpreter._, java.io._
import scala.tools.nsc.interpreter._
import java.io._

scala> def f(code: String) = repl.savingReader {
     | repl.in = new SimpleReader(new BufferedReader(new StringReader(code)), new PrintWriter(scala.Console.out), false)
     | repl.loop() }
f: (code: String)$r.repl.LineResults.LineResult

scala> f("val x = 42. toInt")    // embedded tab
x: Int = 42
res5: $r.repl.LineResults.LineResult = EOF
$ scala -Xnojline
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60).
Type in expressions for evaluation. Or try :help.

scala> 

scala> val x = 42.  toInt
x: Int = 42
$ scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60).
Type in expressions for evaluation. Or try :help.

scala> val x = 42.             // 42 tab toInt
!=   /    >=          ceil          getClass        isPosInfinity   isWhole     shortValue       toDegrees     toOctalString   underlying   
%    <    >>          compare       intValue        isValidByte     longValue   signum           toDouble      toRadians       until        
&    <<   >>>         compareTo     isInfinite      isValidChar     max         to               toFloat       toShort         |            
*    <=   ^           doubleValue   isInfinity      isValidInt      min         toBinaryString   toHexString   unary_+                      
+    ==   abs         floatValue    isNaN           isValidLong     round       toByte           toInt         unary_-                      
-    >    byteValue   floor         isNegInfinity   isValidShort    self        toChar           toLong        unary_~                      

scala> val x = 42.toInt
x: Int = 42

scala> :power
Power mode enabled. :phase is at typer.
import scala.tools.nsc._, intp.global._, definitions._
Try :help or completions for vals._ and power._

scala> import scala.tools.nsc.interpreter._
import scala.tools.nsc.interpreter._

scala> repl.in = new jline.InteractiveReader(() => NoCompletion)
repl.in: scala.tools.nsc.interpreter.InteractiveReader = scala.tools.nsc.interpreter.jline.InteractiveReader@10660795

scala> val x = 42.toInt
x: Int = 42
 类似资料:
  • 我有一些html代码,例如, <代码> 我想将代码复制并粘贴到富文本格式,这样可以将html代码解析为真正的DOM。 我知道有js clipBoardData、zeroClipBoard、clipBoard polyfill,但它们都存在兼容性问题。我想写一个,它可以适用于大多数浏览器,我如何才能做到这一点?有什么想法吗? 在我看来,每个浏览器都可以解析html代码,而我复制的东西也是用html写

  • 以下是我的原始html代码: 而我只是想把三个div.box移动到div.container,但是当我直接粘贴的时候,就会是这样的,只是拳头线有正确的缩进: 我按照指示在设置中禁用aotoInent,但没有工作,那么如何处理它?

  • 当我像下面的例子一样点击选项卡2时,我如何将选项卡1 Neumorphic css翻译成选项卡2呢,就像从选项卡1滑到选项卡2一样? https://dribble.com/shots/10805627-neumorphic-tab

  • 问题内容: 我继承了一些使用Hibernate的Java代码。现在,使用此代码的一些人报告他们到处都在获取NullPointerExceptions。 我已经找到了答案,发现执行查询从数据库中拉出一个对象列表时,该查询具有一个对象列表(从另一个表中拉出),Hibernate似乎在列表(NULL值)。因此,列表可能类似于: 我们用于从数据库中提取信息的代码是: 然后,在每个PrinterGroup内

  • 问题内容: 我需要将多行bash代码粘贴到终端中,但是每当粘贴时,每行都会在粘贴后立即作为单独的命令运行。 问题答案: 复制之前,请尝试将其放在每行的末尾。