openlang

从 APL 函数返回结果

怎样才能让函数在执行结束后返回一个值?

例如我有这样的代码。

ROUTINE N

? N ⍴ 12

//它会生成 N 个从 1 到 12 的随机值 (N 是函数的参数)。

我只是想知道怎样拿到函数的结果,然后比如把这个结果传给另一个函数。

谢谢大家的帮助!

从英语翻译查看原文

后续讨论 2

顺着彼此的依据读下去
  1. 固定链接

    在函数头 (编号为 0 的那一行) 中指定就可以。

    语法是这样的。

    answer ← lhs calculate rhs ; local_names

    这样函数执行结束时,就会返回 answer 中保存的值。

    从英语翻译查看原文
  2. 固定链接

    如果你的 APL 实现支持,也可以使用直接定义 (dfns 或 lambda)。这应该能在 Dyalog 和 GNU,以及 NARS2000 和 NGN APL 中运行。

    试试这个

    {?⍵⍴12} 36

    参数由 ⍵ 表示 (也就是问题中的 N)

    表达式产生的值就是返回结果,不必显式声明返回值。

    另一个办法是

    calculate←{?⍵⍴12}

    然后

    calculate 36
    从英语翻译查看原文

同一个问题的其他角度

  1. 在 Godot 3.3 的 GDScript 中怎样随机选择枚举项而不用逐项列出?

    这是我在 GDScript 中使用的枚举声明。 我想随机选择一个枚举变体,而不用列出所有可能的变体。这样以后增加变体时,就不必修改负责随机选择的代码。 我尝试过下面这种方法。 还有这一种。 两种都失败了。一个返回 Null,另一个报告 "Invali…

    回复 2最近活动 gdscript
  2. Nim 求余语法

    Nim 中怎样表示求余运算? cell % 7 == 0 会给出 undeclared identifier: '%' 这个错误 Google 搜索和查看 SO 都没找到答案。

    回复 2最近活动 nim
  3. 声明包含常量字符串的数组

    Delphi 能用类似下面示例的方式声明字符串数组吗?

    回复 4最近活动 object-pascal