终端,编辑,项目

时间:2016-10-06 10:32:50

标签: j

我想写一段代码,一个循环。
所以我开始:

for_i. i.10 do.

按"输入"为了写一个新行,得到一个错误:

|spelling error
|   for_i. i.10 do.
|   ^

所以我去编辑(一个绿色代码区,终端有黄色) 写下这些代码,按"运行"。
但是编辑器也在终端中运行代码。是的,我得到了同样的错误 我在编辑器中开始新项目。写下代码。按"运行项目"。和???没有。没有错误,没有结果,没有任何东西。
我知道我可以将这段代码包装成函数,比如

f =: 3 : 0
   for_i. i.10 do.
   ....
)

它会起作用。
但为什么它不能以直截了当的方式运作呢? 为什么即使在编辑器中它也不起作用?
如何在项目中运行代码?我应该在哪里看到结果?

2 个答案:

答案 0 :(得分:1)

将编辑器视为定义的一个领域。通过使用=:为变量分配定义:(必要因为=。仅建立编辑器的本地分配)运行编辑器脚本在终端中建立这些定义,您可以在其中实际运行它们。

如果您确实想要从编辑器运行动词,请在编辑器中使用其参数编写动词,然后执行动词并生成结果。毕竟,这就是它在分配时所做的事情,但在这种情况下,执行会产生分配的定义。

在你的编辑器中尝试这个,看看它在运行时是否更有意义。

a=: 3 : 0    NB. establishes definition of a. This needs to be defined first
+/y
)

a 2 3 4 5  NB. runs a in Terminal from editor

答案 1 :(得分:1)

J的control结构只能在一个明确的定义中工作(这正是bob所得到的)。

如果您想在一行中使用它们,那么您需要在该行上使用完整的封闭显式定义。如果你想要该行的结果,你还需要为该定义提供一个参数来处理。

例如:

动词def' for_i。 i.10做。我终结了。' 0