Skip to content

Commit e1ad480

Browse files
committed
docs: rewrites; remove page basic.test
1 parent 04afbe4 commit e1ad480

9 files changed

Lines changed: 40 additions & 81 deletions

File tree

docs/basic/float.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ julia> 1.0/9.0
114114

115115
## 数值转换
116116
Julia 支持三种数值转换,它们在处理不精确转换上有所不同
117-
1. `T(x)``convert(T,x)` 都会把 x 转换为 T 类型
117+
1. `T(x)``convert(T, x)` 都会把 x 转换为 T 类型
118118
* 如果 T 是浮点类型,转换的结果就是最近的可表示值, 可能会是正负无穷
119119
* 如果 T 为整数类型,当 x 不能由 T 类型表示时,会抛出 `InexactError`
120120
2. `x % T` 将整数 x 转换为整型 T,与 x 模 `2^n` 的结果一致,其中 n 是 T 的位数。换句话说,在二进制表示下被截掉了一部分

docs/basic/hello.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Hello, world!
4141
因此,如果想一次运行多行代码,你可以
4242
* 使用高级编辑器
4343
* [运行文件里的代码](setup_environment.md#运行文件)
44-
* 这样
44+
* 使用 `begin ... end` 包裹它们
4545
```julia-repl
4646
julia> begin
4747
println("1")

docs/basic/little_types.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 一些轻量类型
1+
# 实用类型
22
##
33
类型 `Nothing` 具有的唯一值是 `nothing`
44
它对应 `C` 中的 `void`,也广泛用于普通变量的初始化、保留值等。
@@ -14,9 +14,9 @@ julia> x = nothing
1414
类型名为 `UndefInitializer`,通常用于数组初始化,可以用 `undef` 作为 `UndefInitializer()` 的缩写,[详细信息见此](../advanced/undef.md)
1515

1616
## 元组
17-
`Tuple` 类型的实例可以容纳任意有限多个数据,这在你不希望[创建新类型](../advanced/struct.md#复合类型),而又想表达有一定复杂性的数据时显得尤为方便。对于更复杂的情况,则可以使用[](../advanced/typesystem.md#具名元组类型)
17+
`Tuple` 类型的实例可以容纳任意有限多个数据,这在你不希望[创建新类型](../advanced/struct.md#复合类型),而又想表达有一定复杂性的数据时显得尤为方便。对于更复杂的情况,则可以使用[具名元组类型](../advanced/typesystem.md#具名元组类型)
1818
```julia-repl
19-
julia> tup = (1,2,3)
19+
julia> tup = (1, 2, 3)
2020
(1, 2, 3)
2121
2222
julia> typeof(tup) # 这表明 tup 的 3 个参数类型均为 Int64
@@ -31,23 +31,29 @@ true
3131
julia> tup[1] # 获取第一个数据
3232
1
3333
34-
julia> (1,2,3) == (1,2,4) # 多个元素比较的一种简便方法
34+
julia> (1, 2, 3) == (1, 2, 4) # 多个元素比较的一种简便方法
3535
false
3636
```
3737

3838
除了按照索引获取数据外,还可以使用以下语法糖
3939
```julia-repl
40-
julia> a,b,c = (1,2,3)
40+
julia> a, b, c = (1, 2, 3)
4141
(1, 2, 3)
4242
43-
julia> (a,b,c) = (1,2,3)
43+
julia> (a, b, c) = (1, 2, 3)
4444
(1, 2, 3)
4545
46-
julia> _,d,_ = (1,2,3) # _ 不是合规的变量名,在此语法中表示缺失
46+
julia> _, d, _ = (1, 2, 3) # _ 的含义为相应的值被主动忽略
4747
(1, 2, 3)
4848
4949
julia> d
5050
2
51+
52+
julia> e = (false, ) # 因为 (false) 会变成 false
53+
(false,)
54+
55+
julia> length(e)
56+
1
5157
```
5258

5359
##
@@ -65,13 +71,19 @@ julia> pair.second
6571
注意不要将元组与对搞混
6672

6773
## 共用
68-
可以使用 `Union{Type1, Type2...}` 声明一个新[类型](../advanced/typesystem.md)它的实例是 `Type1``Type2`……之一
74+
可以使用 `Union{Type1, Type2...}` 声明一个新[类型](../advanced/typesystem.md)它的实例可以取 `Type1``Type2` 等等中任一个
6975
```julia-repl
70-
julia> MyType = Union{Bool,Int,Float64}
71-
Union{Bool, Int64}
76+
julia> MyType = Union{Bool, Int, Float64}
77+
Union{Bool, Float64, Int64}
7278
7379
julia> isa(true, MyType)
7480
true
81+
82+
julia> un:: MyType = 1
83+
1
84+
85+
julia> un = 1.0
86+
1.0
7587
```
7688

7789
## 区分

docs/basic/misc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# 查缺补漏
2-
为了避免你遗漏一些重要的细节,在正式引入 `advanced` 节前(当然也可以就此停止),这里进行一些补充:
2+
为了避免你遗漏一些重要的细节,在正式进入语言进阶或就此停止前,这里进行一些补充:
33

44
## 加载代码
55
可以通过 `include(路径)` 加载一个[路径](../knowledge/filesystem.md#路径)下的代码,如使用 `include("foo.jl")` 导入相对路径下 `foo.jl` 中的代码。这类似于 C 中的 `#include ""`

docs/basic/scope.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
# 变量作用域
2+
```julia-repl
3+
julia> if true
4+
local scoped = 0
5+
end
6+
0
7+
8+
julia> scoped
9+
ERROR: UndefVarError: `scoped` not defined in `Main`
10+
Suggestion: check for spelling errors or missing imports.
11+
```
12+
213
## 简述
314
方便起见,可以遵循一个原则,即把 `xxx ... end` 看作一个层层嵌套的块。使用一个变量时先在当前块或某个上级块初始化,通常初始化所在块结束时,这个变量也会消亡。
415

docs/basic/setting.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,4 @@ outline = [
1919
"io",
2020
"scope",
2121
"misc",
22-
"test"
2322
]

docs/basic/statement.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ stat || content
9191
CPU 可能进行会分支预测 [^2]
9292

9393
## 练习
94-
- 只通过条件-分支结构,输入整数 `a``b``c`,然后输出数 `a``b``c` 的最小值
94+
- 只通过条件-分支结构,输入整数 `a``b``c`,然后输出它们中的最小值
95+
- 只通过条件-分支结构,输入整数 `a``b``c`,然后从小到大输出它们
9596
- 通过条件-分支结构,输入整数 `a``b``c`,然后输出对 `a``b``c` 作为边长能否组成三角形的判断
9697
- 分析在“利用 && ||”节中两个语句分别对应什么作用
9798

docs/basic/string.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,6 @@ julia> raw"\\"
126126
Julia 也提供了 `escape_string``unescape_string` 函数,可以帮助你在希望支持某些转义功能时进行处理
127127

128128
## 练习
129+
- 试表示含有单个反斜杠的字符串。
130+
- 凯撒加密的方法是:将 a~z 放在一个圆盘上,然后指定一个数字 n,将待加密字符串每个字符在圆盘上顺时针转 n 格。请使用 Julia 编写程序,解密 `htwwjhy` 到一个简单单词。
129131
- (困难)了解什么是 Quine,并设计一个使用 Julia 的 Quine,参考答案[见此](https://github.com/JuliaAttic/Examples/blob/master/quine.jl)

docs/basic/test.md

Lines changed: 0 additions & 66 deletions
This file was deleted.

0 commit comments

Comments
 (0)