问题标签 [bound-variable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
free-variable - 什么是自由和绑定变量?
我已经编程了很长时间(实际上太长了),但我真的很难掌握“自由变量”和“绑定变量”这两个术语。
我在网上找到的大多数“解释”都是从谈论诸如 Lambda 演算和形式逻辑或公理语义之类的话题开始的。这让我想去拿我的左轮手枪。
有人可以从实现的角度解释这两个术语吗?它们可以存在于编译语言中,它们翻译成什么低级代码?
python - num 是绑定变量还是自由变量?
num 是绑定变量还是自由变量?
PS此代码是用python编写的。在此之前没有以前的代码。
php - 如何将返回的函数局部变量绑定到方法参数?
我想让以下 PHP 代码工作。不工作的部分是内部变量$greetingCount
(返回函数的局部变量)没有绑定到外部变量$greetingCount
(方法参数变量)。
// 输出:
// 预期输出:
注意:我想要一个在将静态方法设为非静态时也可以使用的解决方案,否则这两种情况的两种不同解决方案都可以。
mysql - SQL 绑定变量错误
我的代码中出现错误。我确定这意味着我的代码的 column=:variable 部分有问题,但我已经检查过了,看不出有什么问题。
这是代码(第一行很长):
编辑:image_link 需要是:image_link,仍然得到同样的错误
编辑 2: 有很多错误,使用两个名称 $sql 和 $stmt,使用 bindValue 而不是 bindParam
r - 绑定变量和 sapply
我习惯于使用apply
家庭函数来避免for
R 循环。在这种情况下,我想知道是否有一种方法可以避免键入绑定变量。例如,假设我想做 100 次手术do.call(myfun, args)
。我for
会写:
我apply
输入:
我知道sapply
试图将函数应用于一个参数,它是 的一个元素seq(100)
,但是有没有办法避免这种情况,因为这个变量(这里i
)确实没有任何意义,也没有效用?
感谢您的洞察力
type-inference - 用于 ML 类型推断的 PT 算法
为了使 ML 类型推断的 PT 算法起作用,输入程序表达式必须具有每个绑定变量都是不同的属性。有人可以用一个例子来解释吗?
substitution - lambda演算上下文中“自由变量”和“变量的自由出现”之间的区别
在 lambda 演算的上下文中,自由变量和自由出现的变量之间有什么区别吗?如果是,那么请用一两个例子来解释。实际上,我正在查看 lambda 表达式的转换规则,遇到以下行:
在说明转换规则时,符号
E[E'/V]
用于表示替换inE'
的每个自由出现的结果V
E
recursion - 避免无限递归,但仍仅使用未绑定的参数传递
我有以下工作程序:(可以在此站点上进行测试:http: //swish.swi-prolog.org,我删除了指向已保存程序的直接链接,因为我注意到任何人都可以编辑它。)
它在无向图中搜索两点之间的路径。重要的部分是结果在“主”谓词的范围内返回。(在 Track 变量中)
结果:
我的问题:
访问节点列表以两种不同的方式传递给谓词。在绑定的 Visited 变量和未绑定的 Track 变量中。这两种不同形式的参数传递的名称是什么?
通常我只想使用未绑定的参数传递(跟踪变量),将结果放在主谓词的范围内。但是我也必须添加 Visited 变量,因为成员检查对 Track 变量不起作用(我不知道为什么)。是否有可能仅以无限制的方式通过 Track 使其工作?(没有 Visited 变量)
非常感谢!
prolog - 复制带有变量的术语而不绑定变量
使用 SWI-Prolog。
如何在不绑定变量的情况下复制带有变量的术语?
我试过的
我试过copy_term/2和duplicate_term/2
例如:
结果是
并检查了分析和构建术语部分
我需要的
这En
是谓词返回我需要的结果
我希望有一个内置的谓词。
TL;博士
这需要解决二进制表达式。原文用于选择谓词和求解表达式。我称为本地的副本用于显示子表达式的重写,而我称为全局的副本用于显示应用于整个表达式的重写。如果只有一个术语,例如没有副本,一旦变量被绑定为一种用途,它会导致其他用途失败。
当前的解决方案是在谓词中输入具有不同变量的多个术语以用于每次使用。将其乘以数百到可能数千个可能存在键入或复制/粘贴错误的谓词,您就会看到需要。
其他注意事项
我还考虑在谓词中拥有该术语的主副本,然后使用它来制作三个副本。问题是其中一个副本用于选择谓词,因此在选择谓词之前必须进行副本。因此,即使未选择谓词进行评估,也必须在谓词中发生副本。
所以
copy_term/2
给了我一个带有谓词选择和评估部分所需的变量绑定的副本,
duplicate_term/2
给了我与其他谓词一起使用的自由变量的术语。
实际应用的示例输出
scope - 递归调用的变量是自由的还是绑定的?
我试图更好地理解自由和绑定变量。这是一个示例代码:
我看到这里的绑定变量是guess
andx
和自由变量<
, abs
, -
, and square
。如果我what-kind-of-var?
递归调用怎么办?它会是一个绑定变量,因为它本身就是绑定的吗?
谢谢!