
【计】 pass by name
according to; control; leave aside; press; push; refer to
【电】 press
express; fame; famous; first name; firstname; forename; reputation
【法】 praenomen
carry; convey; deliver; propagate; remit; transport
【计】 transfer; transmit; transport
【经】 transmission; transmit
在汉英词典视角下,“按名传送”(Call by Name)是编程语言参数传递机制的一种,其核心在于延迟实参表达式的求值,直至形参在函数体中被实际使用时才进行动态计算。以下是其详细解释与特征:
术语对照:
按名传送(Call by Name) ↔Call by Name Evaluation
该机制将实参表达式本身(而非其计算结果)传递给函数。形参在函数内每次被引用时,都会重新求值实参表达式。
关键特征:
传递方式 | 求值时机 | 副作用处理 | 典型语言 |
---|---|---|---|
按名传送 | 使用时动态求值 | 每次引用均可能触发副作用 | Algol 60, Scala(=> 语法) |
按值传送 (Call by Value) | 调用前一次性求值 | 副作用仅发生一次 | C, Java, Python |
按需传送 (Call by Need) | 首次使用时求值并缓存 | 副作用仅发生一次(惰性求值) | Haskell, R |
if (cond && expr)
中,若cond
为假则跳过expr
的计算。(注:以上链接为示例格式,实际引用需替换为有效资源。)
关于“按名传送”,目前提供的搜索结果中并没有直接涉及该短语的具体解释。但从计算机科学领域分析,“按名传送”可能指向编程语言中的参数传递方式,即“按名调用”(call by name)。以下为综合推断和相关知识补充:
按名调用(Call by Name)的概念
这是早期编程语言(如Algol)使用的一种参数传递机制。其特点是:在函数调用时,参数表达式不会立即被求值,而是将表达式本身传递给函数,每次在函数内部使用该参数时都会重新计算其值。这种方式类似于“宏替换”,可能导致多次计算同一表达式。
与常见传递方式的对比
示例说明
假设函数调用时传递表达式x + 1
:
x+1
的值,再将结果传给函数。x+1
直接传入函数,每次使用时重新计算。若函数内多次使用该参数,且x
的值在函数执行中改变,结果会随之变化。注意:由于当前搜索结果未明确提供“按名传送”的权威定义,以上解释基于计算机术语的常规含义推断。建议用户进一步确认该短语的具体使用场景或提供更多上下文。
【别人正在浏览】