在这里我唯一的原因是我cabal发现GHC没有找到我正在安装的软件包:
全局安装软件包时会发生这种情况,并且以前的软件包是在本地安装的.请注意,cabal-install默认安装在本地[...]
据推测,"本地安装"意味着将包装放入~/.cabal/.第一个问题:全球安装在哪里?
我一直在cabal使用sudo,所以我猜这是一个全局安装?我之所以这样做是因为它在没有运行时会抱怨权限sudo,所以这与"默认情况下cabal-install install"这句话相矛盾.第二个问题:如何在本地安装以及如何全局安装?
试图修复这个烂摊子,我一直在随机使用sudo ghc-pkg unregister并随机删除~/.cabal/.因此,我的包树可能已破坏,可能是本地和全局的.第三个问题:我该如何重新开始?
编辑:我正在运行Ubuntu 10.10.我安装了Haskell Platform 2011.
我正在使用Python标准库中的datetime.datetime类.我希望使用UTC时区构造此类的实例.要做到这一点,据我了解,我需要通过作为tzinfo参数传递给datetime构造函数的一些实例的tzinfo类.
tzinfo是一个抽象基类,意味着不应该直接实例化此类.您需要派生一个具体的子类,并且(至少)提供您使用的tzinfo方法所需的标准方法的实现datetime.该datetime模块不提供任何具体的子类tzinfo.
现在我很难过.我想做的就是代表"UTC".我应该能够使用大约三个字符来做到这一点,就像这样
import timezones
...
t = datetime(2015, 2, 1, 15, 16, 17, 345, timezones.UTC)
Run Code Online (Sandbox Code Playgroud)
简而言之,我不打算做文档告诉我的事情.那么我的替代方案是什么?
我刚刚下载了一个视频聊天项目.它使用STUN服务器并指定URL stun:23.21.150.121.如何使用自己的服务器而不是STUN服务器?我需要输入什么而不是此URL?
清除所有cabal installed包后,我在以下会话中运行:
$ cabal update
Downloading the latest package list from hackage.haskell.org
james@bast:~/.cabal/packages$ cabal install cabal-dev
Resolving dependencies...
Downloading cabal-dev-0.9.1...
[1 of 1] Compiling Main ( /tmp/cabal-dev-0.9.124882/cabal-dev-0.9.1/Setup.hs, /tmp/cabal-dev-0.9.124882/cabal-dev-0.9.1/dist/setup/Main.o )
Linking /tmp/cabal-dev-0.9.124882/cabal-dev-0.9.1/dist/setup/setup ...
Configuring cabal-dev-0.9.1...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package containers-0.4.2.1 requires array-0.4.0.0
package Cabal-1.14.0 requires array-0.4.0.0
package text-0.11.1.13 requires array-0.4.0.0
package deepseq-1.3.0.0 requires array-0.4.0.0
package containers-0.4.2.1 requires array-0.4.0.0
package HTTP-4000.2.2 requires …Run Code Online (Sandbox Code Playgroud) 是否有任何重要的Javascript库用于图形和网络表示,具有通用算法,优化等?我正在想象像C++柠檬库这样的东西,有图搜索,最短路径,最大流量等等.
Google绘制了一个空白,因为结果完全充斥着图形和图表绘制库.
我有一个定义了常量的类.然后我定义了一个访问该类常量的类方法.这很好用.一个例子:
#! /usr/bin/env ruby
class NonInstantiableClass
Const = "hello, world!"
class << self
def shout_my_constant
puts Const.upcase
end
end
end
NonInstantiableClass.shout_my_constant
Run Code Online (Sandbox Code Playgroud)
我的问题出现在尝试将此类方法移出到外部模块,如下所示:
#! /usr/bin/env ruby
module CommonMethods
def shout_my_constant
puts Const.upcase
end
end
class NonInstantiableClass
Const = "hello, world!"
class << self
include CommonMethods
end
end
NonInstantiableClass.shout_my_constant
Run Code Online (Sandbox Code Playgroud)
Ruby将方法解释为从模块而不是类中请求常量:
line 5:in `shout_my_constant': uninitialized constant CommonMethods::Const (NameError)
Run Code Online (Sandbox Code Playgroud)
那么,你的伙伴们有什么神奇的技巧让方法访问类不变?非常感谢.
这个 repo有3个go文件都以"package lumber"开头.要使用这个包,我应该把它放在我的GOROOT简单
import lumber
Run Code Online (Sandbox Code Playgroud)
在我的程序中.此包中的变量和类型如何跨多个文件相互连接?go编译器如何知道首先要读取哪个文件?
如果我想阅读包,我应该在哪里开始阅读以了解包装?这里的事情到底是什么?
我认为是xargsUNIX shell的map函数.功能是什么filter?
编辑:看起来我必须更明确一点.
假设我必须提交一个接受单个字符串作为参数的程序,并返回退出代码0或1.该程序将作为它接受的字符串的谓词.
例如,我可能决定将字符串参数解释为文件路径,并将谓词定义为"此文件是否存在".在这种情况下,程序可以是test -f,给定一个字符串,如果文件存在则退出0,否则退出1.
我还必须交出一串串.例如,我可能有一个~/paths包含的文件
/etc/apache2/apache2.conf
/foo/bar/baz
/etc/hosts
Run Code Online (Sandbox Code Playgroud)
现在,我想创建一个新文件,~/existing_paths只包含我文件系统中存在的那些路径.就我而言,那就是
/etc/apache2/apache2.conf
/etc/hosts
Run Code Online (Sandbox Code Playgroud)
我想通过读取~/paths文件,通过谓词过滤这些行test -f,并将输出写入来完成此操作~/existing_paths.通过类比xargs,这看起来像:
cat ~/paths | xfilter test -f > ~/existing_paths
Run Code Online (Sandbox Code Playgroud)
这是xfilter我正在寻找的假设程序:
xfilter COMMAND [ARG]...
Run Code Online (Sandbox Code Playgroud)
对于L其标准输入的每一行,将调用COMMAND [ARG]... L,如果退出代码为0,则打印L,否则不打印任何内容.
要明确,我不是在寻找:
我正在寻找:
xargs,或鉴于以下内容,
module Foo where
main = do
let foo = case 0 of
0 -> 4
return ()
Run Code Online (Sandbox Code Playgroud)
GHC坚持认为我有语法错误:
Make.hs:5:5: parse error (possibly incorrect indentation)
Run Code Online (Sandbox Code Playgroud)
为什么?我已经使用了Haskell一段时间了,它看起来对我来说是正确的.
在Visual Studio Code中,Cmd-Shift-P为我提供了命令面板。调色板中列出了许多Git命令,但是“添加”的唯一结果是“将文件添加到.gitignore”。这不是我想要的。我想要相当于git add $CURRENT_FILE。例如,通过Atom的git-plus扩展提供了这样的命令。在Visual Studio Code中等效的是什么?