正如我在许多参考资料中所读到的,这些函数是low level functions。我想知道,我是否应该使用这些方法与已经部署的合同进行交互?
发布于 2020-05-06 08:18:51
它们允许您执行契约函数的动态调用(而不是静态调用)。
这与Java中的反射类似,在Java中,使用函数名字符串执行函数。
它也类似于如何在Python或Javascript等解释语言中调用函数。
例如:
def func(x):
return x * 2
y = eval("func")(3)
print(y)或者:
function func(x) {
return x * 2;
}
const y = eval("func")(3);
console.log(y);在像Solidity这样的强类型语言中,它意味着将在运行时执行的函数不是由编译器决定的,也就是说,它不是在编译器生成的字节码中硬编码的。
这些低级函数在几种不同的场景中都很有用,下面是其中一些:
https://ethereum.stackexchange.com/questions/83101
复制相似问题