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的语法太灵活了,它会不会被滥用从而导致不可读难维护的代码? #

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注