# woo 基本语法
woo 学习起来非常简单,我们可以创建第一个 woo 程序!
* * *
## 第一个 woo 程序
在命令行中,输入以下命令:
~~~
> woo -r 'print("Hello World!")'
~~~
接着我们按下回车键,输出结果如下:
```
\>woo -r 'print("Hello World!")'
Hello World!
\>
```
* * *
## 脚本式编程
我们可以将 woo 程序代码保存到一个以 woo 结尾的文件,并执行,该模式称为脚本式编程,如我们将如下代码存储在名为 hello.woo 的脚本文件中:
~~~
print("Hello World!")
print("www.wooyri.com")
~~~
使用 woo 名执行以上脚本,输出结果为:
~~~
$ woo hello.woo
Hello World!
www.wooyri.com
~~~
我们也可以将代码修改为如下形式来执行脚本(在开头添加:#!/usr/local/bin/woo):
## 实例
#!/usr/local/bin/woo
print("Hello World!")
print("www.wooyri.com")
以上代码中,我们指定了 woo 的解释器 /usr/local/bin directory。加上 # 号标记解释器会忽略它。接下来我们为脚本添加可执行权限,并执行:
~~~
./hello.woo
Hello World!
www.woyri.com
~~~
* * *
## 注释
### 单行注释
两个减号是单行注释:
~~~
--
~~~
### 多行注释
~~~
--[[
多行注释
多行注释
--]]
~~~
* * *
## 标示符
woo 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线\_开头后加上 0 个或多个字母,下划线,数字(0 到 9)。
最好不要使用下划线加大写字母的标示符,因为woo的保留字也是这样的。
woo 不允许使用特殊字符如**@**,**$**, 和**%**来定义标示符。 woo 是一个区分大小写的编程语言。因此在 woo 中 foo 与 Foo 是两个不同的标示符。以下列出了一些正确的标示符:
~~~
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
~~~
* * *
## 关键词
以下列出了 woo 的保留关键词。保留关键字不能作为常量或变量或其他用户自定义标示符:
|---|---|---|---|
|---|---|---|---|
| and | break | do | else |
| elseif | end | false | for |
| function | if | in | local |
| nil | not | or | repeat |
| return | then | true | until |
| while | goto | |
更多:[内置函数](内置函数)
一般约定,以下划线开头连接一串大写字母的名字(比如 \_VERSION)被保留用于 woo 内部全局变量,请勿修改类似变量。
* * *
## 全局变量
在默认情况下,变量总是认为是全局的。
全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。
\>print(b)
nil
\>b\=10
\>print(b)
10
\>
如果你想删除一个全局变量,只需要将变量赋值为nil。
~~~
b = nil
print(b) --> nil
~~~
这样变量b就好像从没被使用过一样。换句话说, 当且仅当一个变量不等于nil时,这个变量即存在。
- 序言
- 安装
- 可视化编辑器
- woo 命令行参数详解
- 测试用例
- 简单http服务
- 正则
- gpio控制硬件设备
- 比武不招亲
- 和php比WebServer
- woo语法
- 语法简介
- 基本语法
- woo数据类型
- woo变量
- woo循环
- woo流程控制
- woo函数
- woo运算符
- woo字符串
- 类
- 类的继承
- 模块
- 数组
- 迭代
- table
- 元表(魔术方法)
- 错误处理
- 面向对象
- woo开发必须注意事项
- 函数/模块
- 内置函数
- webServer专属函数
- 内置模块
- gd-2d绘图库
- 2D图形例子
- websockets用例
- buffer缓存
- http
- orm数据库连接
- redis-ssdb连接
- queue队列
- 其他特别函数
- sockets
- 启动线程如何
- Murphy-http Web框架
- 简介
- 全局函数
- model
- view
- controller
- 消息队列
- 全局线程锁
- 包管理器/coder wooyri package manager
- 最ok的包上榜名单
- woo栗子
- 函数传参
- 编码解码
- http模块用例
- 移动读写文件流用例
- 文件下载用例
- 数组迭代
- 进制转换
- _choose用例
- 日期时间用例
- 注明
- wop 码包|coder wooyri peogram
- 码人激励计划