仓库源文站点原文


layout: post comments: true title: 木兰编程语言入门教程之一——浅介 description: date: 2020-01-31 00:05:00 -0700

categories: 木兰

本教程不求全面,各个方面点到即止。各位可多尝试,欢迎反馈/提交PR。本章参考Python官方入门文档3. An Informal Introduction to Python

一 浅介

所有示例在运行 ulang.0.2.2.exe 打开的交互环境下测试通过(Win7 64位)。

2020-01-31_console.png

示例中,开头带>提示的为代码行,不带的为输出。

所有//后的内容为注释,并不执行。/**/中间的内容也是。只支持单行注释。

比如:

> // 首行注释
> n = 1 /* 第二行注释!*/
>       /* 第三行!*/
> text = "// 这不是注释"
> text
// 这不是注释

1.1 计算

四则运算的运算符与括号与数学类似,*为乘,/为除。

如果都为整数,那么结果也会取整(整除):

> (1+3)*2/3
2

如果带有小数,结果也是小数:

> (1.0+3)*2/3
2.6666666666666665

%为取余数:

> 11%3
2

^为求幂:

> 5^2
25

=为一个变量赋值,不返回内容:

> width = 2
> height = 3
> width * height
6

如果某个变量没见过,则报错:

> hehe
NameError: name 'hehe' is not defined

1.2 字符串

用单、双引号括起来,反斜杠为转义符:

> 'doesn\'t'
doesn't
> '"你好"'
"你好"
> "\"吃了么?\""
"吃了么?"
> "“吃过了!”"
“吃过了!”

\n为换行:

> s='第一行\n第二行'
> s
第一行
第二行

如需表示\n原始字符串,比如c:\name,可以这样:

> 'c\\\'+'name'
c\name

通过乘法重复多次:

> 3 * '长长' + '消'
长长长长长长消

可以通过位置截取字符串:

> a = '木兰编程语言'
> a[1]
兰
> a[5]
言
> a[0:2]
木兰
> a[4:]
语言

取长度:

> saying = '迅雷不及掩耳之势'
> len(saying)
8

1.3 列表

比如平方数数列:

> squares = [1, 4, 9, 17]
> squares
[1, 4, 9, 17]

截取其中内容、拼接、求长度都与字符串操作类似。

与字符串不同,列表内容可以修改:

> squares[3] = 16
> squares
[1, 4, 9, 16]

也可添加内容:

> squares.append(25)
> squares
[1, 4, 9, 16, 25]

也可以修改其中一段:

> squares[1:3] = [40, 90]
> squares
[1, 40, 90, 16, 25]
> squares[2:4] = []
> squares
[1, 40, 25]

可清除所有内容:

> squares[:] = []
> squares
[]

列表可以包含多个列表,类似多维数组:

> x = [['a', 'b', 'c'], [1, 2, 3]]
> x[0][1]
b
> x[1][2]
3

1.4 等差数列

> a = 1
> while a < 10 {
>> println(a)
>> a += 2
>> }
1
3
5
7
9

当a小于10,每次循环将a增加2。println在输出内容后换行。print不换行。