我决定在Dart中实现函数underscore.js库.
我在'underscore.dart'中编写了函数,其中的一些示例函数如下所示:
library underscore;
List _filter (ff, List s) => return s..retainWhere(ff);
List _dropWhile(ff,List s) => s.skipWhile(ff).toList();
Run Code Online (Sandbox Code Playgroud)
在我的主Dart程序中,我然后添加了import语句
import 'underscore.dart';
Run Code Online (Sandbox Code Playgroud)
但是,我在"未使用的导入"行中遇到了持久性错误,因此没有识别出任何功能.
但是,当我将'underscore.dart'重新定义为'mainProg的一部分'并使'mainProg'成为一个独立的库时,它确实有效.
进一步测试表明,正是函数名称的下划线导致了问题.
有任何想法吗?
我无法使用cabal安装或更新软件包,事实上,我收到的消息是Cabal"无法使用".我被困在Cabal-1.10.
所以,我有想法手动安装一些软件包.
首先我尝试'目录':但不,这需要Distribution.Simple报告为'缺失'.
可以通过手动安装新版本的Cabal来解决该问题:1.16.0.1.
但不,因为无法找到'目录'而失败.
因此要安装'目录'我必须有Cabal; 安装Cabal我必须有'目录'.
这是递归,但不是我们想要的方式!
除了完全卸载和重新安装Haskell平台之外,还有其他方法可以解决这种循环依赖吗?
(顺便说一句,我正在运行Windows 7)