gpt4 book ai didi

dart - Dartlang确实可以获取参数

转载 作者:行者123 更新时间:2023-12-03 04:04:07 26 4
gpt4 key购买 nike

我是Dart语言的新手,但想找到下一个问题的答案。
如果我创建没有输入参数的全局变量和函数。

num myVar = 0;
void IncrMyVar() { ++myVar; }

然后在 main下面声明函数列表,并将 IncrMyVar添加为elemnt之一。
List<Function> a = new List<Function>();
a.add(IncrMyVar);

完成所有这些步骤后,我想从列表 a调用所有函数
for(Function foo in a)
{
foo(myVar);
}

并将面临问题。因为 IncrMyVar不提供输入参数。

所以,我的问题是:

1 。如何检查'foo'是否可以在函数中提供输入参数?

2 。在这种情况下如何更好地获得异常(exception)?

3 。是否可以通过“a.forEach()”调用所有函数列表,并以某种方式提供输入参数?

最佳答案

目前尚不清楚问题到底是什么。

也许这就是您要寻找的

num myVar = 0;
void incrMyVar() {
++myVar;
}

void incrMyVar1(num value) {
myVar += value;
}

typedef OneParam<P, R> = R Function(P param1);

void main() {
List<Function> a = new List<Function>();
a.add(incrMyVar);
a.add(incrMyVar1);

for (Function foo in a) {
if (foo is OneParam<num, void>) {
// alternatively inline
// if (foo is void Function(num)) {
foo(myVar);
print('1 param');
} else {
foo();
print('0 param');
}
}
print(a);
}

函数类型与 is检查一起使用以确定函数是否带有参数。

关于dart - Dartlang确实可以获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com