小编Eri*_*lun的帖子

D3.js和Cytoscape.js有什么区别?

D3.js和Cytoscape.js有什么区别?

为什么有人会选择Cytoscape而不是D3.js?

javascript data-visualization graph-visualization d3.js cytoscape.js

24
推荐指数
1
解决办法
7306
查看次数

23
推荐指数
1
解决办法
8596
查看次数

Monoid与MonadPlus

我对这两者都很陌生Monads,Monoids而且最近也学到了MonadPlus.从我所看到的,MonoidMonadPlus都提供了二元结合运算和身份类型.(我用数学的说法称之为半群.)那么Monoid和之间的区别是MonadPlus什么?

monads haskell typeclass monoids

23
推荐指数
3
解决办法
4112
查看次数

是什么让Ometa与众不同?

Ometa是"一种新的面向对象的模式匹配语言".我在Oz工具等语言中遇到了模式匹配,以解析之前的Lexx/Yacc或Pyparsing等语法.尽管查看示例代码,阅读讨论以及与朋友交谈,我仍然无法真正理解Ometa的特殊之处(或者至少为什么有些人认为是这样).任何解释?

grammar parsing programming-languages ometa

21
推荐指数
2
解决办法
4082
查看次数

使用自定义哈希函数创建一个namedtuple

说我有namedtuple这样的:

FooTuple = namedtuple("FooTuple", "item1, item2")
Run Code Online (Sandbox Code Playgroud)

我希望以下函数用于散列:

foo_hash(self):
    return hash(self.item1) * (self.item2)
Run Code Online (Sandbox Code Playgroud)

我想要这个,因为我想要item1item2无关的顺序(我将对比较运算符做同样的事情).我想到了两种方法来做到这一点.第一个是:

FooTuple.__hash__ = foo_hash
Run Code Online (Sandbox Code Playgroud)

这有效,但感觉被黑了.所以我尝试了子类化FooTuple:

class EnhancedFooTuple(FooTuple):
    def __init__(self, item1, item2):
        FooTuple.__init__(self, item1, item2)

    # custom hash function here
Run Code Online (Sandbox Code Playgroud)

但后来我明白了:

DeprecationWarning: object.__init__() takes no parameters
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么办?或者这是一个坏主意,我应该从头开始编写我自己的课程?

python inheritance overriding tuples

21
推荐指数
2
解决办法
1万
查看次数

检测iOS上的夜班模式是否处于活动状态

我在iOS 9.3 API Diffs中看了一下,以及搜索开发者网站和论坛,但没有看到任何引用.

是否可以确定夜班是否有效?我认为,如果系统增加了屏幕颜色,那么需要真正色调的应用程序会想要提醒用户.

ios ios9.3

21
推荐指数
1
解决办法
1059
查看次数

为什么Haskell缺少文字Data.Map构造函数语法?

我还是Haskell的新手(不断学习它).我想知道为什么Haskell没有文字Data.Map构造函数语法,比如Clojure或Ruby中的Map/Hash构造函数语法.有原因吗?我认为既然Haskell确实有一个文字构造函数的语法Data.List,那么应该有一个Data.Map.

这个问题根本不是至关重要的.我想通过答案了解有关Haskell的更多信息.

haskell

20
推荐指数
4
解决办法
2835
查看次数

如何在Emacs中开始使用Xiki?

试图让xiki工作.

它安装:

$ xiki directory
/Users/joshcheek/.rvm/gems/ruby-1.9.3-p194/gems/xiki-0.6.3/
Run Code Online (Sandbox Code Playgroud)

移动所有文件的shell脚本成功执行AFAIK,但我关闭了那个shell,因此无法显示其输出.但是,没有什么能比我错了.

看起来服务器正在运行:

$ xiki status
xiki_process.rb: running [pid 93257]
Run Code Online (Sandbox Code Playgroud)

我安装了emacs(我在安装xiki之前安装了它),并设置了init文件:

$ cat ~/.el4r/init.rb 
# Beginning of the el4r block:
# RCtool generated this block automatically. DO NOT MODIFY this block!
# This is the el4r initialization file.
# End of the el4r block.
# User-setting area is below this line.
# User-setting area is below this line.

$LOAD_PATH.unshift "/Users/joshcheek/.rvm/gems/ruby-1.9.3-p194/gems/xiki-0.6.3/lib"
require 'xiki'
Xiki.init

KeyBindings.keys   # Use default key bindings
Themes.use "Default"  # Use …
Run Code Online (Sandbox Code Playgroud)

ruby emacs editor xiki

19
推荐指数
1
解决办法
4196
查看次数

Iteratees和FRP之间有什么联系?

在我看来,这两个想法之间存在着密切的联系.我的猜测是,如果有一种方法可以用迭代器表示任意图形,那么FRP可以用Iteratees来实现.但是afaik他们只支持链式结构.

有人可以对此有所了解吗?

haskell frp iterate conduit haskell-pipes

19
推荐指数
2
解决办法
864
查看次数

斯卡拉:谁能解释一下?

请考虑以下Scala代码:

case class Data[T](value: Option[T]) {
  def get: T = try {
    doGet
  } catch {
    case e: Exception => throw new IllegalArgumentException
  }

  def doGet: T = value match {
    case Some(v) => v
    case None => ().asInstanceOf[T]
  }
}

Data[Unit](None).get
Data[Integer](None).get // which exception is thrown here?
Run Code Online (Sandbox Code Playgroud)

[剧透]这是一个ClassCastException; 谁能解释为什么它没被捕获并被一个IllegalArgumentException

PS:要抢占任何关于我为什么要这样做的问题:这是一些代码的简化版本,它使用json4s将一些字符串解析成一个Option[T]; 如果解析失败None则返回,如果TUnit,那就没关系,如果T是其他类型则不行.

generics scala

19
推荐指数
1
解决办法
500
查看次数