问题标签 [callbyname]

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.

0 投票
1 回答
2033 浏览

parameter-passing - 名称调用和文本调用的参数传递机制的区别及示例

在 5 种类型的参数传递机制中: 1.pass-by-value 2.pass-by-reference 3.pass-by-value-result 4.pass-by-text(C 中的宏) 5.pass-by-名称(类似于延续)

我只想要最后两个之间的区别。请帮忙!

参考: http: //www.math.grin.edu/~rebelsky/Courses/CS302/99S/Outlines/outline.36.html

0 投票
1 回答
111 浏览

scala - 重载带有按名称参数的函数和带有按值参数的函数

为什么不doSmth(() => s)编译?为什么其余代码输出“值”?有没有办法调用第二个函数(使用名称调用参数)?

0 投票
0 回答
339 浏览

vba - CallByName 不返回某些类型的值

我遇到了 CallByName 函数的问题。我正在尝试根据属性的值将集合拆分为较小的集合,然后将这些较小的集合分配给数组。

下面的代码部分是导致问题的位。每当 X 引用包含字符串值的属性时,代码都可以正常工作,但是每当我尝试传递 CallByName 类型为 double 的属性时,它就无法正确获取它(我认为)。

最初我只是有If CallByName(v, X, VbGet) = arr(i, 1) Then,但我添加了该temp行以帮助调试。

在两条注释行上放置断点表明,当 X 引用类型为 double temp 的属性时,它始终保持为空。但是如果我尝试在即时窗口中,? CallByName(v, X, VbGet)它会给我我正在寻找的价值。为什么CallByName(v, X, VbGet)只在立即窗口中接收到的值?

0 投票
1 回答
265 浏览

scala - 允许按名称参数的隐式类的宏变体

对于 DSL,我想介绍一个dup基本调用的扩展方法Vector.fill,例如

现在我想让参数成为一个按名称的值,以便以下内容可以正常工作:

我正在看这个问题,所以显然没有纯值类的解决方案,只有:

...取消价值类的优势,即不涉及拳击。

所以我想知道,是否可以编写一个宏来提供非实例化解决方案,其中参数是按名称命名的?

0 投票
2 回答
684 浏览

scala - 通过名称调用函数体的隧道隐式参数

考虑以下代码片段:

当前未编译并显示以下消息:

我的问题是可以使隐式参数可用于按名称调用的函数体吗?

编辑我尝试按照Alexey Romanov 的建议使其与宏实现一起使用

调试宏我可以看到它已正确扩展为

不幸的是,它不能编译以及与未找到隐式相同的错误。

深入研究问题,我在这里找到了讨论和 jira 问题https://issues.scala-lang.org/browse/SI-5774

所以问题是一样的:todo在这种情况下是否有可能将隐式隧道转换为函数?

0 投票
1 回答
136 浏览

.net - CallByName,设置背景色

我们希望动态地(取决于 XML 文件)设置BackColorWindows 窗体中的控件。

我刚刚尝试了CallByName-Method with CallType.Method

CallByName(ColorObject, "FromName", CallType.Method, "Red")

当我想执行“FromName”方法时它不起作用,因为我需要它像这样“Color.FromName”。

CallByName 从“颜色”类中获得了一个对象,但仍然不起作用。“颜色”类已导入。

有人知道我做错了什么或如何解决这个问题吗?

0 投票
1 回答
313 浏览

haskell - 括号内的 Haskell 模式匹配

我想定义一个函数,该函数对某种类型的表达式进行操作,但可以访问其内部结构(如果有的话)。例如,下面的 f:

(gxy) 是 a 类型的,所以 f 应该可以把它作为参数,但是上面 f 的定义不能被 Haskell 解析。我想定义类似 f 的东西来利用按名称调用的评估。在 Haskell 中有什么方法可以做到这一点吗?

0 投票
2 回答
748 浏览

scala - 如果方法是中缀和右关联的,为什么 Scala 会评估按名称调用参数的参数?

正如我所理解call-by-name的方法的参数一样,在将相应的参数表达式传递给方法时不会对其进行评估,而只会在(并且如果)在方法体中使用参数的值时才对其进行评估。

然而,在下面的示例中,这仅在前两个方法调用中成立,而在第三个方法调用中不成立,尽管它应该只是第二种情况的语法变体!?

为什么在第三个方法调用中评估参数表达式?

(我使用 Scala 2.11.7 测试了这段代码)

2020 年编辑:请注意,Scala 2.13 不再显示这种恼人的行为:val node2 = ...不再打印任何内容。

0 投票
2 回答
2556 浏览

arrays - 将参数数组传递给 CallByName VBA

我正在使用 callByName I VBA 来动态调用类的不同方法。根据方法的不同,我将拥有不同数量的参数,这些参数将保存在一个数组中。不幸的是 CallByName 接受一个参数数组,因此传递一个变量号并不简单。有没有办法解决这个问题,我找到了使用类型信息库的解决方案,但这似乎不适用于 VBA,即使我已将其添加为参考。下面是我想要的插图

0 投票
0 回答
57 浏览

scala - Scala 按名称与函数参数

这是一个命名参数:

这是一个函数参数:

这两个声明有何不同?两者都将被懒惰地评估并且每次访问参数时?一种语法或另一种语法有优势吗?前者是否意味着纯粹的功能而不是后者的副作用?