小编Lyt*_*tol的帖子

功能Scala中的选择排序

我正在通过"Scala编程"编写并编写了一个快速实现选择排序算法.但是,由于我在函数式编程方面仍然有点绿色,因此我无法转换为更多Scala-ish风格.对于那里的Scala程序员,我怎样才能使用Lists和vals而不是回到我的命令式方式呢?

http://gist.github.com/225870

recursion functional-programming scala

7
推荐指数
1
解决办法
3330
查看次数

有没有办法在Cocoa中为菜单项分配多个键等价物(通过IB或以编程方式)?

具体来说,我希望我的"新"菜单项能够响应两者Cmd+N,Cmd+T因为它将在选项卡中打开一个新文档.*如何在Interface Builder中或以编程方式执行此操作?

*如果需要,我可以进一步解释推理,但我希望避免讨论优点,而是专注于如何做,而不是为什么要这样做.

cocoa

7
推荐指数
1
解决办法
932
查看次数

为文本编辑器定义语法的最佳方法是什么?

我正在为Mac编写一个开源文本编辑器,并最终达到了我想要添加语法高亮的地步.过去几天我一直在寻找各种解决方案,最后我决定向更广泛的受众提出这个问题.

以下是我看到的选项:

  • 基本上使用一系列正则表达式模式匹配来定义语言(类似于TextMate定义其语言的方式)
  • 使用像BNF或PEG这样的正式语法定义语言

使用正则表达式模式匹配似乎不太理想,因为它不能正式表示语言几乎和正式语法一样好; 然而,一些不太正式的语言将难以适应BNF(即Markdown - 尽管我知道有一个很好的PEG实现).

实时语法高亮显示的性能权衡是什么?多种语言的灵活性如何?

如果我走BNF路线,Todd Ditchendorf创建了令人敬畏的ParseKit框架,它可以很好地开箱即用.任何人都知道PEG的任何类似的东西?

regex grammar parsing bnf peg

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

标签 统计

bnf ×1

cocoa ×1

functional-programming ×1

grammar ×1

parsing ×1

peg ×1

recursion ×1

regex ×1

scala ×1