小编qre*_*est的帖子

在Scala中定义函数的这三种方式之间的差异

给出了表达相同功能的三种方式f(a) := a + 1:

val f1 = (a:Int) => a + 1
def f2 = (a:Int) => a + 1
def f3:(Int => Int) = a => a + 1
Run Code Online (Sandbox Code Playgroud)

这些定义有何不同?REPL没有表明任何明显的差异:

scala> f1
res38: (Int) => Int = <function1>
scala> f2
res39: (Int) => Int = <function1>
scala> f3
res40: (Int) => Int = <function1>
Run Code Online (Sandbox Code Playgroud)

scala

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

使用Emacs入门套件时,在Emacs中禁用hl-line?

这个问题正在削弱我的生产力.

Emacs入门套件自动启用hl-line,突出显示当前行.这让我无法在当前行看到突出显示.

我试过设置(global-hl-line-mode nil)(hl-line-mode nil)全球范围内,并添加到模式挂钩,如Clojure的模式挂钩,但它仍然显示.

我需要什么elisp来禁用此功能?

emacs clojure

16
推荐指数
2
解决办法
2679
查看次数

VIM和Scala - 缩进问题?

我下载了Scala 2.8,安装了包含的vim脚本,并尝试输入一些Scala代码.当我输入val x = 1 + 2并按下ENTER时,缩进变为低于v.当我输入时val x = (1 + 2),缩进低于x!

如果任何人都使用VIM 进行Scala,很久以前就会看到这个bug.或者我是唯一一个看到这个的人?

vim scala

14
推荐指数
1
解决办法
1501
查看次数

从组成部分构建URL的clojure

在Python中我会做以下事情:

>>> q = urllib.urlencode({"q": "clojure url"})
>>> q
'q=clojure+url'

>>> url = "http://stackoverflow.com/search?" + q
>>> url
'http://stackoverflow.com/search?q=clojure+url'
Run Code Online (Sandbox Code Playgroud)

如何在Clojure中完成上面为我完成的所有编码?换句话说,我该怎么做类似以下的事情:

=> (build-url "http://stackoverflow.com/search" {"q" "clojure url"})
"http://stackoverflow.com/search?q=clojure+url"
Run Code Online (Sandbox Code Playgroud)

url clojure

13
推荐指数
3
解决办法
6566
查看次数

基本Clojure:如何做一系列if-then?

还在试着把头包裹在Clojure周围.我可以看到如何在Haskell,Python等中实现以下内容,但还不知道如何在Clojure中编写它.感谢有人能告诉我基本结构.下面的伪代码.

a = get_a
if (a == bad_value) then throw exception_a
b = get_b
if (b == bad_value) then throw exception_b
c = get_c
if (c == bad_value) then throw exception_c
...
do_action_with a b c
Run Code Online (Sandbox Code Playgroud)

这会是一堆让我们最后的表达吗?谢谢.

clojure

12
推荐指数
2
解决办法
815
查看次数

Emacs热键对齐等号

我想在我的.emacs中添加这样的东西:

(local-set-key (kbd "C-c a =") 
  (lambda () (interactive) 
    (align-regexp (region-beginning) (region-end) "=")))
Run Code Online (Sandbox Code Playgroud)

但每当我运行它时,我都会收到错误"错误的类型参数:numberp,nil".

这个错误意味着什么,我如何得到我正在寻找的效果?

emacs

12
推荐指数
1
解决办法
1635
查看次数

Clojure sprintf?

有printf.它直接打印到stdout.

sprintf怎么样,格式与printf相同,但返回一个没有副作用的字符串?

printf clojure

11
推荐指数
3
解决办法
2596
查看次数

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

如何提交包裹更新?

如何向ELPA提交我使用的软件包更新?有人可以举例说明如何准备paredit-22,例如,加入ELPA?

emacs elpa

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

Emacs scala-mode newline-and-indent weirdness

我在scala-mode下的Emacs中有以下代码(来自Scala 2.8包):

object t1 {
  def main (args: List[String]) = {
    println("Hello")
  }
}
Run Code Online (Sandbox Code Playgroud)

我也将我的返回键设置为newline-and-indent.当我在最后一个括号后反复点击返回时,它会转到最左边的一列空行.当我再次按下返回时,它会缩进两个空格.然后它停留在这个缩进处.显然它不应该这样做.

但是,当我反复运行newline-and-indentMx并打字时newline-and-indent,我没有得到两个空格的缩进.同样的道理reindent-then-newline-and-indent.

为什么会出现这种差异?

emacs scala

5
推荐指数
1
解决办法
777
查看次数

标签 统计

clojure ×4

emacs ×4

scala ×3

elpa ×1

exception ×1

exception-handling ×1

haskell ×1

printf ×1

url ×1

vim ×1