我想查看红移补助金.
我找到了postgres的这个视图:
CREATE OR REPLACE VIEW view_all_grants AS
SELECT
use.usename as subject,
nsp.nspname as namespace,
c.relname as item,
c.relkind as type,
use2.usename as owner,
c.relacl,
(use2.usename != use.usename and c.relacl::text !~ ('({|,)' || use.usename || '=')) as public
FROM
pg_user use
cross join pg_class c
left join pg_namespace nsp on (c.relnamespace = nsp.oid)
left join pg_user use2 on (c.relowner = use2.usesysid)
WHERE
c.relowner = use.usesysid or
c.relacl::text ~ ('({|,)(|' || use.usename || ')=')
ORDER BY
subject,
namespace,
item …
Run Code Online (Sandbox Code Playgroud) 如果我在终端中运行emacs(即在iTerm2中启动emacs emacs -nw
)使用windmove
和它的默认绑定,我应该能够使用Shift
+的各种组合在窗口之间导航?
?
?
?
,还有paredit
涉及Ctrl
/ Meta
+的绑定?
?
?
?
,这些都可以正常工作(比如说) )一个elisp模式缓冲区.
看起来箭头键功能依赖于emacs解码终端转义序列,通过(我认为) input-decode-map
但是,如果我设置主模式,clojure-mode
那么转义序列的解码似乎被禁用(或覆盖).当我执行那些绑定时,我只是获得了转义序列.
绑定是clojure-mode
怎么回事?
版本:
(免责声明:我提出这个问题是关于clojure模式的问题,但没有解决方案即将发布)
更新2013/12/10:绝对清楚:这个问题是特定的clojure-mode
.emacs -nw
在iTerm +箭头键在其他主要模式下工作正常.我确定我正在做一些愚蠢的事情导致这种情况,我想知道是什么.
(defn seq-trial
[]
(map #(do (println "hello " %) (inc %)) (range 10)))
(take 3 (seq-trial))
Run Code Online (Sandbox Code Playgroud)
评估时上面的代码snippt打印出以下内容 -
(你好0你好1你好2你好3你好4 hello 5你好6 hello 7你好8你好9 1 2 3)
因为map返回了一个懒惰的序列,我希望这只能打印 -
(你好0你好1你好2 1 2 3)
为什么在这里评估整个列表?
现在我做的是:
$ lein ring server &
Run Code Online (Sandbox Code Playgroud)
然后我看到的是:[1] +停止lein响铃服务器.然后我正在尝试使用:
$ fg 1
Run Code Online (Sandbox Code Playgroud)
而且还看到它停止了.我做错了什么以及如何将响铃作为后台进程运行?
我在arch linux上安装了zsh-completions.VBoxManage
命令的完成似乎工作正常,但vboxmanage
没有(即只是简单完成本地目录中的文件).这两个VBoxManage
和vboxmanage
是符号链接到VBox
可执行文件.
我的_virtualbox完成定义似乎有第一行
#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless
Run Code Online (Sandbox Code Playgroud)
看起来像某种别名?但它不起作用.
我有一个修复方法是将上面的行更改为
#compdef VBoxManage=vboxmanage vboxmanage=vboxmanage VBoxHeadless=vboxheadless vboxheadless=vboxheadless
Run Code Online (Sandbox Code Playgroud)
这看起来很啰嗦,有一个指定模式的选项,但是这样命名别名的正确方法是什么?
我有一个我想以任意百分比分割的集合.我试图解决的实际问题是将数据集拆分为训练和交叉验证集.
应该随机选择每个元素的目标,但每个源元素在结果中只出现一次,并且分区的大小是固定的.如果源集合具有重复项,则重复项可能出现在不同的输出分区中或相同.
我有这个实现:
(defn split-shuffled
"Returns a 2 element vector partitioned by the percentage
specified by p. Elements are selected at random. Each
element of the source collection will appear only once in
the result."
[c p]
(let [m (count c)
idxs (into #{} (take (* m p) (shuffle (range m))))
afn (fn [i x] (if (idxs i) x))
bfn (fn [i x] (if-not (idxs i) x))]
[(keep-indexed afn c) (keep-indexed bfn c)]))
repl> (split-shuffled (range 10) 0.2)
[(4 6) …
Run Code Online (Sandbox Code Playgroud) 我正在做这个练习.帕斯卡的梯形
我的解决方案是:
(fn pascal[initseq]
(let [gen-nextseq (fn [s]
(let [s1 (conj (vec s) 0)
s2 (cons 0 s)]
(map + s1 s2)))]
(cons
initseq
(lazy-seq
(pascal
(gen-nextseq initseq))))))
Run Code Online (Sandbox Code Playgroud)
我通过了前三个测试用例,但最后一个失败了.
它说"java.lang.ArithmeticException:integer overflow"
那么,Clojure中有一个大整数,还是有更好的方法来解决问题?