任何想法????
应该是什么?内置了吗?完成这项任务的最佳方法是什么?
(def v ["one" "two" "three" "two"])
(defn find-thing [ thing vectr ]
(????))
(find-thing "two" v) ; ? maybe 1, maybe '(1,3), actually probably a lazy-seq
Run Code Online (Sandbox Code Playgroud) 我发现自己需要登录各种服务器,设置环境变量,然后以交互方式工作.
例如
$ ssh anvil
jla@anvil$ export V=hello
jla@anvil$ export W=world
jla@anvil$ echo $V $W
hello world
Run Code Online (Sandbox Code Playgroud)
如何组合前几个命令,然后让自己处于提示符状态?
就像是:
$ ssh anvil --on-login 'export V=hello; export W=world;'
jla@anvil$ echo $V $W
hello world
Run Code Online (Sandbox Code Playgroud)
显然这是一个模型问题.我真正要问的是"我如何ssh到另一台机器,运行一些命令,然后继续,好像我是手动运行它们?"
clojure中的各种特殊字符是事物的缩写
(quote (a b))
是相同的 '(a b)
正如你可以通过评估看到:
user> ''(a b)
(quote (a b))
Run Code Online (Sandbox Code Playgroud)
这似乎是语法缩写,这让我觉得很好.
但语法引用`似乎很特别.我想不出什么相当于
`(a b)
Run Code Online (Sandbox Code Playgroud)
我会猜到类似的东西(syntax-quote (a b))
,但是它不起作用,如果我猜错了,我就无法找出它真正被称为什么.
user> '`(a b)
(clojure.core/seq (clojure.core/concat (clojure.core/list (quote user/a)) (clojure.core/list (quote user/b))))
Run Code Online (Sandbox Code Playgroud)
有点神秘.
大概读者正在做一些特别的事情,也许是因为它需要知道命名空间?
有趣的是,syntax-quote中使用的特殊语法确实可以正常工作:
user> '~a
(clojure.core/unquote a)
user> '~@a
(clojure.core/unquote-splicing a)
user> '~'a
(clojure.core/unquote (quote a))
Run Code Online (Sandbox Code Playgroud)
除了这一个:
user> 'a#
a#
Run Code Online (Sandbox Code Playgroud)
我本以为会产生类似的东西 (unquote (gensym "a"))
我确实意识到我在这里有点虚弱,应该去阅读代码.如果没有人想解释正在发生的事情或提供参考,那么任何人都可以给我一个关于如何找到相关代码以及寻找什么的提示吗?
$ hg status
Run Code Online (Sandbox Code Playgroud)
和
$ hg status --ignored
Run Code Online (Sandbox Code Playgroud)
给出非常相似的输出.我想连接它们以便我可以将它们提供给awk,好像有一个hg状态--all(或svn的svn状态--no-ignore)
我想的是:
$ echo "$(hg status)" "$(hg status --ignored)" | awk ' ( $1 == "?" ) || ( $1 == "I") { print $2 }' | xargs rm -r
Run Code Online (Sandbox Code Playgroud)
制作一个"确实非常干净"的命令,但它似乎偶尔会留下一个文件,可能是因为新行缺失或其他东西.
到目前为止,我已经达到了:
#define ADEFINE "23"
#pragma message ("ADEFINE" ADEFINE)
Run Code Online (Sandbox Code Playgroud)
哪个有效,但如果ADEFINE不是字符串怎么办?
#define ADEFINE 23
#pragma message ("ADEFINE" ADEFINE)
Run Code Online (Sandbox Code Playgroud)
原因:
警告:格式错误的'#pragma message',被忽略
理想情况下,我希望能够处理任何值,包括undefined.
我已经在几个地方读过,在clojure中不鼓励使用单段命名空间.
事实上,我见过的几乎每个库都有(需要'lib.core)而不是(require'lib).
为什么?
编辑:我有点傻.对于单个段命名空间如何可能是坏事的简明示例,将给出额外的功劳.
什么是生成字处理器文件的最佳方法(理想情况下,尽可能与平台无关,但本机Word格式可以),其中带有图像,来自统计语言R?
是.我知道我不应该用它来编写脚本.是.这是垃圾.我确实是个傻瓜.
然而.
我想查看脚本正在执行的命令,以便进行调试.我认为你在bash脚本中使用set -x或set -v获得此效果.
所以,例如,如果脚本是
#!/bin/tcsh
echo "Hello"
Run Code Online (Sandbox Code Playgroud)
然后当它跑的时候,我会看到
echo "Hello"
Hello
Run Code Online (Sandbox Code Playgroud) 我有一个恼人的闭源工具,它将特定信息写入其配置文件.如果您尝试在其他文件上使用配置,则会加载旧文件.哎呀...
幸运的是,配置文件是文本,因此我可以对它们进行版本控制,结果发现,如果只是从文件中删除了违规行,则不会造成任何损害.
但是该工具不断将线路放回去.所以每次我想检查配置文件的新版本时,我都必须删除包含该符号的所有行openDirFile
.
我即将构建某种bash命令来在每个文件上运行grep -v,将结果存储在临时文件中,然后删除原始文件并重命名临时文件,但我想知道是否有人知道一个很好的清洁解决方案,或者已经编造并调试了类似的调用.
为了额外的功劳,如何在不破坏同一目录中的符号链接的情况下完成这项工作(favourite.rc-> signals.rc)?