小编JB.*_*JB.的帖子

emacs regexps中的OR运算符是什么?

手册说要使用'\ |',因为在\ | b中匹配a或b.但是当我将它与regexp builder或align-regexp一起使用时,例如"True\| False",它不会识别"True"或"False".我收到以下消息:

Wrong argument type: integer-or-marker-p, nil
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

regex emacs

9
推荐指数
2
解决办法
2908
查看次数

Perl中的虚拟文件系统

我正在寻找Perl中的虚拟文件系统层.无论如何实现实际文件系统,都可以为基本文件系统例程提供一般抽象,例如ls,mkdir等等.

我想要一个这样的界面:

# create a directory "/some/path/tmp" in my current filesystem
my $plainfs = Module::new->(type => 'local', root=>'/some/path);
$plainfs->mdkir("/tmp"); 

# create "tmp" dir on a remote filesystem
my $sshfs = Module::new->(type=>'ssh', root=>'user:password@example.com:~/pub')
$sshfs->mdkir("/tmp"); 
Run Code Online (Sandbox Code Playgroud)

我在MetaCPAN上找到了VFS包,遗憾的是只有空的,未实现的模块.

已经实施了什么?现在,我只寻找"本地"文件系统和ftp或ssh-我不需要数据库"文件系统"或任何其他奇特的"文件系统",如CVS左右.搜索20k MetaCPAN模块是痛苦的,没有任何标记系统或类似...

perl

9
推荐指数
1
解决办法
715
查看次数

在JavaScript或jQuery中动态设置div id

如何动态设置div id?这是我的代码:

<div id="q1"></div>
<div id="q2"></div>
<div id="q3"></div>
<div id="q4"></div>
<div id="q5"></div>
Run Code Online (Sandbox Code Playgroud)

现在我想将q4 div id设置为q1,就像在JavaScript中那样.我怎么能用JavaScript或jQuery做到这一点?

我试过这个.

 document.getElementById("q4").id = "q1"; 
 document.getElementById("q2").id = "q5";
Run Code Online (Sandbox Code Playgroud)

但它是说该对象为null或未定义.

谢谢.琳.

javascript jquery

8
推荐指数
2
解决办法
6万
查看次数

使用取决于其他类型的函数键入类定义

对于Haskell来说还是新手,我已经碰到了以下内容:

我试图定义一些类型类来概括一堆使用高斯消元法求解线性方程组的函数.

给定一个线性系统

M x = k
Run Code Online (Sandbox Code Playgroud)

类型a的元素m(i,j) \elem M可以与不同类型bxk.为了能够解决系统,a应该是一个实例,Num并且b应该有乘法/加法运算符b,如下所示:

class MixedRing b where
    (.+.) :: b -> b -> b
    (.*.) :: (Num a) => b -> a -> b
    (./.) :: (Num a) => b -> a -> b
Run Code Online (Sandbox Code Playgroud)

现在,即使在这些运算符最简单的实现中,我也会遇到Could not deduce a ~ Int. a is a rigid type variable错误(让我们忘记./.哪些需要Fractional)

data Wrap = …
Run Code Online (Sandbox Code Playgroud)

haskell typeclass

8
推荐指数
2
解决办法
229
查看次数

寻找阿拉伯语词典数据库

我怎样才能获得阿拉伯语词典的数据库?

database dictionary arabic

7
推荐指数
1
解决办法
4717
查看次数

在J中模仿`tr`的任何其他方法?

我几周前接过J,大约在CodeGolf.SE测试版向公众开放的同时.

在那里使用J时经常出现的问题是重新格式化输入和输出以适应问题规范.所以我倾向于使用这样的代码:

( ] ` ('_'"0) ) @. (= & '-')
Run Code Online (Sandbox Code Playgroud)

这个因各种原因未经测试(编辑我错了); 意图是"转换-_".还经常出现:将换行符转换为空格(和转换),合并数字j,更改括号.

这会占用很多字符,并且不便于集成到程序的其余部分.

还有其他方法可以继续吗?最好是更短,但如果它有其他优点我很乐意学习其他任何东西.此外,具有隐含功能正面的解决方案可以减轻很多.

j

7
推荐指数
1
解决办法
377
查看次数

在没有<< loop >>的情况下修补递归定义的列表

上下文

我们都知道递归定义的Fibonacci序列:

fibs = 1 : 1 : zipWith (+) fibs (tail fibs)

?> fibs
[1,1,2,3,5,9,13,21,34,55,89...
Run Code Online (Sandbox Code Playgroud)

我试图在几个地方"修补"它,所以:

  1. 一般递归方程"元素是前两个元素的总和",但是
  2. 对于个别元素的价值,可以存在可数的例外情况.

我在哪里

效用

为此,我将定义以下函数来修改列表中的特定元素:

patch :: Int -> a -> [a] -> [a]
patch i v xs = left ++ v : right where (left,_:right) = splitAt i xs
Run Code Online (Sandbox Code Playgroud)

我可以用它来改变自然的顺序:

?> patch 5 0 [0..]
[0,1,2,3,4,0,6,7,8,9...
Run Code Online (Sandbox Code Playgroud)

后补丁

到现在为止还挺好.现在修补Fibonacci序列:

?> patch 1 0 fibs
[1,0,2,3,5,8,13,21,34,55,89...
Run Code Online (Sandbox Code Playgroud)

这符合要求(2).

完整补丁

为了获得(1),我将以更明确的结合风格重写定义:

fibs' p = rec where rec = p (1 : 1 : …
Run Code Online (Sandbox Code Playgroud)

haskell tying-the-knot

7
推荐指数
1
解决办法
110
查看次数

看似无可辩驳的 GADT 模式上的失败匹配

继续我的十字军打击MonadFail是在我的单子约束,我现在面临如下:

data Thing :: Bool -> Type where
  TrueThing :: Thing 'True
  FalseThing :: Thing 'False

myFunc :: Monad m => m ()
myFunc = do
  TrueThing <- return TrueThing
  return ()
Run Code Online (Sandbox Code Playgroud)

这不会编译,因为你猜对了:

• Could not deduce (MonadFail m)
    arising from a do statement
    with the failable pattern ‘TrueThing’
Run Code Online (Sandbox Code Playgroud)

事实上,如果我阅读了我能找到的关于该主题的任何1文档,我不太清楚匹配应该如何在 GADT 上工作。我显然会认为这个案例属于“无条件匹配”的保护伞。但我承认它不符合“单一构造函数data类型” 2 的条件。尽管避免这种歧义是首先使用 GADT 的重点。

当然~lazyPattern有效,但这只是创可贴。我已经对比赛进行了脱糖:

myFunc' :: Monad m => m ()
myFunc' = let f :: …
Run Code Online (Sandbox Code Playgroud)

monads haskell gadt

7
推荐指数
1
解决办法
191
查看次数

如何将Oracle BI集成到现有应用程序中?

我有一个用Perl编写的现有应用程序.现在我需要将此应用程序与OBI集成.该计划有一个按钮,用户可以单击该按钮在iframe中打开OBI .OBI驻留在与正在运行的应用程序不同的服务器上.

有没有人以前做过这个,知道这样做的最佳做法是什么,这样做的努力是什么?
另一个问题是是否可以向iframe中显示的OBI添加自定义.

oracle obiee business-intelligence

6
推荐指数
1
解决办法
1600
查看次数

ErrorT 已弃用,但 ExceptT 不适合

我有一个一元计算。在某些时候,由于 monadic 模式匹配,它开始需要 MonadFail 约束。

我的简单解决方法是用这个运行它:

fmap (either error id) . runErrorT
Run Code Online (Sandbox Code Playgroud)

然而哎哟:

Deprecated: "Use Control.Monad.Trans.Except instead"
Run Code Online (Sandbox Code Playgroud)

所以它似乎已ErrorT被弃用,我要使用它ExceptT。从外面看这听起来不错,但似乎 ExceptT 根本不是替代品 看看实例声明:

instance (Monad m, Error e) => MonadFail (ErrorT e m)
instance MonadFail m => MonadFail (ExceptT e m)
Run Code Online (Sandbox Code Playgroud)

ErrorT 提供MonadFail 实现。 ExceptT只是举起它。

我不太确定从哪里开始。

  • 我的代码最终不会有可反驳的绑定。这是静态已知可以工作但尚未向类型检查器证明的情况之一。我会到达那里,但需要一些时间。(比如,我将需要依赖类型,所以我需要学习依赖类型。这需要一段时间。)

  • 但与此同时,我的代码需要绑定,error如果我搞砸了,我真的可以被调用。

看起来我正在寻找的是一些通用MonadFail实现,它允许我......好吧,用不匹配的模式做我想做的事。 ErrorT做了这个,ExceptT没有。

我的非弃用选项是什么?

haskell

6
推荐指数
1
解决办法
196
查看次数