Easwy的Twitter微博(2010-03-28)

  • scala: 对trait有一个疑问,如果两个trait覆写(override)了同一个method,但没用super的方式来调用,那应该不能实现链式调用了吧?那么,这两个trait中的哪一个会被调用呢?貌似多重继承(multiple inheritance)也应该存在这类问题 #
  • scala: trait与java中的interface不同,第一,它可以有具体实现;第二,trait可以实现链式调用。 #
  • scala: 在决定是否使用继承时,要问自己两个问题:1) "is-a"问题,即子类所代表的概念,是否是超类所代表概念中的一员。例如,Student is a Person,所以Student类可以继承Person类; 2) 程序是否会把子类当做超类来使用? #
  • scala: 要纠正一下昨天的说法,scala的编译器只能把尾递归的函数(tail-recursion)转化成while循环,非尾递归的递归函数还会以递归的方式调用,也就是说还是有堆栈溢出的危险。 #
  • scala: 对没有函数编程背景的我来说,理解闭包有点困难,或许要在用过之后,对其的理解才会加深 #
  • scala: 局部函数(local function)可以访问父函数的参数,看来应该是编译器在编译时,自动把父函数的参数加到局部函数的参数列表里了,这样Java虚拟机才能正确的执行局部函数;也正因为如此,在局部函数里无法直接访问父函数的局部变量。 #
  • 刚看到一则大新闻,google.cn已经被转向到google.com.hk了,也就是说google搜索正式撤出中国大陆了。希望google.com还能在国内使用,不然真不知道怎么做技术了 #
  • 看来我误解list的用法了,list是用来把user分组的,而不是把tweets分组的 #
  • 咦,list怎么用的,又得看帮助了,真土 #
  • scala: 没用过list,尝试一下。把Scala学习笔记发在这个list里吧 #
  • scala: scala推荐使用递归函数来替代while循环,原本一直担心用递归函数会不会有堆栈溢出问题,现在看来是杞人忧天了。scala的编译器会把递归函数轮换成类似while的循环,在调用递归函数的地方跳回函数入口。scala让程序员做更少的事,而编译器做更多的事。 #
  • scala: scala的语法太灵活了,它会不会被滥用从而导致不可读难维护的代码? #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-03-28/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的网摘(2010-03-24)

本文是Easwy的网摘(20100324),根据Delicious中的收藏自动生成:

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/bookmark-of-delicious-20100324/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-03-21)

  • scala: 用"scala HelloWorld"执行编译后的Scala程序时,提示:"no such file: HelloWorld",查了一下,原来scala缺省不把当前目录列入CLASSPATH,所以需要用"scala -cp . HelloWorld"来执行。 #
  • scala: scala中的List是immutable的,也就是说不可更改,在其上的操作会生成一个新的List对象。这样的确是线程安全的,不过对非常大的List来说,它的效率会如何? #
  • scala: 下载scala的lzPack安装程序后,使用如下命令安装scala: java -jar scala-2.7.7.final-installer.jar #
  • scala: 看来是我理解错了,scala在数组中使用括号,不是为了方便,而是因为,在scala中,数组也是一个对象,array(0)会被编译器转换成array.apply(0);array(0) = "abc"会转换成array.update(0, "abc") #
  • scala: 感觉scala的语法设计比较人性化,比如它的数组元素,使用array(0)来表示,而不是通常的array[0]。因为引用数组元素的频率是非常高的,使用圆括号比使用方括号方便多了,相信对大多数盲打的人来说,按键盘上的方括号都是一种痛苦 #
  • scala: 感觉scala的语法设计比较人性化,比如它的数组元素,使用array(0)来表示,而不是通常的array[0]。因为引用数据元素的频率是非常高的,使用圆括号比使用方括号方便多了,相信对大多数盲打的人来说,按键盘上的方括号都是一种痛苦 #
  • scala既是面向对象的编程语言,也是函数编程语言。函数编程有几点含义:第一,函数即数值,可以像在程序中使用数字或者字符串那样使用函数;第二,函数根据输入产生输出,但不会更改输入;第三,函数只通过参数和输出与外界交互,不引用其它全局数据。 #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-03-21/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的第一个scala脚本

正在学习scala语言,还谈不上有很深入的认识,至于为什么学习scala,最初的动力大概是它简洁的语法以及与Java的兼容性。它使用类似脚本语言的语法,实现了编译语言的执行效率,是最让Easwy心动的地方了。
看完”Programming in Scala”的前三章,参照书中的例子,我写了我的第一个scala脚本,功能很简单,它读入一个文本文件,然后把文件的内容加上行号后打印出来。
脚本程序如下:

import scala.io.Source

if (args.length > 0) {
  val lines = Source.fromFile(args(0)).getLines.toList
  val maxWidth = lines.length.toString.length
  var i = 1
  for (line <- lines) {
    val padding = maxWidth - i.toString.length
    print(" " * padding + i + " " + line)
    i += 1
  }
}
else
  println("A file name is needed")

这个脚本要使用下面的命令执行:

scala printfile.scala a-text-file-here

如果你还没有安装scala,请到scala的主页下载并安装。
2010/04/07更新
在这个脚本中使用var变量,不太符合scala的编程思想,在文章scala学习:添加行号中,Easwy将其改成符合scala方式的val形式。

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/first-scala-script-of-easwy/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-03-14)

  • 测试一下Twitter Tools的发帖功能,本消息在易水博客中创建 #
  • 想在CSDN上建一个镜像博客真难,折腾了几个月也没镜像好,很是失望 #
  • 在Gmail里自动为来自twitter的所有邮件打标签:a) 创建一个新的过滤器,发件人填为"@twitter.com"; b) 选择应用标签"twitter"; c) OK. #
  • 狂风大作,阴雨连绵,一夜之间,深圳又回到了冬天 #
  • gunzip时提示"gunzip: Invalid magic",搜索了一下,说是gz文件损坏了,所以gunzip不识别 #
  • @LiaoW 我没把Twitter上的消息转到Gmail,只是把来自Twitter的一些通知邮件分了一下类。把Twitter上的消息发到邮箱也是可行的,不过需要有位于国外的虚拟主机进行转发,另外还要编写个小程序。 in reply to LiaoW #
  • Twitter还是没用熟,怎么才能看到别人对我tweet的回复呢,一定要follow吗? #
  • 修改setting–>profile时,如果设定了图片,就会提示有5个错误,什么文件大小为空,文件名为空之类,不知道是不是Twitter的bug #
  • @Yousri 收到,多谢指点 ^_^ in reply to Yousri #
  • 刚才retweet了Yousri的一条消息,Twitter里显示"Retweeted by you",当鼠标移到you上时,显示的却是名为you的用户的信息,而不是我的。看来Twitter的bug也不少啊,一会儿工夫就遇到两个 #
  • 配置Linux下的DHCP server,使用Linux客户端申请IP时总是失败。最后发现原因是在/etc/dhclient.conf中要求从server回传domain- name-servers,而server没回传。更改server配置,回传此参数后,问题解决。 #
  • 使用tar解压文件时遇到tar: test.cpp: time stamp 2010-03-09 04:32:51 is 319103603 s in the future,这是因为目标机器上时钟不正确导致,可以在解压时使用-m选项避免此错误 #
  • 开始关注Scala #
  • 在vim中更改光标的显示可以设置guicursor选项,不过只在GUI中生效,TERM下不支持 ,帮助入口 :help 'guicursor' #
  • 在当当买的精通正则表达式(Mastering Regular Expressions)收到了,晚上回去好好读一下。可惜国内买不到英文影印版,不过看译者的前言,相信他译的应该不错。 #
  • 似乎很多svn的错误都和本地工作拷贝被破坏有关,今天又遇到一个,在上一级目录重新checkout一下就解决了。错误信息:svn: Server sent unexpected return value (405 Method Not Allowed) in response… #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-03-14-2/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-03-07)

  • 测试一下Twitter Tools的发帖功能,本消息在易水博客中创建 #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-03-07/

文章的脚注信息由WordPress的wp-posturl插件自动生成

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

  • Twitter Tools插件工作的很好,不过Twitter Friendly Links工作却不正常,可能是.htaccess没设置正确的缘故 #
  • 在VB里,想在字符串里包含引号,居然是用两个双引号,faint~~~用\转义了半天 #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-03-05-2/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2010-03-04)

  • Unicode只定义了针对一个字符的编码,以U+1234ABCD这种形式表示;至于如何在计算机中表示此Unicode定义的字符,则由编码方案来确定,例如UTF-8,UTF-16等 #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy%e7%9a%84twitter%e5%be%ae%e5%8d%9a2010-03-04/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的网摘(20100304)

本文是Easwy的网摘(20100304),根据Delicious中的收藏自动生成:

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/bookmark-of-delicious-20100304/

文章的脚注信息由WordPress的wp-posturl插件自动生成