问题标签 [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.
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
scala - 重载带有按名称参数的函数和带有按值参数的函数
为什么不doSmth(() => s)
编译?为什么其余代码输出“值”?有没有办法调用第二个函数(使用名称调用参数)?
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)
只在立即窗口中接收到的值?
scala - 允许按名称参数的隐式类的宏变体
对于 DSL,我想介绍一个dup
基本调用的扩展方法Vector.fill
,例如
现在我想让参数成为一个按名称的值,以便以下内容可以正常工作:
我正在看这个问题,所以显然没有纯值类的解决方案,只有:
...取消价值类的优势,即不涉及拳击。
所以我想知道,是否可以编写一个宏来提供非实例化解决方案,其中参数是按名称命名的?
scala - 通过名称调用函数体的隧道隐式参数
考虑以下代码片段:
当前未编译并显示以下消息:
我的问题是可以使隐式参数可用于按名称调用的函数体吗?
编辑我尝试按照Alexey Romanov 的建议使其与宏实现一起使用
调试宏我可以看到它已正确扩展为
不幸的是,它不能编译以及与未找到隐式相同的错误。
深入研究问题,我在这里找到了讨论和 jira 问题https://issues.scala-lang.org/browse/SI-5774
所以问题是一样的:todo
在这种情况下是否有可能将隐式隧道转换为函数?
.net - CallByName,设置背景色
我们希望动态地(取决于 XML 文件)设置BackColor
Windows 窗体中的控件。
我刚刚尝试了CallByName
-Method with CallType.Method
。
CallByName(ColorObject, "FromName", CallType.Method, "Red")
当我想执行“FromName”方法时它不起作用,因为我需要它像这样“Color.FromName”。
CallByName 从“颜色”类中获得了一个对象,但仍然不起作用。“颜色”类已导入。
有人知道我做错了什么或如何解决这个问题吗?
haskell - 括号内的 Haskell 模式匹配
我想定义一个函数,该函数对某种类型的表达式进行操作,但可以访问其内部结构(如果有的话)。例如,下面的 f:
(gxy) 是 a 类型的,所以 f 应该可以把它作为参数,但是上面 f 的定义不能被 Haskell 解析。我想定义类似 f 的东西来利用按名称调用的评估。在 Haskell 中有什么方法可以做到这一点吗?
scala - 如果方法是中缀和右关联的,为什么 Scala 会评估按名称调用参数的参数?
正如我所理解call-by-name
的方法的参数一样,在将相应的参数表达式传递给方法时不会对其进行评估,而只会在(并且如果)在方法体中使用参数的值时才对其进行评估。
然而,在下面的示例中,这仅在前两个方法调用中成立,而在第三个方法调用中不成立,尽管它应该只是第二种情况的语法变体!?
为什么在第三个方法调用中评估参数表达式?
(我使用 Scala 2.11.7 测试了这段代码)
2020 年编辑:请注意,Scala 2.13 不再显示这种恼人的行为:val node2 = ...
不再打印任何内容。
arrays - 将参数数组传递给 CallByName VBA
我正在使用 callByName I VBA 来动态调用类的不同方法。根据方法的不同,我将拥有不同数量的参数,这些参数将保存在一个数组中。不幸的是 CallByName 接受一个参数数组,因此传递一个变量号并不简单。有没有办法解决这个问题,我找到了使用类型信息库的解决方案,但这似乎不适用于 VBA,即使我已将其添加为参考。下面是我想要的插图
scala - Scala 按名称与函数参数
这是一个命名参数:
这是一个函数参数:
这两个声明有何不同?两者都将被懒惰地评估并且每次访问参数时?一种语法或另一种语法有优势吗?前者是否意味着纯粹的功能而不是后者的副作用?