我有一个单元测试来检查方法是否返回正确的IEnumerable.该方法使用构建可枚举的yield return.它是可枚举的类如下:
enum TokenType
{
NUMBER,
COMMAND,
ARITHMETIC,
}
internal class Token
{
public TokenType type { get; set; }
public string text { get; set; }
public static bool operator == (Token lh, Token rh) { return (lh.type == rh.type) && (lh.text == rh.text); }
public static bool operator != (Token lh, Token rh) { return !(lh == rh); }
public override int GetHashCode()
{
return text.GetHashCode() % type.GetHashCode();
}
public override bool Equals(object obj) …Run Code Online (Sandbox Code Playgroud) 我从来没有真正想过一个符号是否可以成为Lisp中的数字,所以我今天玩弄了它:
> '1
1
> (+ '1 '1)
2
> (+ '1 1)
2
> (define a '1)
> (+ a 1)
2
Run Code Online (Sandbox Code Playgroud)
上面的代码是scheme,但它在Common Lisp和Clojure中看起来大致相同. 是否有1,并引述1之间有什么区别?
我们的一些合作伙伴告诉我们,我们的软件需要与企业服务总线进行交互.在对此进行了一些研究后,我的直觉就是说这只是嗡嗡声说我们需要一种以平台为依据的方式来回传递消息.我只是想了解我们的合作伙伴告诉我们的事情.我是否正确地拒绝合作伙伴的要求,只是试图让我们的软件更符合流行语,或者他们是否告诉我们应该听的东西(即使用buzzspeak编码)?
我最近对某些事情做了一些统计分析,我很好奇是否有任何编程语言特别适合这个目的.我知道R,但我更喜欢一些更通用的东西(或者R是非常通用的?).
你们有什么建议?是否有任何语言的语法/语义特别针对这个?或者是否有任何语言具有非常好的库?
根据MySQL手册:
对于大型表,表锁定通常比行锁定更好,
Why is this? I would presume that row-level locking is better because when you lock on a larger table, you're locking more data.
请原谅我,如果我是钝的,但我对Clojure中有关nil的文档感到有点困惑.它说:
nil与Java null具有相同的值.
这是否意味着它们是相同的东西,或者它们是否有所不同?并且NullPointerException是否意味着遇到了Java null,或者如果遇到nil,我也会得到它吗?
我在emacs中随机收到以下错误:
变量绑定深度超过max-specpdl-size
......而且我一直在随意的时刻得到它.在研究了这个之后,好像某个地方的一些elisp正在递归过深.是否有任何跟踪此问题的策略?就实际造成这种情况而言,我完全不知所措.
我得到了一些错误,表明使用ropemacs进行无限递归(但这些通常是Python错误).用ropemacs可能会错误配置某些东西吗?
更新:有趣的是,我发现如果我为"speedbar"执行"Ch a"而不是"rope-",我总是会收到此错误.
我一直很好奇这些系统是如何工作的.例如,netflix或亚马逊如何根据过去的购买和/或评级确定要做出哪些推荐?是否有任何算法可供阅读?
就这样,这里没有误解,我没有实际的理由要求.我只是想出纯粹的好奇心.
(另外,如果有关于这一主题的现有问题,指向我吧."推荐系统"是一个很难长期来搜索.)
我想提出一种语言语法.我已经阅读了关于这三个的一些内容,并且无法真正看到任何人可以做的事情,而另一个人无法做到.有没有理由使用一个而不是另一个?或者只是一个偏好问题?
在python中,引用函数非常简单:
>>> def foo():
... print "foo called"
... return 1
...
>>> x = foo
>>> foo()
foo called
1
>>> x()
foo called
1
>>> x
<function foo at 0x1004ba5f0>
>>> foo
<function foo at 0x1004ba5f0>
Run Code Online (Sandbox Code Playgroud)
但是,它似乎在Ruby中有所不同,因为裸体foo实际上调用了foo:
ruby-1.9.2-p0 > def foo
ruby-1.9.2-p0 ?> print "foo called"
ruby-1.9.2-p0 ?> 1
ruby-1.9.2-p0 ?> end
=> nil
ruby-1.9.2-p0 > x = foo
foo called => 1
ruby-1.9.2-p0 > foo
foo called => 1
ruby-1.9.2-p0 > x
=> 1
Run Code Online (Sandbox Code Playgroud)
我如何实际将 …
clojure ×2
algorithm ×1
assert ×1
bnf ×1
c# ×1
common-lisp ×1
ebnf ×1
elisp ×1
emacs ×1
esb ×1
grammar ×1
ienumerable ×1
integration ×1
java ×1
libraries ×1
lisp ×1
locking ×1
messaging ×1
mstest ×1
mysql ×1
null ×1
quote ×1
r ×1
ropemacs ×1
ruby ×1
ruby-1.9 ×1
scheme ×1
soa ×1
statistics ×1
syntax ×1
unit-testing ×1