摘要:在scala中函数的参数有两种定义方式分别叫做call-by-name和call-by-value, 例如下面的两个函数定义, 他们都接受一个函数block作为参数, 循环10次打印传入函数(block)的运行结果 def callByName[T](block: => T) = { for( i<-0 until 10){ println(block) } } def callByValue[T](block: T) = { for( i<-0 until...
        
阅读全文
 
    
        
        
摘要:scala中有PartialFunction的概念, 同时还要一个概念叫Partial Applied Function. 前者译作偏函数, 后者译作"偏应用函数"或"部分应用函数", 一字之差, 差距很大.首先偏函数是个数学概念, 偏函数不是"函数"的一种, 而是一个跟函数平行的概念. 定义可参考wikihttp://zh.wikipedia.org/wiki/%E5%87%BD%E6%95%B0, 它是指定义域X中可能存在某些值在值域Y中没有对应的值.scala可以通过模式匹配来定义偏函数, 下面这两种方式定义的函数, 都可以认为
        
阅读全文
 
    
        
        
摘要:直接用代码来说明吧实例一:快速排序 def quickSort(array:List[Int]): List[Int] = { if (array.size <=1 ) array else { val p = array( array.length / 2) quickSort(array.filter ( _ < p)) ::: array.filter( _ == p) ::: quickSort(array.filter(_ > p)) } }实例二: 找出数组中出现次数最多, 且数字最大的...
        
阅读全文