Easwy的Twitter微博(2010-05-16)

  • [vim] 正在为scala写缩进文件,进展缓慢,因为scala的语法太灵活了,有很多种情况要考虑,最后不会搞的像php的缩进文件那么复杂吧? #
  • [vim] scala-tools里自带的scala缩进文件太难用了…明天参考一下其它的indent文件,把它改好用些 #
  • [c/c++][……]

    阅读完整文章

在scala中判断一个对象是否是元组(Tuple)

在scala user邮件列表中看到一个函数,判断一个对象是否是元组。从这个函数中,Easwy才了解到原来模式匹配(Pattern Match)也可以应用于正则表达式,这使得在scala中使用正则表达式(regex)更加容易了。另外,这个函数还展现了scala的另外两个特点:

1. 尽量使用递归解决方案,而不是使用循环。这样做的优点之一是避免使用变量,优点之二是代码简洁。是否有其它优点,Easwy仍在总结。但Easwy始终有个担心,递归会不会导致效率降低?会不会有堆栈溢出风险?
2. 使用Option类型做为函数返回值。使用Option类型的好处很明显,这样你的函数既可以返回执行失败的情况(None),也可以在执行成功时给出有用的返回值。这比使用tru/false作为返回值方便很多。

函数主体如下,为了方便讲解,在前面加了行号: [……]

阅读完整文章

Easwy的Twitter微博(2010-05-09)

  • 一个大到足以赐予你一切所求之物的政府,也强到足以剥夺你所拥有的一切。— 的确如此 #
  • [scala] 犯了一个和运算符优先级有关的错误。原来在scala中,左移位操作(<<)的优先级小于加号(+)。看来加括号是个好习惯。 #
  • [vim] 在vim中使用CTRL-]跳转时,如果[……]

    阅读完整文章