Ruby 曾经有一个Ping.pingecho方法,但似乎(和Ping模块)在某个时候消失了:
% rvm use 1.8.7
Using ~/.rvm/gems/ruby-1.8.7-p334
% ruby -rping -e 'p Ping.pingecho "127.0.0.1"'
true
% rvm use 1.9.2
Using ~/.rvm/gems/ruby-1.9.2-p180
% ruby -rping -e 'p Ping.pingecho "127.0.0.1"'
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- ping (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
% ruby -e 'p Ping.pingecho "127.0.0.1"'
-e:1:in `<main>': uninitialized constant Object::Ping (NameError)
Run Code Online (Sandbox Code Playgroud)
它是否已移至不同的库(那么我应该require加载什么?),或者是否已将其删除,并替换为不同的模块(那么我应该使用什么来确定 IP 是否可访问?)。
我正在尝试开始使用因子。
到目前为止,我已经:
$INSTALL/factor$INSTALL/factor/factor这似乎运行良好。
按照编写第一个因子程序的说明,我注意到scaffold-vocab在我的$INSTALL/factor/work目录中生成了文件。我现在可以使用它,但总的来说,我喜欢保留一个单独的$INSTALL目录树和$CODE目录树。
所以我试图按照“使用因子目录树之外的代码”文档中的说明将其他目录添加到用于将代码加载到factor可执行文件的路径中,但我运气不佳。
首先,我尝试设置一个FACTOR_ROOTS环境变量:
% export FACTOR_ROOTS=.:$CODE/Factor:$INSTALL/factor
% $INSTALL/factor/factor
( scratchpad ) "work" resource-path .
"/usr/local/src/factor/work"
( scratchpad ) ^D
Run Code Online (Sandbox Code Playgroud)
然后,我尝试创建一个~/.factor-roots文件
% echo . > ~/.factor-roots
% echo $CODE/Factor >> ~/.factor-roots
% echo $INSTALL/factor >> ~/.factor-roots
% $INSTALL/factor/factor
( scratchpad ) "work" resource-path .
"/usr/local/src/factor/work"
( scratchpad ) ^D
Run Code Online (Sandbox Code Playgroud)
然后我检查了它是否应该./.factor-roots改为:
% …Run Code Online (Sandbox Code Playgroud) 我怀疑我完全是错误的做法.
我听说过mvnsh,并且想尝试一下,以减少构建时的滞后.
但我完全不知道如何做到这一点.我还在学习行家,和绘画之间的相似之处假mvn像和工具gem,cabal或cpan仍是咬我,所以我不知道我需要做的,像安装一个命令行工具mvnsh.
将它作为某个任意项目的依赖项似乎没有意义pom.xml.
我mvnsh-assembly-1.0.1.pom从下载页面下载了迄今为止所涉及的理论,但到目前为止,我所尝试的一切都没有奏效. mvn install -f mvnsh-assembly-1.0.1.pom下载了一堆罐子,然后死了. mvn artifact:install -f mvnsh-assembly-1.0.1.pom下载了更多的罐子,然后死了.
我真的不知道我在这做什么.我甚至可以mvn用来安装mvnsh吗?
当我使用时git log --pretty=oneline --shortstat,我得到了我的日志的紧凑表示:
% git log --pretty=oneline --shortstat
73c6eecd930c2f66d5c1e87fcca7ca9b0e356809 doing stuff with things
3 files changed, 134 insertions(+)
65b457d2e0e94e628e1b30204075540524c8a1d2 doing things with stuff
2 files changed, 4 insertions(+), 1 deletion(-)
...
375531279297af3c787855b0848b400f1c40b638 things with stuff doing
1 file changed, 2 insertions(+)
5501964b19815a07b64e1cd391e032147af33b8f with things doing stuff
25 files changed, 6746 insertions(+)
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试使用tformat等效的oneline,我会在stat之前得到一个额外的换行符:
% git log --pretty="%C(yellow)%H%Creset %s" --shortstat
73c6eecd930c2f66d5c1e87fcca7ca9b0e356809 doing stuff with things
3 files changed, 134 insertions(+)
65b457d2e0e94e628e1b30204075540524c8a1d2 doing things with stuff …Run Code Online (Sandbox Code Playgroud) 我正在玩一种多类型的无标签编码 Free
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE Rank2Types #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE TypeOperators #-}
module Free where
import GHC.Types
type (a :: k) ~> (b :: k) = Morphism k a b
newtype Natural (f :: j -> k) (g :: j -> k) =
Natural { getNatural :: forall (x :: j). f x ~> …Run Code Online (Sandbox Code Playgroud) 所以今天我正在玩Haskell,考虑给定类型的函数定义的自动生成.
例如,函数的定义
twoply :: (a -> b, a -> c) -> a -> (b, c)
Run Code Online (Sandbox Code Playgroud)
鉴于类型(如果我排除使用undefined :: a),对我来说是显而易见的.
那么我想出了以下内容:
¢ :: a -> (a ->b) -> b
¢ = flip ($)
Run Code Online (Sandbox Code Playgroud)
哪个有趣的属性
(¢) ¢ ($) :: a -> (a -> b) -> b
Run Code Online (Sandbox Code Playgroud)
这让我想到了我的问题.给定=::="与...类型相同" 的关系,该语句是否x =::= x x ($)唯一地定义了类型x?必须x =::= ¢或者是否存在另一种可能的类型x?
我试图从后退工作x =::= x x ($)推断x :: a -> (a -> b) -> b,但陷入困境.
我不能让GHCi或GHC打印unicode代码点221A(sqrt符号:√).
我不认为这是我的shell,因为我可以得到ruby:
irb> puts "\u221A"
?
Run Code Online (Sandbox Code Playgroud)
GHC/GHCi是另一个问题:
ghci> putStrLn "\8730"
ghci> withFile "temp.out" WriteMode $ flip hPutStrLn "\8730"
ghci> readFile "temp.out"
"\SUB\n"
Run Code Online (Sandbox Code Playgroud)
那么我做错了什么?
(GHC v6.l0.3)
我正在尝试在我的记录中编码一个简单的层次结构,但我遇到了一个奇怪的错误.
require 'rubygems'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => "sqlite3",
:database => ":memory:"
)
ActiveRecord::Schema.define do
create_table :foos do |t|
t.string :name, :null => false
t.integer :parent_id, :default => nil
end
end
class Foo < ActiveRecord::Base
belongs_to :parent, :class_name => Foo
end
bar = Foo.create( :name => 'Bar' )
p [ :bar, bar ]
baz = Foo.create( :name => 'Baz', :parent_id => bar.id )
p [ :baz, baz ]
quux = Foo.create( :name => 'Quux', :parent => bar )
p [ …Run Code Online (Sandbox Code Playgroud) 我有一个类型
type T s r a = StateT [s] (ListT (Reader r)) a
Run Code Online (Sandbox Code Playgroud)
我想创建一个monadic值,产生每个当前状态
states :: T a r a
Run Code Online (Sandbox Code Playgroud)
但我今天感觉很愚蠢,我无法弄清楚如何将价值转化T a r [a]为T a r a.
states = do
as <- get
-- insert magic
return a
Run Code Online (Sandbox Code Playgroud) 在下面的代码中,GHC 无法与 匹配Obj Hask,*尽管上面有声明type instance Obj Hask = *。
是什么阻止了这一点?
\n{-# LANGUAGE DataKinds #-}\n{-# LANGUAGE PolyKinds #-}\n{-# LANGUAGE TypeFamilies #-}\n\nmodule Minimal where\n\ntype family Obj t :: *\n\ntype family Arr t :: Obj t -> Obj t -> *\n\ndata Hask\n\ntype instance Obj Hask = *\n\ntype instance Arr Hask = (->)\n\n-- Minimal.hs:15:26: error:\n-- \xe2\x80\xa2 Couldn\'t match kind \xe2\x80\x98Obj Hask\xe2\x80\x99 with \xe2\x80\x98*\xe2\x80\x99\n-- Expected kind \xe2\x80\x98Obj Hask -> Obj Hask -> *\xe2\x80\x99,\n-- but \xe2\x80\x98(->)\xe2\x80\x99 has kind …Run Code Online (Sandbox Code Playgroud) haskell ×5
ruby ×2
activerecord ×1
data-kinds ×1
factor-lang ×1
ghc ×1
git ×1
git-log ×1
maven ×1
monads ×1
path ×1
ping ×1
types ×1
unicode ×1