提交 937ad2a2 编写于 作者: G guenchi

update

上级 6aa76532
{
"node_id": "scheme-d4721e0be8ef4ea6bf9d0f3b57a82900",
"keywords": [],
"children": [],
"export": [
"helloworld.json"
],
"keywords_must": [],
"keywords_forbid": [],
"group": 0,
"subtree": ""
}
\ No newline at end of file
{
"type": "code_options",
"author": "huanhuilong",
"source": "helloworld.md",
"notebook_enable": false,
"exercise_id": "d1bcb7b79cc847c29c6f86bf0f1b531f"
}
\ No newline at end of file
# 安装 Racket & Hello Scheme
Scheme 编程语言是一门 Lisp 方言,为了方便学习 Scheme 语言,我们先安装一个 Scheme 编程语言的解释器 Racket。
Racket 的官方网站是:https://www.racket-lang.org/
下载Racket:https://download.racket-lang.org/
安装完成后,启动 DrRacket 程序。如图所示:
![](./img/launch_dr_racket.jpg)
启动成功后,我们就进入了IDE:
![](./img/open_dr_racket.jpg)
现在,可以开始编写 scheme 代码,我们暂时不修改默认的`#lang racket`,添加两行代码:
![](./img/print_a.jpg)
点击右上角的`Run`按钮后,底部输出了 `测试` 字符串。现在,我们再添加两行代码:
![](./img/print_a_b.jpg)
点击右上角的`Run`按钮后,底部输出了 `测试test` 字符串。
现在,我们不解释代码的含义,仅仅根据代码的行为,下面哪个选项 **不能** 输出字符串`Hello,World!`?
## 答案
```scheme
(define hello "你好")
(display hello)
(define world "世界!")
(display world)
```
## 选项
### A
```scheme
(define hello "Hello")
(display hello )
(define world ",World!")
(display world )
```
### B
```scheme
(define hello-world "Hello,World!")
(display hello-world )
```
### C
```scheme
(define hello "Hello")
(display hello)
(define comma ",")
(display comma)
(define world "World")
(display world)
(define exclamation "!")
(display exclamation)
```
### D
```scheme
(define hello-w "Hello,W")
(display hello-w)
(define orld "orld!")
(display orld)
```
{
"node_id": "scheme-0a2ef3efcaab4456bab02a7346e8e57f",
"keywords": [],
"keywords_must": [],
"keywords_forbid": [],
"group": 0,
"subtree": ""
}
\ No newline at end of file
scheme编程语言由小盖伊·史提尔和杰拉德·杰伊·萨斯曼在1975年设计。是Lisp的两种主要方言之一。
它是一种多范式编程语言,你既可以以纯函数式的风格来编程,也可以以面向过程,面向对象甚至于逻辑式的风格来使用。
Scheme自设计以来以其独特的品味著称:计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。
Scheme的主要特征是Lisp的括号风格和卫生宏。
Scheme是一种动态强类型语言。
Scheme拥有众多的编译器和解释器。在本教程中用到的是Chez Scheme,由Kent Dybvig在1985年发布。它是Scheme最快的实现之一,并因其优良的特性成为了Dr Racket和Idris2的后端。
为什么学习Scheme?
1. 加深对JavaScript的理解。
JavaScript受到Scheme巨大的影响,以至于可以算是Scheme的方言。学习Scheme可以帮助你加深对JavaScript的理解,特别是回调函数的使用方式。
2. 习惯函数式编思维。
虽然Scheme属于多范式编程语言,但其最原生,最自然的方式是函数式编程。熟练使用Scheme能让你熟练地以函数式的风格思考。不同于Haskell,在你需要局部和全局变量的时候,你可以自由的使用它,只是要小心副作用。
3. 尝试不同风格的编程。
Lisp作为编程语言学习的终点,在学习Lisp之后,你不会再对新的编程语言充满好奇。有看尽千帆的胸有成竹。到那一天,你会有自己的Lisp编译器…
本文的目标读者为具有一定编程基础和经验的业内人士。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册