一. HelloWorld
- Scheme语法即抽象语法树,只有仅有的几个内部语法支持。
- ;开启一行注释
- 用括号进行文法定界,第一项为操作,空格(换行)分割操作对象,如:
即对"hello, world!"字符串进行 display 操作。
- Scheme和Lisp一样是自描述的,脚本用 .scm 作为后缀,进入解释器后,使用(load "文件名字符串")启动程序,用(exit)退出解释器。
- 完整程序:
二. 数据类型
1. 简单类型
- 布尔值:有两个取值,#t和#f
- 操作(类型名? 变量)返回一个布尔值,确认该变量是否为此类型。如:
(boolean? 32) => #f
- 宏(not 布尔值)返回这个布尔值的反取值。如:
- 数字:分为complex,rational,real,integer,但申明时不必指出。
- (= 操作对象1 操作对象2)操作仅用于比较类型相同的变量值是否相同;(= 43 43) => #t,但(= 43 "ok")会报错。
- (eqv?)操作是(=)的范型版本
- 指数运算(expt 2 3) => 8,取绝对值(abs -7) => 7
- 字符:以#\开头的单个字符
(char=? #\a #\b) ? #f
- 忽略大小写比较:(char-ci=? #\a #\A) => #t
- 大小写转换(不影响原值)(char-downcase #\A) => #\a,(char-upcase #\a) => #\A
- 符号:编译原理中的东西,可作变量名,用(quote)申明,(quote a) => 'a
- 变量不与其类型绑定:
No comments:
Post a Comment