小编mis*_*off的帖子

将自定义标记添加到emacs org-mode

我正在使用emacs组织模式用于各种目的.最常见的功能是使用特殊标记TODO和标记我的任务DONE.有没有办法添加自定义标签(例如IN_PROGRESS)并用单独的颜色突出显示它?

此外,如果这个标签在同一个缓冲区中滚动TODO,DONE那么我会很好,所以我可以使用相同的热键在它们之间切换.

emacs org-mode

14
推荐指数
4
解决办法
3441
查看次数

JAXB默认属性值

我正在使用JAXB注释从我的类生成xsd模式.

带参数defaultValue的注释@XmlElement设置element的默认值.是否可以为@XmlAttribute设置默认值?

PS我检查了xsd语法是否允许属性的默认值

java xml xsd jaxb

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

在Clojure中更改地图行为

我需要修改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)

有一个更好的方法吗?

clojure

6
推荐指数
2
解决办法
358
查看次数

分词统计方法

我想解决单词分裂问题(从没有空格的长字符串解析单词).对于examle我们要从中提取的话somelongword[some, long, word].

我们可以通过使用字典的一些动态方法来实现这一点,但我们遇到的另一个问题是解析模糊性.即orcore=> or coreorc ore(我们不考虑短语含义或词性).所以我考虑使用一些统计或ML方法.

我发现Naive Bayes和带有火车组的Viterbi算法可以用来解决这个问题.你能指点一些关于这些算法应用于分词问题的信息吗?

UPD:我使用Peter Norvig的代码中的一些建议在Clojure上实现了这个方法

algorithm nlp text-segmentation

6
推荐指数
1
解决办法
460
查看次数

静态类的模板方法模式

我有一个执行一些工作的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)

java design-patterns template-method-pattern

6
推荐指数
1
解决办法
1306
查看次数

级联/嵌套异步调用的模式

在客户端使用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)

我知道,我们可以在服务器端组合这三个调用来制作单独的服务方法,但是如果我们需要很多这样的不同方法组合呢?另一个问题是添加单独的方法,通过简单组合现有方法来执行我们可以获得的功能.

有没有一个共同的模式来摆脱这样的代码,而不是改变服务器端服务?

java gwt design-patterns asynchronous

5
推荐指数
1
解决办法
2505
查看次数

通过使用sumInts方法了解scala替换模型

我正在做一个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)

所以代码: …

recursion scala

4
推荐指数
2
解决办法
1156
查看次数

Emacs和Clojure方法调用层次结构

我使用eclipse在Java中开发,因为它有很多有用的功能.一些经常使用的是"开放声明"和"开放呼叫层次结构".

打开声明 - 如果我在某处使用某些功能,我只需按F3(热键)并获取光标指向其定义的文件.

调用层次结构 - 显示调用此方法的树.

对于clojure上的编程,我使用emacs作为IDE.

我很感兴趣,如果Emacs支持这样的功能或存在一些插件来添加它?

注意:我可以对方法名称执行正则表达式搜索以查找定义,但它并不总是会给出唯一的结果.

emacs clojure

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