我发现自己最近在clojure代码中使用了以下习语.
(def *some-global-var* (ref {}))
(defn get-global-var []
@*global-var*)
(defn update-global-var [val]
(dosync (ref-set *global-var* val)))
Run Code Online (Sandbox Code Playgroud)
大多数情况下,这甚至不是多线程代码,可能需要refs给你的事务语义.它只是感觉refs不仅仅是线程代码,而且基本上适用于任何需要不变性的全局.这有更好的做法吗?我可以尝试重构代码以仅使用绑定或让但是对于某些应用程序来说这会变得特别棘手.
我听到谷歌关于Go编程语言的嗡嗡声.维基百科将其描述为:"Go旨在提供静态类型编译语言的效率,并且易于编程动态语言".我在想,既然它是Android制造商的一种语言,他们应该对创建Android应用程序有一些支持.是否有任何工具可以从Go创建Android应用程序?是一个值得学习的语言,假设"SOMEDAY"android可能基于GO.
我使用vim作为我的编辑器,但是我希望在重构方面获得一些与Java相同的功能.是否有用于重构java的命令行工具?我可能会使用perl或vim脚本一起破解某些东西但是如果已经存在某些内容我宁愿使用它.
我在Ubuntu 12.04上基于http://source.android.com/source/building.html构建了android源代码,当我运行模拟器时,我收到错误并且模拟器无法启动:
WARNING: Application calling GLX 1.3 function "glXCreatePbuffer" when GLX 1.3
is not supported! This is an application bug!
X Error of failed request: GLXUnsupportedPrivateRequest
Major opcode of failed request: 146 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Serial number of failed request: 20
Current serial number in output stream: 22
Run Code Online (Sandbox Code Playgroud)
知道怎么解决这个问题?
我需要提一下,我用SSH连接到机器.当我从Ubuntu机器连接并运行时,它工作正常,但当我通过SSH与我的macbook机器连接到它并尝试运行它给我上面的错误.
BR,Ramin
Perl人在模拟Moose对象时使用了哪些策略,它们将作为类型约束属性注入其他Moose对象?
Test :: MockObject :: Extends似乎与Moose不太匹配.我需要将对象作为一个特定的包来祝福,所以一个普通的Test :: MockObject将不起作用.我相信其他人也有类似的困难.你是怎么解决的?
CPAN上已有解决方案的额外分数.
目前有一种方法可以在Gadfly.jl中添加绘图元素吗?
例如,在R中,如果我有另一个返回ggplot的函数,并且我想为其添加标题,我会执行以下操作:
p <- makeMyPlot()
p + ggtitle("Now it has a title")
Run Code Online (Sandbox Code Playgroud)
目前是否有相同的牛fly?如果没有,这是否在Gadfly的路线图上?
我需要修改op记录中的值{place}和{other_place}.
#op{
action = [walk, from, {place}, to, {other_place}],
preconds = [[at, {place}, me], [on, floor, me],
[other_place, {place}, {other_place}]],
add_list = [[at, {other_place}, me]],
del_list = [[at, {place}, me]]
}
Run Code Online (Sandbox Code Playgroud)
但是erlang不允许修改变量.是否有数据类型?
我一直在使用Google App Engine Go SDK开发一些应用程序,这些应用程序使用Memcache作为缓冲区从数据存储区加载数据.由于Memcache只能存储数据[]byte,我经常发现自己创建函数来将各种结构编码为字符串,并且还可以反转该过程.毋庸置疑,当我需要做5次这样的事情时,这是相当繁琐的.
是否有一种简单的方法可以将任何可以存储在Datastore中的任意结构转换为将其[]byte存储在Memcache中,然后将其加载回来,而无需为GAE Golang中的各种结构创建自定义代码?
google-app-engine serialization memcached go data-structures
是否有Perlàla的预卷流式统计库:http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#On-line_algorithm
我还没有在CPAN上找到任何东西,我真的不想自己编写代码.
基于http://github.com/technomancy/swank-clojure的嵌入部分,我使用以下内容对其进行测试.有没有更好的方法来做这个不使用编译器?有没有办法以编程方式停止swank?似乎start-repl控制了线程.什么是产生另一个线程的好方法,并能够以编程方式杀死该线程.
import clojure.lang.Compiler;
import java.io.StringReader;
public class Embed {
public static void main(String[] args) throws Exception {
final String startSwankScript =
"(ns my-app\n" +
" (:use [swank.swank :as swank]))\n" +
"(swank/start-repl) ";
Compiler.load(new StringReader(startSwankScript));
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢,嗯
java ×3
android ×2
clojure ×2
go ×2
perl ×2
command-line ×1
erlang ×1
gadfly ×1
ggplot2 ×1
globals ×1
immutability ×1
julia ×1
memcached ×1
mocking ×1
moose ×1
record ×1
refactoring ×1
refs ×1
statistics ×1
streaming ×1
swank ×1
testing ×1
ubuntu-12.04 ×1