Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_scheme
提交
937ad2a2
skill_tree_scheme
项目概览
CSDN 技术社区
/
skill_tree_scheme
通知
1
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
skill_tree_scheme
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
937ad2a2
编写于
10月 20, 2022
作者:
G
guenchi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
6aa76532
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
29 addition
and
113 deletion
+29
-113
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/config.json
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/config.json
+0
-13
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/helloworld.json
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/helloworld.json
+0
-8
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/helloworld.md
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/helloworld.md
+0
-83
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/launch_dr_racket.jpg
...Scheme初阶/1.Scheme入门/1.HelloWorld/img/launch_dr_racket.jpg
+0
-0
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/open_dr_racket.jpg
...1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/open_dr_racket.jpg
+0
-0
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/print_a.jpg
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/print_a.jpg
+0
-0
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/print_a_b.jpg
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/print_a_b.jpg
+0
-0
data/1.Scheme初阶/1.Scheme入门/config.json
data/1.Scheme初阶/1.Scheme入门/config.json
+0
-9
data/1.Scheme初阶/1.导言.md
data/1.Scheme初阶/1.导言.md
+29
-0
未找到文件。
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/config.json
已删除
100644 → 0
浏览文件 @
6aa76532
{
"node_id"
:
"scheme-d4721e0be8ef4ea6bf9d0f3b57a82900"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[
"helloworld.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
,
"subtree"
:
""
}
\ No newline at end of file
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/helloworld.json
已删除
100644 → 0
浏览文件 @
6aa76532
{
"type"
:
"code_options"
,
"author"
:
"huanhuilong"
,
"source"
:
"helloworld.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
"d1bcb7b79cc847c29c6f86bf0f1b531f"
}
\ No newline at end of file
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/helloworld.md
已删除
100644 → 0
浏览文件 @
6aa76532
# 安装 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
)
```
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/launch_dr_racket.jpg
已删除
100644 → 0
浏览文件 @
6aa76532
63.6 KB
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/open_dr_racket.jpg
已删除
100644 → 0
浏览文件 @
6aa76532
112.0 KB
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/print_a.jpg
已删除
100644 → 0
浏览文件 @
6aa76532
124.9 KB
data/1.Scheme初阶/1.Scheme入门/1.HelloWorld/img/print_a_b.jpg
已删除
100644 → 0
浏览文件 @
6aa76532
107.5 KB
data/1.Scheme初阶/1.Scheme入门/config.json
已删除
100644 → 0
浏览文件 @
6aa76532
{
"node_id"
:
"scheme-0a2ef3efcaab4456bab02a7346e8e57f"
,
"keywords"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[],
"group"
:
0
,
"subtree"
:
""
}
\ No newline at end of file
data/1.Scheme初阶/1.导言.md
0 → 100644
浏览文件 @
937ad2a2
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录