我决定在DART中实现函数式undercore.js库.

我用如下所示的一些示例函数编写了‘undercore.dart’中的函数:

library underscore;

List _filter (ff, List s) => return s..retainWhere(ff);

List _dropWhile(ff,List s) => s.skipWhile(ff).toList();

在我的主Dart程序中,我添加了import语句

import 'underscore.dart';

但是,我在"未使用的导入"行上得到了持续的错误,因此没有任何函数被识别.

不过,当我重新定义"下划线"时,它确实起了作用.dart作为"mainProg的一部分",并使"mainProg"本身成为一个图书馆.

进一步的测试表明,导致问题的是函数名上的下划线.

有什么 idea 吗?

推荐答案

前缀下划线表示函数是库私有的.也就是说,您不能在其他库中使用它.请参见Libraries and Visibility.

库不仅提供API,而且是隐私单位:以下划线(_)开头的标识符仅在库中可见.

Dart相关问答推荐

如何映射作为DART中其他模型基础的复杂模型

基本数学函数的DART源代码

构造函数:将预处理的参数存储在传递给最终字段的辅助变量中

Dart,后面带感叹号的标识符

Swipe返回手势

StreamBuilder 会在无状态小部件中自动关闭流吗?

Dart JavaScript 与 jQuery 的互操作回调

自定义声音推送通知不起作用

Flutter 扩展方法不起作用,它说undefined class和requires the extension-methods language feature

无法将小部件标记为需要构建,因为框架已经在构建小部件的过程中

如何在Dart中创建空Map

如何使我的对话框可滚动?

在 Dart 中调用异步函数而不等待,例如启动一个线程

断言失败时如何在 Dart 中打印消息?

带有 Dart 的 CORS,我如何让它工作?

如何在 Dart 中将字符串转换为 utf8?

如何使用 Dart 和 web 以 60fps 的速度驱动动画循环?

可选参数的默认值必须是常量

Dart 如何匹配然后替换正则表达式

Dart 中的with关键字