- 浏览: 55033 次
- 性别:
- 来自: 上海
最新评论
文章列表
第二章 数据类型
数据类型是一组相关的值信息集。各种数据类型互相联系,而且它们通常是具有层次关系。Scheme拥有丰富的数据类型:有一些是简单的类型,还有一些复合类型由其它的类型组合而成。
2.1 简单数据类型
Scheme中的简单包含 booleans (布尔类型) , numbers (数字类型), characters(字符类型) 和 symbols(标识符类型)。
2.1.1 Booleans
Scheme中的booleans类型用 #t、#f来分别表示true
- 2009-11-28 11:47
- 浏览 2616
- 评论(0)
Scheme简明教程
序言:
这是一份Scheme编程语言的入门教程。旨在作为一份快速上手指南,以便初学者在步入更广更深的正式课程前可以获取该语言上手所需的应用知识(入门后,请读者更深入的学习Scheme)。
本教程将引导读者写出简明实用的Scheme代码。尽管不会覆盖到Scheme语言的方方面面,但我们也不会避开这门语言中的很有用处但让人觉得难理解、生涩、罕见、不标准、甚至奇怪的部分。比如call-with-current-continuation、系统接口和多样化的方言等。我们会基于解决问题来做一些讨论,但不会是单纯的探索高深的纯语言理论。我因此删除了许多经典的Scheme指南。所 ...
- 2009-11-26 00:02
- 浏览 5853
- 评论(0)
function在javascript中用来创建函数或方法,但要想实现面向对象方式的编程,类是不可或缺的角色之一,而且是主角。但javascript中并没有类概念,所谓的类也是模拟而来,通过函数加闭包模拟出类成员及私有成员(关于闭包可以参见跨越边界: 闭包)。这里我们将用比较平实的方式来了解一下javascript中的”类”,避开一些生硬的原理。 既然是用function来模拟类,所以编写代码创建类的关键字还是function。我们创建一个座标点类。 function Point() {
this.X = 0;
...
- 2009-09-17 12:45
- 浏览 800
- 评论(0)
在进行编程时,必免不了要碰到复杂的功能。初学者最怕复杂的功能,因为不能够很好的进行功能边界划分,只能一大串if、循环加case堆叠在一起,结果出来的程序自己看着晕,别人看着更晕。好程序不是写给computer的,而是写给human的。遇到复杂功能,应该想着把它简化、组件化,把小功能封装成小组件,小功能块可以任意的组合得到千变万化的复杂功能。function就可以帮助我们把功能进行封装。那什么是封装呢。要我说,只要把具体实现给打包,对外提供调用接口那就是封装,方法也好、类也好就做了这些事。
javascript中的function可以用来创建方法、也可以用来创建类,实际上我 ...
- 2009-09-16 14:33
- 浏览 703
- 评论(0)
javascript是基于对象的编程语言。从window到document,从方法到类,从object到Array都是对象。
先看一下JSON(javascript object notation)对象,JSON是一种脚本操作时常用的数据交换格式对象,相对于XML来说JSON是一种比较轻量级的格式,在一些intelligence的IDE中还可以方便的通过点操作JSON对象中的成员。
JSON是一种键/值对方式来描述内部成员的格式,其内部成员可以是几乎任何一种类型的对象,当然也可以是方法、类、数组,也可以是另外一个JSON对象。
var stu ...
- 2009-09-15 15:16
- 浏览 655
- 评论(0)
javascript几乎成了如今web开发人员必学必会的一门语言,但很多人却只停在了一些表单验证等基础操作层面上,在面向对象语言大行其道的当下,我们需要去学习javascript的面向对象的知识,以便更好的掌握javascript、为深入理解各种脚本框架打好基础。
javascript和java、C#等语言一样也具有面向对象的一些特征,但细比较的时候,会发现这些特征并不是真正的面向对象,很多地方都是利用对象本身来模拟面向对象,所以认为javascript不能算是面向对象编程语言,而是基于对象的语言。
在javascript中真的是万物皆对象,new出来的东西是 ...
- 2009-09-14 22:02
- 浏览 841
- 评论(0)
老婆怀孕了,这两天我的心情真的很好,心情好了却不大愿意静下心来看程序了,也许一直没有发现生活的美好,孩子的到来让自己的心有了触动。真的该好好的留心一下程序之外的生活了。程序员除了程序还要有生活。
- 2009-09-11 22:40
- 浏览 708
- 评论(0)
GridView跨行合并单元格
- 博客分类:
- [随笔分类]Asp.net
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->/// <summary>///GridViewCellCombine 的摘要说明/// </summary>public class GridViewCellCombine
{
/// <summary>
...
- 2009-07-12 19:04
- 浏览 2707
- 评论(0)
Webclient在下载请求时无法设置请求超时时间和请求读写超时时间。WebClient在异步下载时遇到网络不通等问题时没有响应超时造成app挂起。
1.Webclient请求超时设置 重写Webclient的GetWebRequest方法,为HttpWebRequest添加请求超时及读写超时
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/< ...
- 2009-07-06 23:33
- 浏览 7754
- 评论(0)
SAS数据分析,C#操作的一些辅助代码(重发)。
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->using System;using System.Collections.Generic;using System.Linq;using System.Text;using SASWorkspaceManager; ...
- 2009-06-18 14:59
- 浏览 1203
- 评论(0)
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection.Emit;using NUnit.Frame ...
- 2009-06-13 13:54
- 浏览 902
- 评论(0)
帮助TreeView保存和恢复结点展开状态的辅助类<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI.We ...
- 2009-06-10 10:43
- 浏览 1201
- 评论(0)
1、F#自定义类型,自定义类型可以将我们所需的值打包成一个类型整体,如 Student类型包含{int id ; string name}。F#自定义类型可以通过tuple(元组)或record记录来实现自定义类型。
a、在一些临时的情况下我们可以直接用元组来组合一些值 ,但这仅仅是将值进行组合,不能灵活的访问想要的信息,也没有专有类型名称
将编号和姓名打包成元组由标识符userinfo来引用
let userinfo = ( 1 , "张三" )
let id , name = userinfo //由id 和 name 来引用用 ...
- 2009-05-31 22:46
- 浏览 796
- 评论(0)
1、if语句 , F#返回值不需要显式的写出返回类型,在写if等流程控制时,要控制好返回值信息,如if 语句块和 else 语句块的返回值类型要匹配;不能出现if有返回、else无返回;也不能只出现一个单条件返回,如只出现一个if语句并且有返回值信息,而没有else语句,这样在不满足if 情况时则可能不会有返回值。
let fun1 x = //定义一个返回字符串的方法fun1
if x > 10 then "输入的值大于10" //当x > 10 返回大于10的信息
else "输入的值小于等于10" //相反返回小 ...
- 2009-05-31 15:29
- 浏览 745
- 评论(0)
1、let 关键字用来声明标识符,标识符是值对象的名称,值对象可以是数字、字符串等也可以是方法。但标识符不同与变量,标识符一旦赋值则不可以改变。在同作用域下声明一个已经存在名称的标识符时,则是得到一个新的标识符。
let i = 1
let add x y = x + y
(注:在方法内声明一个与全局标识符同名的标识符时,会隐藏全局标识符的值,但当方法结束后,全局变量标识符的值还是原来的值。)
2、rec 递归函数在声明要加的关键字 (示例 从1加到100)
let rec addToNum x = match x with |1 -> 1 |x -> (addToNum x ...
- 2009-05-28 17:26
- 浏览 720
- 评论(0)