【问题标题】:What is the term for "catching" a return value“捕获”返回值的术语是什么
【发布时间】:2010-10-11 15:53:28
【问题描述】:

前几天我正在培训一位新开发人员,并意识到我不知道在变量中“捕获”返回值的实际术语。例如,考虑这个伪编码方法:

String updateString(newPart) {
  string += newPart;
  return string;
}

假设调用它只是为了更新字符串 - 不需要返回值:

updateString("add this");

现在,假设我们想要对返回的值做一些事情。我们想要更改调用,以便我们可以使用新更新的字符串。我发现自己在说“catch the return value”,意思是我想看看:

String returnedString = updateString("add this");

那么,如果您试图要求某人进行此更改,您会使用什么术语?它在不同的语言中是否不同(因为从技术上讲,您可能会调用函数或方法,具体取决于语言)?

【问题讨论】:

  • 我知道区分“函数”(返回值)和“方法/子例程”(不返回值)的唯一语言是 VB。
  • @Ed:Delphi 对函数和过程也有单独的关键字。但是,我还要说 C# 和 Java 在函数和方法之间进行了不必要的区分,因为它们不允许使用 void 类型实例化泛型函数 T SomeFunc()。

标签: terminology


【解决方案1】:

分配返回值给一个变量

【讨论】:

    【解决方案2】:

    返回的值可以被赋值或丢弃/忽略/不使用/[在此处插入同义词]。

    并没有真正的技术术语。

    【讨论】:

    • 我喜欢分配和丢弃。
    【解决方案3】:

    我会说“returnedString 将使用 updateString 的返回值进行初始化”。

    【讨论】:

      【解决方案4】:

      “Catch”让我想到异常,这有点误导。诸如“使用”或“存储”或“分配”之类的内容怎么样?

      【讨论】:

        【解决方案5】:

        我知道的常见的:

        • 您为变量赋值。
        • 您将值存储到变量中。

        【讨论】:

          【解决方案6】:

          检查函数的返回值,不要忽略返回值

          【讨论】:

            【解决方案7】:

            在示例中,您只是将函数的返回值分配给一个新变量。

            在描述单行代码的行为时,返回值对于函数的使用不是必需的并不重要。但是,在更广泛的背景下,了解这个“有趣的返回值”的用途非常重要。

            【讨论】:

              【解决方案8】:

              正如其他人所说,您所描述的确实没有一个词。但是,这里有一些术语供您参考:您给出的示例看起来可能是Fluent Interface

              【讨论】:

                【解决方案9】:

                我建议“缓存”,意思是存储它以备后用。 也许你说“抓住”是有潜意识的原因。

                【讨论】:

                  【解决方案10】:

                  最好也说明目的而不是实现细节(因为实际实现在不同的编程语言中可能会有所不同)。

                  一般来说: - 保存调用的返回值。

                  如果您知道返回值是某事的结果: - 保存调用结果。

                  如果您知道返回值是表示状态(例如错误): - 保存通话状态。

                  通过使用“保存”一词,您可以全面使用相同的语句,而不管该特定语言中使用何种机制来保存返回值。

                  【讨论】:

                    猜你喜欢
                    • 2019-11-28
                    • 2019-08-30
                    • 2018-02-15
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2020-07-10
                    • 2018-01-05
                    相关资源
                    最近更新 更多