最新文章列表

Scala概述(四)操作也是对象(2、3)

4.2.    函数也是对象(Functions are Objects) 既然方法是值,值是对象,方法当然也就是对象。实际上,函数类型和函数值(注意:指函数本身作为值——译注)只不过是相应的类及其实例的语法糖衣。函数类型S=>T等价于参数化类型scala.Function1[S, T],这个类型定义在Scala标准类库中: package scala abstract class Funct ...
edge 评论(1) 有1594人浏览 2008-10-06 13:12

使用基于邻接表的Dijkstra算法求解Project Euler问题

Project Euler中的几个问题   首先,来看一看Project Euler上的第81到83题。这几个题目的前提条件是一样的,已知一个80×80的矩阵(由正整数组成)   81题:Find the minimal path sum, in the 80 by 80 matrix, from the top left to the bottom right by only moving ri ...
Eastsun 评论(5) 有3532人浏览 2008-10-04 21:56

连分数及Pell方程的解法

  本文代码是我为了解决Project Euler上的问题而写的数学工具,之前的见:     按字典顺序生成所有的排列     筛法求素数   所谓一个实数的连分数表示,是指将一个实数x写成以下形式:        其中a0,a1,...,b1,b2,..都是自然数。   当其中b1,b2,..都取为1时,我们称之为简单连分数表示(Simple Continued Fraction)   可以证 ...
Eastsun 评论(0) 有4315人浏览 2008-10-01 22:55

Scala概述(四)操作也是对象(1)

4.       操作也是对象(Operations Are Objects) Scala是一种函数式编程语言,也就是说每一个函数都是一个值。Scala有很简洁的语法用于定义匿名和curry化 ...
edge 评论(2) 有1237人浏览 2008-09-28 22:40

Scala概述(三)统一的对象模型(3)

3.3.    变量和属性(Variables and Properties) 如果所有操作都是方法调用,那么变量引用(dereferencing)和赋值语句呢?实际上,如果这两种操作是针对类成员变量,那么也是被解释为方法调用的。对于所有类成员变量x:T,Scala这样定义其getter和setter: def x:T def x_=(new val:T):unit 这些方法引用和更新一个可修改(m ...
edge 评论(0) 有1226人浏览 2008-09-26 12:51

Scala概述(三)统一的对象模型(2)续

某些Scala的操作符并不总对所有参数求值,例如标准布尔操作符&&和||,这种操作符也可以是方法调用,因为Scala的参数是允许传名的。下面是一个Bool类,模拟系统内建的布尔类型。 abstract class Bool {   def && (x: => Bool): Bool   def
edge 评论(0) 有1089人浏览 2008-09-25 00:04

Scala概述(三)统一的对象模型(2)

3.2.    操作(Operations) Scala统一对象模型的另一个方面体现为每一个操作都是一个消息传递,也就是说是一个方法调用。例如:x与y相加操作x+y被解释为x.+y,也就是调用x这个对象的方法+,而y是该方法的参数。这种思想最早在
edge 评论(0) 有1351人浏览 2008-09-24 23:58

Scala概述(三)统一的对象模型(1)

3.       统一的对象模型 Scala采用了一种纯粹的面向对象的模型,如同Smalltalk一样:每一个值都是对象,每一个操作都是消息传递。   3.1.    类(Classes)  图1(原文为Figure 2,但图上是Figure 1——译注)展示了
edge 评论(1) 有1832人浏览 2008-09-22 23:52

Scala概述(二)一种类似Java的语言

2.       一种类似 Java 的语言 Scala 被设计成为可以与主流平台很好的交互,包括 Java 和 C# 。因此其绝大部分的基本操作符、数据类型和控制逻辑都与这两种语言相同。为简单起见,后面我们仅将 Scala 与 Java 作对比,由于 Java 与 C# 本身就有很多共同点,因此 Scala 绝大部分与 Java 的相似之处都可直接应用于 C# 。其实有些情况下 Scala 甚 ...
edge 评论(0) 有2317人浏览 2008-09-21 12:54

Java.next:第二部分——与Java互操作

  原文地址:Java.next #2: Java Interop   翻  译:Eastsun   本文是Java.next系列的第二部分。在这一部分,我们来看Java.next语言如何与Java进行互操作。   在所有这些Java.next语言中,与Java互操作都是很简单的一件事。这得归功于Java虚拟机规范,它使得JVM上的其它语言能够很容易的反射以及调用Java代码。 一个Swing的例 ...
Eastsun 评论(2) 有1884人浏览 2008-09-19 23:05

Scala概述(一)简介

摘要 Scala 是一种融合了面向对象和函数式编程的静态类型语言,他被定位为构建组件及组件系统。本文是 Scala 语言的概述,适合于理解编程方法和熟悉程序语言设计的读者阅读。 1.       简介 真正的组件系统,一直是软件业一个虚幻( elusive )的目标。从理想的角度看,软件应该可以使用组件库中预先设计好组件的构建,一如硬件可以用预制的芯片进行组装。然而现实中,任何软件中都有很大一 ...
edge 评论(0) 有3032人浏览 2008-09-19 16:43

Scala概述(译序)

Scala概述(An Overview of the Scala Programming Language)是瑞士洛桑联邦理工学院(EPFL)的程序设计实验室的Scala发明者们写的一篇TR,针对现行的Scala版本。由于要对这种语言进行比较完整的描述,篇幅又不太长,因此学术味有点浓,而且部分内容略显简略、杂乱。但是,我仍然感觉这篇文章是长期以来看到过的对一门语言介绍最完整、清晰的文章,不但让人对S ...
edge 评论(2) 有1203人浏览 2008-09-19 16:39

Java.next:第一部分——共同点

  原文地址:Java.next: Common Ground   翻  译:Eastsun   本文是Java.next系列的第一部分。在这一部分,我将探讨作为Java.next的语言所具有的共同特征。   我选择了四种语言作为“Java.next”的代表:Clojure,Groovy,JRuby,以及Scala。乍看起来,这几种语言有着很大的不同。Clojure是Lisp方言;Groovy是作为 ...
Eastsun 评论(0) 有1554人浏览 2008-09-19 13:31

隐式转换:比动态类型更强大?

  本文内容主要来自Implicit Conversions: More Powerful than Dynamic Typing?,我只对其中一部分进行了翻译。   隐式转换是[url=Haskell type classes]Scala[/url]中实现的一种类似于Haskell type classes的类型系统,它使得Scala这种静态类型的语言具有某些“动态”的特性。下面用具体例子来说明。 ...
Eastsun 评论(13) 有1674人浏览 2008-09-16 18:37

Project Euler解题汇总 051 ~ 060

  注:本文代码中会使用按字典顺序生成所有的排列与筛法求素数中介绍的函数。 问题51:Find the smallest prime which, by changing the same part of the number, can form eight different primes. 题目简介:对于数字56**3(其中*表示占位符),将其中的两个*换成0~9中的数字,产生的10个数字中为 ...
Eastsun 评论(0) 有2329人浏览 2008-09-12 22:19

筛法求素数

  这属于我用于解Project Euler问题而写的数学工具的一部分。之前见按字典顺序生成所有的排列 /** &#Util.scala utils for mathematical algorithm,include: # get all primes below bound in order # generate all permutations in l ...
Eastsun 评论(0) 有1750人浏览 2008-09-10 21:02

Mono的一个新的有趣的项目:CsharpRepl

项目官网:CsharpRepl 链接更新: Miguel de Icaza: C# Eval: An Embeddable Compiler R. Tyler Ballance: Resurgange of the shell. Daniel Morgan: Mono's interacive C# and using System.Data 在Miguel de Icaza(Mono创始者)的 ...
RednaxelaFX 评论(0) 有2926人浏览 2008-09-09 16:04

Scala的NetBeans插件Beta发布

随着NetBeans 6.5 beta正式发布,第一个beta版本的Scala插件也发布了,功能包括: 1、Full featured Scala editor syntax and semantic coloring outline navigator code folding mark occurrences go to declaration instant rename indentat ...
dcaoyuan 评论(0) 有3128人浏览 2008-08-14 09:12

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36423) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics