J中的无效动词

时间:2010-07-19 19:01:33

标签: void tacit-programming j

我正在学习如何通过在线阅读使用J并使用这种语言再次做一些旧的Java作业,并且想知道如何制作一个不接受任何操作数或返回任何结果的动词。原因是:我想允许自己输入动词的能力,让我们称之为go,它将自己运行一系列代码并保存它在执行时产生的任何数据,但会显示什么都没有。这样做的总体目标是最终能够重现我的自动售货机类和界面,至少需要void returnChange()方法。

2 个答案:

答案 0 :(得分:4)

调用J动词始终至少使用正确的参数。将任何内容发送到完全忽略正确参数的monadic动词(例如0'')。

函数总是返回一些内容,但使用i.0''可以最小化返回的数据。

go =: 3 : 0
    NB. do stuff
    i. 0
)

go ''

答案 1 :(得分:1)

MPelletier是正确的,J动词总是需要一个正确的参数来产生一个结果,并且在执行时它们必然会产生一个结果。副词和连词的情况类似。 J中的任何内容都与“返回void”的方法类似。

MPelletier提供的示例使用关键字“return”。在该上下文中,关键字无效。该程序的修改版本在这里提供:

go =: 3 : 0
  NB. do stuff
  i. 0 0
)

此程序与MPelletier发布的程序之间的明显区别在于,如果在控制台中执行,则在下一个提示之前不会产生空行。 (从形状到位置_2为零的任何结果都会产生这种效果。)