Skip to content

Commit

Permalink
更改第一章的 arrays arraysstructs2 contracts 章节
Browse files Browse the repository at this point in the history
  • Loading branch information
duydcoco committed Jan 20, 2018
1 parent 5e6ee6d commit 7d4732b
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 22 deletions.
2 changes: 1 addition & 1 deletion en/1/arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ uint[2] fixedArray;
// another fixed Array, can contain 5 strings:
string[5] stringArray;
// a dynamic Array - has no fixed size, can keep growing:
uint[] dynamicArray;
uint[] dynamicArray;
```

You can also create an array of **_structs_**. Using the previous chapter's `Person` struct:
Expand Down
14 changes: 7 additions & 7 deletions zh/1/arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,24 +39,24 @@ material:
}
---

如果你想建立一个集合,可以用 **_数组_**. Solidity支持两种数组: **_静态_** 数组和**_动态_** 数组:
如果你想建立一个集合,可以用 **_数组_**这样的数据类型. Solidity支持两种数组: **_静态_** 数组和**_动态_** 数组:

```
// Array with a fixed length of 2 elements:
uint[2] fixedArray;
// another fixed Array, can contain 5 strings:
string[5] stringArray;
// a dynamic Array - has no fixed size, can keep growing:
uint[] dynamicArray;
uint[] dynamicArray;
```

你也可以建立一个 **_数据结构_**的集合 例如,上一章提到的 `Person` 数据结构:
你也可以建立一个 **_结构体_**类型的数组 例如,上一章提到的 `Person`:

```
Person[] people; // dynamic Array, we can keep adding to it
```

记住:状态变量被永久保存在区域链中。 所以在你的合同中建立一个动态数组保存数据结构是非常有意义的,如同一个小数据库
记住:状态变量被永久保存在区块链中。所以在你的合约中创建动态数组来保存成结构的数据是非常有意义的

## 公共数组

Expand All @@ -66,10 +66,10 @@ Person[] people; // dynamic Array, we can keep adding to it
Person[] public people;
```

其它的合同可以读(但不能写)这个数组,所以这是在合同中保存公共数据的一个有用的模式
其它的合约可以从这个数组读取数据(但不能写入数据),所以这在合约中是一个有用的保存公共数据的模式

# 测试一把

目标是把一个僵尸部队保存在我们的APP里,而且我们想让其它APP看到这些骄傲的僵尸。为此我们要定义公共数组
为了把一个僵尸部队保存在我们的APP里,并且能够让其它APP看到这些僵尸,我们需要一个公共数组

1. 建立一个公共的僵尸数据结构数组,命名为:`zombies`.
1. 创建一个数据类型为`Zombie`的被`public`修饰的结构体数组,命名为:`zombies`.
8 changes: 4 additions & 4 deletions zh/1/arraysstructs2.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ struct Person {
Person[] public people;
```

现在我们学习创建新的 `Person`结构,然后把它加入到 `people` 数组中.
现在我们学习创建新的 `Person`结构,然后把它加入到名为`people` 数组中.

```
// create a New Person:
Expand All @@ -76,7 +76,7 @@ people.push(satoshi);
people.push(Person(16, "Vitalik"));
```

> 注:`array.push()` 在数组的尾部加新元素 **end** ,所以元素在数组中的顺序就是我们添加的顺序, 如:
> 注:`array.push()` 在数组的 **尾部** 加入新元素 ,所以元素在数组中的顺序就是我们添加的顺序, 如:
```
uint[] numbers;
Expand All @@ -88,7 +88,7 @@ numbers.push(15);

# 测试一把

让createZombie做点儿什么吧
让我们创建名为createZombie的函数来做点儿什么吧

1. 在function里先创建一个`Zombie`, 然后把它加入 `zombies` 数组中. 新创见的僵尸的`name``dna`是来自function的输入变量
1. 在函数体里新创建一个`Zombie`, 然后把它加入 `zombies` 数组中. 新创建的僵尸的`name``dna`来自于函数的参数
2. 让我们用一行代码简洁地完成它。
20 changes: 10 additions & 10 deletions zh/1/contracts.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: "合同"
actions: ['答案', '提示']
material:
material:
editor:
language: sol
startingCode: |
pragma solidity //1. 这里写版本指令
//2. 这里建立智能合同
answer: >
answer: >
pragma solidity ^0.4.19;
Expand All @@ -19,9 +19,9 @@ material:

从最基本的开始入手:

Solidity的代码都包裹在 **合同**里面. 一份 `合同` 就是以太应币应用的基本模块, 所有的变量和函数都属于一份合同, 它是你所有应用的起点.
Solidity的代码都包裹在 **合约**里面. 一份 `合约` 就是以太应币应用的基本模块, 所有的变量和函数都属于一份合同, 它是你所有应用的起点.

一份空白合同 `世界您好` 模样如下:
一份名为`HelloWorld`的空合约如下:

```
contract HelloWorld {
Expand All @@ -31,11 +31,11 @@ contract HelloWorld {

## 版本指令

所有的solidity源码都必须冠以 "version pragma" — 标明 Solidity 编译器的版本. 以避免将来新的编译器可能破坏你的程序
所有的solidity源码都必须冠以 "version pragma" — 标明 Solidity 编译器的版本. 以避免将来新的编译器可能破坏你的代码

例如: `pragma solidity ^0.4.19;` (此时此刻,solidity 的最新版本是 0.4.19).

综上所述, 下面就是一个最基本的合同 — 每次建立一个新的项目时的第一段代码:
综上所述, 下面就是一个最基本的合约 — 每次建立一个新的项目时的第一段代码:

```
pragma solidity ^0.4.19;
Expand All @@ -47,10 +47,10 @@ contract HelloWorld {

# 测试一把

为了建立我们的僵尸部队, 让我们先建立一个基础合同,称为 `ZombieFactory`.
为了建立我们的僵尸部队, 让我们先建立一个基础合约,称为 `ZombieFactory`.

1. 在右边的输入框里输入`0.4.19`我们的合同基于这个版本的编译器
1. 在右边的输入框里输入`0.4.19`我们的合约基于这个版本的编译器

2. 建立一个空白合同`ZombieFactory`.
2. 建立一个空合约`ZombieFactory`.

一切完毕,点击下面 "答案" . 如果不工作,点击 "提示".
一切完毕,点击下面 "答案" . 如果没效果,点击 "提示".

0 comments on commit 7d4732b

Please sign in to comment.