[Linux] rxvt可以把背景显示为桌面的背景(但不是透明效果)。命令:rxvt –inheritPixmap # 张家界还是值得一看的,凤凰古城感觉有点开发过度了,可去可不去 #
网络微博 Easwy的Twitter微博(2010-05-30)去张家界喽~~~ # 自己动手,镜像博客 # [scala] 用scala写了递归解决汉诺塔(Hanoi)游戏的程序,发现自己还是没完全掌握递归的精髓,看来一定要多多练习Thinking in recursive # [scala] Scala 2.8.0 RC2已经发布! # The little schemer看了一半,已经逐渐学会了递归思考…再看完后半部分,应该会对闭包(Closure)有更深入的理解了 #
网络微博 Easwy的Twitter微博(2010-05-23)[vim] 正在为scala写缩进文件,进展缓慢,因为scala的语法太灵活了,有很多种情况要考虑,最后不会搞的像php的缩进文件那么复杂吧? # [vim] scala-tools里自带的scala缩进文件太难用了…明天参考一下其它的indent文件,把它改好用些 # [c/c++] 在c/c++中,在头文件中include其它的头文件要慎重。不然的话,其它模块在引用你的头文件时,很容易因“file not found”而出现编译错误;要解决"file not found",需要增加很多的搜索路径,对编译速度也会有影响。 #
网络微博 Easwy的Twitter微博(2010-05-16)在scala user邮件列表中看到一个函数,判断一个对象是否是元组。从这个函数中,Easwy才了解到原来模式匹配(Pattern Match)也可以应用于正则表达式,这使得在scala中使用正则表达式(regex)更加容易了。另外,这个函数还展现了scala的另外两个特点:
1. 尽量使用递归解决方案,而不是使用循环。这样做的优点之一是避免使用变量,优点之二是代码简洁。是否有其它优点,Easwy仍在总结。但Easwy始终有个担心,递归会不会导致效率降低?会不会有堆栈溢出风险?
2. 使用Option类型做为函数返回值。使用Option类型的好处很明显,这样你的函数既可以返回执行失败的情况(None),也可以在执行成功时给出有用的返回值。这比使用tru/false作为返回值方便很多。
函数主体如下,为了方便讲解,在前面加了行号:
开发编程 在scala中判断一个对象是否是元组(Tuple)一个大到足以赐予你一切所求之物的政府,也强到足以剥夺你所拥有的一切。— 的确如此 # [scala] 犯了一个和运算符优先级有关的错误。原来在scala中,左移位操作(<<)的优先级小于加号(+)。看来加括号是个好习惯。 # [vim] 在vim中使用CTRL-]跳转时,如果文件已经更改了,则vim会提示文件未保存,有时候比较麻烦。有两种办法解决,一种是设置'autowrite'选项,自动保存;另一种是使能'hidden'选项。后一种有一定风险,因为在退出vim时很容易忘记还有文件未保存。 # [bash] 还没搞懂在bash脚本中什么时候该用引号,什么时候不用。如果罢ABC为空字符串,[ -n $ABC ]会返回true,而[ -n "$ABC" ]则返回false。 #
网络微博 Easwy的Twitter微博(2010-05-09)[scala] 用scala操作XML实在太方便了 # [scala] scala的正则表达式用起来比Java简单多了,用scala真的能大幅提高编码效率 # 发现google的网站管理员工具的热门搜索查询的显示格式又变了,以前是显示“某个关键词”在搜索结果中的排名,现在显示的是搜索关键词展示的次数和点击次数。看上去google有点想淡化搜索排名的意思。 # [scala] private class的public method还能被外界访问吗? 在Scala里好像是可以的。class不能被外界访问,而它的method却可以被外界访问?听起来似乎有点矛盾 # [scala] List("iii" -> 3, "iv" -> 4)会创建一个List,里面的元素是元组(tuple): List[(java.lang.String, Int)] = List((iii,3), (iv,4)) #
网络微博 Easwy的Twitter微博(2010-04-18)Bram Moolenaar在邮件列表里表示准备开发vim 7.3,预计在5月底发布第一个beta版本。
vim 7.3的功能需求还没有最后确定,Bram会根据自己能投入的时间和用户对vim新功能的投票结果来做最终决定。
文本处理 Bram将vim 7.3列入开发计划function programming似乎翻译成函数化编程法似乎比较好,不过说出来有点绕口 # [scala] 对函数编程一直比较好奇的是,函数编程里推荐使用短函数,推荐使用递归,难道不会有效率问题(函数调用时压栈退栈)和堆栈溢出问题吗? # 上条中文字引用自:http://daiyuwen.freeshell.org/gb/acl2/acl2.html # [引用]…觉得递归函数很不好理解…困难来自对函数的一个错误的比喻…把函数想象成某种形式的机器.原料就象参数一样到来;一些工作被转包给其它函数;最后完成的产品被组装好运出去,就象返回一个值. 一个更好的比喻是把函数想象成经历的过程. 在过程中递归是很自然的事情. # [scala] 要想理解函数编程,我要从函数编程的源头Lisp开始理解起了。粗看了一下,由Lisp起源的函数编程的思想与起源于C(或许更早)的命令编程思想很不同,看来我得换换脑筋了 # @hookits 我这里有的,是不是你的PATH环境变量设置的问题?你试试这个命令:"whereis php",看能不能找的到? in reply to hookits # [scala] scala里的List需要从头开始访问,如果由尾访问,则效率受List长度的影响 # [scala] 上面表达式的结果是 List[java.lang.Object] = List(vim, emacs, List(3))。很有意思,看来在scala中,任何List都可以执行连接操作。 # [scala] 之所以List[String] ::: List[Int]会生成List[Any],是因为String和Int会被转换成它们公共的父类Any。那么List("vim", "emacs") ::: List (List(3))会是什么结果呢? # [scala] 用:::连接两个类型不同的List会有什么结果?结果是生成一个类型为List[Any]的列表。例如,List("vim", "emacs") ::: List(3, 4, 5)结果为List[Any] = List(vim, emacs, 3, 4, [...]
网络微博 Easwy的Twitter微博(2010-04-11)我的第一个scala脚本完成的功能就是为文本文件添加行号,不过那个脚本中使用了变量,不太符合scala编程的思想。现在把这个脚本改造了一下,去掉var变量的使用,完全使用val值。另外,把脚本改成了需编译的程序。
LineNumber.scala程序如下
开发编程 scala学习:添加行号
最新评论