一个简单的脚本,如
println("a")
不会在Scratch output窗口中产生任何输出。我预计输出窗口中会出现一个a。
Scratch output
a
我使用的是IntelliJ 2019.1.2 CE。
nukf8bse1#
编辑:有关预期功能的信息
根据我问的一个问题:IntelliJ Ultimate Kotlin Script REPL skips first printed lines - Scratch Output cut off
似乎是这样的,REPL想要每行输出,只有在达到一定的行长后,才会溢出到底部区域。
在问题中,我通常会添加一些初始填充,使其始终流入具有类似以下内容的较低区域:repeat(10) { println("BLANK ") }
repeat(10) { println("BLANK ") }
结束编辑
您必须确保临时窗口顶部的Interactive Mode已关闭
Interactive Mode
这将导致打印内容被放入Scratch Output窗口。
Scratch Output
请注意,至少在我的IntelliJ Ultra版2019.1.3版本中,前5-9行通常不会打印,所以我会这样做:
repeat(9) { println("blank") }
2o7dmzc52#
您可以创建自己的打印,如下所示:
fun <T> myPrint(x: T) : T = x
然后呼叫,例如:
myPrint(5)
结果窗口中应显示5。
5
qqrboqgw3#
如果您已经在函数中定义了所有内容,脚本将不会自动执行该函数--您需要显式调用该函数。
3条答案
按热度按时间nukf8bse1#
编辑:有关预期功能的信息
根据我问的一个问题:IntelliJ Ultimate Kotlin Script REPL skips first printed lines - Scratch Output cut off
似乎是这样的,REPL想要每行输出,只有在达到一定的行长后,才会溢出到底部区域。
在问题中,我通常会添加一些初始填充,使其始终流入具有类似以下内容的较低区域:
repeat(10) { println("BLANK ") }
结束编辑
您必须确保临时窗口顶部的
Interactive Mode
已关闭这将导致打印内容被放入
Scratch Output
窗口。请注意,至少在我的IntelliJ Ultra版2019.1.3版本中,前5-9行通常不会打印,所以我会这样做:
2o7dmzc52#
您可以创建自己的打印,如下所示:
然后呼叫,例如:
结果窗口中应显示
5
。qqrboqgw3#
如果您已经在函数中定义了所有内容,脚本将不会自动执行该函数--您需要显式调用该函数。