小编ama*_*loy的帖子

为什么1 ... 1评估为10.1?

我刚刚遇到了来自3v4l的一小段PHP代码:https://3v4l.org/jmrZB

echo 1...1; //10.1
Run Code Online (Sandbox Code Playgroud)

而且我担心我不知道如何解释其结果.为什么这被认为是有效的?

php ellipsis echo

168
推荐指数
4
解决办法
1万
查看次数

在文本模式下在Emacs中设置4个空格缩进

TAB在使用主模式按下缓冲区时,我没有成功让Emacs从8个空格标签切换到4个空格标签text-mode.我已将以下内容添加到我的.emacs:

(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)

;;; And I have tried
(setq indent-tabs-mode nil)
(setq tab-width 4)
Run Code Online (Sandbox Code Playgroud)

无论我如何更改我的.emacs文件(或我的缓冲区的局部变量),TAB按钮总是做同样的事情.

  1. 如果上面没有文字,则缩进8个空格
  2. 如果前一行有文本,则缩进到第二个单词的开头

尽管我喜欢Emacs但这很烦人.当上一行中没有文本时,有没有办法让Emacs至少缩进4个空格?

emacs indentation

156
推荐指数
10
解决办法
14万
查看次数

为什么clojure中有这么多的地图构造函数?

新手问题,但我真的不明白为什么有很多操作来构建clojure中的地图.

你有conj,assocmerge,但他们似乎或多或少做同样的事情?

(assoc {:a 1 :b 2} :c 3)
(conj {:a 1 :b 2} {:c 3})
(merge {:a 1 :b 2} {:c 3})
Run Code Online (Sandbox Code Playgroud)

真正的区别是什么,为什么所有这些方法在做或多或少相同的事情时都需要?

clojure

47
推荐指数
3
解决办法
5723
查看次数

Clojure:对嵌套序列进行半展平

我有一个嵌入的矢量列表的列表,看起来像:

(([1 2]) ([3 4] [5 6]) ([7 8]))

我所知道的并不理想.我想把它弄平([1 2] [3 4] [5 6] [7 8]).

flatten不起作用:它给了我(1 2 3 4 5 6 7 8).

我该怎么做呢?我想我需要根据每个列表项的内容创建一个新列表,而不是项目,而这部分我无法从文档中找到如何做.

clojure sequence

45
推荐指数
3
解决办法
1万
查看次数

clojure将lazy-seq转换为哈希映射

我是一名初学者.如何从lazySeq创建地图?

(def fields [:name :age :color])
(def values ["joe" 32 "red"])
(def record (interleave fields values))

(def mymap (into {} record))  ;; ????

;; (get mymap :age)
;; 32
Run Code Online (Sandbox Code Playgroud)

clojure hashmap

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

Clojure REPL readline就像支持一样

几个REPL(如ruby's irb)有一些非常有用的功能,例如使用箭头键"快退"和"转发"命令历史记录; 但是当我尝试用Clojure做同样的事情时,它只打印垃圾(我怀疑它会打印出键码).如何在Clojure REPL中获得此功能?

clojure

27
推荐指数
2
解决办法
5567
查看次数

查看clojure中的某类内容?

我正在学习clojure,并且有一个非常基本的问题:鉴于clojure有类型推断,你怎么知道推断出什么类?

例如,这些将导致不同的数据类型:

(2)
(/ 2 3)
(/ 2.0 3)
Run Code Online (Sandbox Code Playgroud)

是否有某种class函数会返回数据类型?此外,是否有正常的方式将某些东西作为特定类型?所以在上面的第二个例子中,如果我想让结果浮动,我该怎么办?

clojure

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

检查集合是否为空的正确"clojure方式"是什么

我想编写一个函数,如果给定的集合不为空,则返回布尔值true,否则返回false.

我也可以

defn ..
(boolean (seq coll))
Run Code Online (Sandbox Code Playgroud)

要么

defn ..
(not (empty? coll))
Run Code Online (Sandbox Code Playgroud)

由于我是clojure的新手,我最初倾向于使用#2(更具可读性),但是clojure api参考empty?明确表示使用成语(seq coll)代替(not (empty? coll)),可能是为了避免双重否定.

我想知道什么是clojure方法来检查集合是否为非空并返回布尔值true/false.

clojure

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

HTML中的<img> vs <image>标记

我正在写一篇介绍性的HTML课程.我记得发现9年前,因为我是学习HTML,这两个<img><image>担任该标签用于显示图像,至少在IE浏览器.实际上,<image>仍然适用于5种顶级浏览器的最新版本.

我意识到这<image>是不正确的,不会用http://validator.w3.org验证.但是,是否有人知道如果<image>使用的是不显示图像的浏览器<img>

此外,我假设现代浏览器只显示使用<image>标签创建的图像,因为这是初学者常犯的错误.这个假设是否正确?

html

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

在clojure中的矩阵转置

在clojure中,矩阵的可能表示是向量的向量,即[[1 2] [3 4]].转置矩阵的可能实现方式是:

(defn transpose [matrix]
  (loop [matrix matrix, transp [], i 0]
    (if (< i (count (nth matrix 0)))
      (recur matrix 
             (conj transp
                   (vec (reduce concat
                                (map #(conj [] (nth %1 i))
                                     matrix))))
             (inc i))
      transp)))
Run Code Online (Sandbox Code Playgroud)

任何人都可以想到更具惯用性的clojure实现吗?例如,以避免这个可怕的循环复发?

clojure matrix

20
推荐指数
2
解决办法
4649
查看次数

标签 统计

clojure ×7

echo ×1

ellipsis ×1

emacs ×1

hashmap ×1

html ×1

indentation ×1

matrix ×1

php ×1

sequence ×1