我在 dart 和 flutter 库中看到了多种形式的typedef,但我不太明白它的意义。Framework.dart中有这个例子:
typedef ElementVisitor = void Function(Element element);
Run Code Online (Sandbox Code Playgroud)
有这个例子(https://medium.com/@castellano.mariano/typedef-in-dart-40e96d3941f9):
typedef String Join(String a, String b);
Run Code Online (Sandbox Code Playgroud)
我不太明白它们的用途的区别。也许这与为什么我在 Dart 或 Flutter 库中找不到“函数”的定义有关。但话又说回来,我可以在 Framework.dart 文件中找到其他 typedef 也很好。
是否有可能在Haskell中有两个相同名称的函数具有不同数量的参数?这就是我想要做的:
inc = (+) 1
inc x = (+) x
我想能够调用我的增量函数,没有参数,默认增加1,或者使用参数,并使其增加x.
我可以做以下任何一种,例如:
map(inc)[1,2,3] - [2,3,4]的结果
map(inc 2)[1,2,3] - 结果[3,4,5]