我正在使用emacs组织模式用于各种目的.最常见的功能是使用特殊标记TODO和标记我的任务DONE.有没有办法添加自定义标签(例如IN_PROGRESS)并用单独的颜色突出显示它?
此外,如果这个标签在同一个缓冲区中滚动TODO,DONE那么我会很好,所以我可以使用相同的热键在它们之间切换.
我正在使用JAXB注释从我的类生成xsd模式.
带参数defaultValue的注释@XmlElement设置element的默认值.是否可以为@XmlAttribute设置默认值?
PS我检查了xsd语法是否允许属性的默认值
我需要修改map函数行为,以提供不是最小集合大小但最大化的映射,并且对于缺少的元素使用零.
标准行为:
(map + [1 2 3] [4 5 6 7 8]) => [5 7 9]
Run Code Online (Sandbox Code Playgroud)
需要的行为:
(map + [1 2 3] [4 5 6 7 8]) => [5 7 9 7 8]
Run Code Online (Sandbox Code Playgroud)
我编写了函数来执行此操作,但它似乎不能用varargs进行扩展.
(defn map-ext [f coll1 coll2]
(let [mx (max (count coll1) (count coll2))]
(map f
(concat coll1 (repeat (- mx (count coll1)) 0))
(concat coll2 (repeat (- mx (count coll2)) 0)))))
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我想解决单词分裂问题(从没有空格的长字符串解析单词).对于examle我们要从中提取的话somelongword来[some, long, word].
我们可以通过使用字典的一些动态方法来实现这一点,但我们遇到的另一个问题是解析模糊性.即orcore=> or core或orc ore(我们不考虑短语含义或词性).所以我考虑使用一些统计或ML方法.
我发现Naive Bayes和带有火车组的Viterbi算法可以用来解决这个问题.你能指点一些关于这些算法应用于分词问题的信息吗?
UPD:我使用Peter Norvig的代码中的一些建议在Clojure上实现了这个方法
我有一个执行一些工作的util类.显然,它是关闭扩展,所有方法都是静态的.为简单起见,该类看起来像这样:
public final class Util {
private Util() { }
public static void doWork() {
// some work
int variable = help();
// some work uses variable
}
private static int help() {
// some helper functionality
}
}
Run Code Online (Sandbox Code Playgroud)
该类具有doWork执行大量计算的方法.顺便说一句,方法调用helper方法help获取一些结果,其余的代码使用help方法返回的结果.
现在,在客户端代码中我想重用方法的功能doWork,而不是调用help我想调用help2方法.最简单的解决方案就是创建doWork2替换help为的方法help2.
这是非常糟糕的方法,因为每个变化都doWork必须在doWork2两者之间复制.这与Template Method模式非常相似,但由于我们这里没有扩展,我们无法应用它.
我想出的最佳解决方案是为此方法添加参数,但保留所有现有用户doWork:
public static void doWork() {
doWorkWithParameter(true);
}
public static void …Run Code Online (Sandbox Code Playgroud) 在客户端使用gwt时,有一种常见的情况是在回调方法中调用异步方法和处理.
asyncService.method(new AbstractAsyncCallback<Number>() {
@Override
public void onSuccess(Number num) {
// do something with number
}
});
Run Code Online (Sandbox Code Playgroud)
但是经常遇到需要从一个异步方法获得结果,传递到另一个等等的情况.这就是为什么我们得到脏的级联代码,难以阅读.
asyncService.method(new AbstractAsyncCallback<Number>() {
@Override
public void onSuccess(Number num) {
asyncService.method1(num, new AbstractAsyncCallback<String>() {
@Override
public void onSuccess(String str) {
asyncService.method2(str, new AbstractAsyncCallback<Void>() {
@Override
public void onSuccess(Void void) {
// do something
}
});
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
我知道,我们可以在服务器端组合这三个调用来制作单独的服务方法,但是如果我们需要很多这样的不同方法组合呢?另一个问题是添加单独的方法,通过简单组合现有方法来执行我们可以获得的功能.
有没有一个共同的模式来摆脱这样的代码,而不是改变服务器端服务?
我正在做一个scala课程,其中一个例子是sumInts函数,定义如下:
def sumInts(a: Int, b: Int) : Int =
if(a > b) 0
else a + sumInts(a + 1 , b)
Run Code Online (Sandbox Code Playgroud)
我试图通过在迭代时输出一些值来更好地理解这个函数:
class SumInts {
def sumInts(a: Int, b: Int) : Int =
if(a > b) 0 else
{
println(a + " + sumInts("+(a + 1)+" , "+b+")")
val res1 = sumInts(a + 1 , b)
val res2 = a
val res3 = res1 + res2
println("res1 is : "+res1+", res2 is "+res2+", res3 is "+res3)
res3
}
}
Run Code Online (Sandbox Code Playgroud)
所以代码: …
我使用eclipse在Java中开发,因为它有很多有用的功能.一些经常使用的是"开放声明"和"开放呼叫层次结构".
打开声明 - 如果我在某处使用某些功能,我只需按F3(热键)并获取光标指向其定义的文件.
调用层次结构 - 显示调用此方法的树.
对于clojure上的编程,我使用emacs作为IDE.
我很感兴趣,如果Emacs支持这样的功能或存在一些插件来添加它?
注意:我可以对方法名称执行正则表达式搜索以查找定义,但它并不总是会给出唯一的结果.