小编Mic*_*ent的帖子

当滚动并碰到缓冲区底部的顶部时,如何阻止Emacs(Cocoa OSX)发出噪音?

当我使用Macbook的触摸板时,如何在滚动并点击缓冲区底部顶部时使Emacs(Cocoa OSX,版本24.0.91来自http://emacsformacosx.com/builds)发出噪音?我知道我也许应该用键盘滚动,但我已经习惯使用Macbook的触控板了.

macos emacs

11
推荐指数
1
解决办法
2002
查看次数

使异常更具信息性

有没有办法让Java Exceptions更具信息性?

例如,从ClassCastException docs中获取此代码:

Object x = new Integer(0);
System.out.println((String)x);
Run Code Online (Sandbox Code Playgroud)

Java会给我一个ClassCastException,其中包含"无法将Integer类型转换为String"的消息.我怎么能说:"不能将整数0转换为字符串"而是?如果我试图将一个字符串"foo"强制转换为Person,那么就说:"不能将String foo强制转换为Person"?因此,我试图投射的对象的价值.

我能以某种方式用更有用的信息替换标准的ClassCastException,所以我不必介绍很多try/catch-blocks吗?子类化当然是一个选项,但是我必须引入大量的try/catch-blocks.

我问的原因实际上是因为另一种编译语言编译成JVM,Clojure.

在Clojure中,初学者经常犯这样的错误:

(def my-list ("foo" "bar"))
Run Code Online (Sandbox Code Playgroud)

这会导致错误消息:

java.lang.String cannot be cast to clojure.lang.IFn
Run Code Online (Sandbox Code Playgroud)

对于初学者来说,看到以下内容会非常有帮助:

java.lang.String "foo" cannot be cast to clojure.lang.IFn
Run Code Online (Sandbox Code Playgroud)

所以他们会得到他们试图在这里使用字符串aa函数的线索.

能够为学习环境注入这些新的Exceptions,而不是实际重写Clojure编译器,这将是很好的.它可以通过捕获这些类型的异常来解决REPL级别.我仍然很好奇这是否有可能采用一些漂亮的技术.

java exception-handling clojure

11
推荐指数
1
解决办法
432
查看次数

代表不仅仅是速记界面吗?

假设我们有:

interface Foo 
{
 bool Func(int x);
}

class Bar: Foo
{
  bool Func(int x)
  {
   return (x>0);
  }  
}

class Baz: Foo
{
  bool Func(int x)
  {
   return (x<0);
  }  
}
Run Code Online (Sandbox Code Playgroud)

现在我们可以将Bar和Baz作为Foos折腾并调用他们的Func方法.

代表们对此进行了简化:

delegate bool Foo(int x);

bool Bar(int x)
{
 return (x<0);
}

bool Baz(int x)
{
 return (x>0);
}
Run Code Online (Sandbox Code Playgroud)

现在我们可以作为Foo代表折腾Bar和Baz.

除了获得更短的代码之外,代表们的真正好处是什么?

c# delegates interface

10
推荐指数
2
解决办法
2031
查看次数

为什么在这个例子中使用Reducer没有显着的加速?

(require '[clojure.core.reducers :as r])

(def data (into [] (take 10000000 (repeatedly #(rand-int 1000)))))

(defn frequencies [coll]
  (reduce (fn [counts x]
    (merge-with + counts {x 1}))
    {} coll))

(defn pfrequencies [coll]
  (r/reduce (fn [counts x]
    (merge-with + counts {x 1}))
    {} coll))


user=> (time (do (frequencies data) nil))
"Elapsed time: 29697.183 msecs"

user=> (time (do (pfrequencies data) nil))
"Elapsed time: 25273.794 msecs"

user=> (time (do (frequencies data) nil))
"Elapsed time: 25384.086 msecs"

user=> (time (do (pfrequencies data) nil))
"Elapsed time: 25778.502 …
Run Code Online (Sandbox Code Playgroud)

parallel-processing clojure reducers

10
推荐指数
2
解决办法
1520
查看次数

你为什么要在你的Emacs初始化文件中使用Dropbox和Git?

我听说很多Emacs用户在git版本控制下拥有他们的init文件(.emacs或init.el),并且当他们在多个系统上运行Emacs时,通过Dropbox同步git存储库.为什么你会在这种情况下使用git?

通常检查您所在的系统以及根据具体情况加载和设置的内容可能发生在所有系统的同一个init文件中.为什么要保存init文件的版本历史记录,为它确定git存储库的合理性是否真的非常重要?

那么,是不是简单地将你的init文件放在Dropbox目录中并直接从Emacs加载那个,而不是从Dropbox中同步的git repo中提取最新版本?

git emacs dropbox

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

是什么让(开放)Dylan与其他编程语言截然不同?

如今,有许多编程语言:功能,面向对象,动态或静态类型,或这些特性的混合.

最近我注意到了这个版本:http://opendylan.org/news/2011/12/10/new_release.html

打开迪伦.

如果已经有Clojure,Python,Java,Scala,C#,Common Lisp,Scheme以及可以说更大,更重要的社区以及更多围绕它们的库,为什么人们学习这种编程语言会有趣呢?

我希望这篇文章不会因为"过于主观"而被关闭,我只是对Dylan与其他所有编程语言的区别感兴趣!

python scala clojure common-lisp dylan

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

在Prismatic/Schema中打开/关闭验证的全局标志?

在开发期间,我想为使用schema.core/defn定义的所有函数启用验证,而不是必须使用它们进行注释:^:always-validate.这个库有可能吗?

这样的东西不起作用,可能是因为元数据只在编译时添加:

(def dev false)

;; example of schema validation
(sm/defn ^{:always-validate dev}
  add :- s/Num
  [a :- s/Num b :- s/Num]
  (+ a b))
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript plumatic-schema

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

Clojure中的功能概述来自CL之外的其他语言

我正在寻找来自除Common Lisp之外的其他语言的Clojure功能的概述.

例如:

  • STM:语言X,Y和Z.

欢迎您的意见!

language-features clojure common-lisp

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

如何在Midje实施"提供"?

我正在阅读关于TDD的Clojure on Action第8章,并尝试使用stubing宏.它使用动态绑定机制来存根函数.唉,在Clojure 1.3中,不可能将绑定机制用于非动态变量,因此在大多数情况下,存根宏不起作用,除非您明确声明指向函数动态的var.然后我想知道在Midje如何进行存根并试图找到"提供"的来源,但我找不到它.所以这里:

如何在Midje实施"提供"?有人可以详细解释一下吗?

tdd clojure stubbing midje

8
推荐指数
1
解决办法
808
查看次数

Sass:.css文件中不保留unicode转义

我在.sass文件中使用unicode转义,我想保留它,但是sass在输出中创建了一个奇怪的字符.怎么解决这个?

我正在使用Mac和Sass版本3.4.13.

mborkent@MacBook-Pro-van-Michiel /tmp $ cat new.sass
.icon-ok
  &:before
    content: "\e601"
mborkent@MacBook-Pro-van-Michiel /tmp $ sass new.sass new.css
mborkent@MacBook-Pro-van-Michiel /tmp $ cat new.css
@charset "UTF-8";
.icon-ok:before {
  content: "?"; }

/*# sourceMappingURL=new.css.map */
Run Code Online (Sandbox Code Playgroud)

css unicode macos sass

8
推荐指数
1
解决办法
3273
查看次数