mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-29 21:41:00 +08:00
Merge pull request #28132 from wxy/20221129.3-⭐️⭐️-Parse-arguments-with-Lua
RP:published/20221129.3 ⭐️⭐️ Parse arguments with Lua.md
This commit is contained in:
commit
61c0413163
@ -3,14 +3,18 @@
|
||||
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-15321-1.html"
|
||||
|
||||
用 Lua 解析参数
|
||||
======
|
||||
|
||||
大多数计算机命令由两部分组成:命令和参数。命令是要执行的程序,而参数可能是命令选项或用户输入。如果没有这种结构,用户将不得不编辑命令的代码,以改变命令所处理的数据。想象一下重写 [printf][1] 命令只是为了让你的计算机用 “hello world” 消息问候您。参数对于交互式计算至关重要,[Lua 编程语言][2] 提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。
|
||||
![][0]
|
||||
|
||||
> 参数对于交互式计算至关重要,Lua 编程语言提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。
|
||||
|
||||
大多数计算机命令由两部分组成:命令和参数。命令是要执行的程序,而参数可能是命令选项或用户输入。如果没有这种结构,用户将不得不编辑命令的代码,以改变命令所处理的数据。想象一下重写 [printf][1] 命令只是为了让你的计算机用 “hello world” 消息问候你。参数对于交互式计算至关重要,[Lua 编程语言][2] 提供了 `{...}` 表达式来封装在启动 Lua 脚本时给定的可变参数。
|
||||
|
||||
### 在 Lua 中使用参数
|
||||
|
||||
@ -35,7 +39,7 @@ baz
|
||||
----
|
||||
```
|
||||
|
||||
没有参数是安全的,Lua 会完全按照输入的方式打印所有参数。
|
||||
参数是不安全的,Lua 会完全按照输入的方式打印所有参数。
|
||||
|
||||
### 解析参数
|
||||
|
||||
@ -71,7 +75,7 @@ end
|
||||
|
||||
最后,在 `go` 部分,解析 `args` 变量(用户在启动时提供的参数)中的索引和值。在此示例代码中,为清楚起见,第一个 `for` 循环仅打印每个索引和值。
|
||||
|
||||
第二个 `for` 循环使用索引来检查第一个参数,它被假定是一个选项。此示例代码中唯一有效的选项是 `--say`。如果循环找到字符串 `--say`,它会调用 `echo` 函数,并将当前参数的索引_加 1_(_next_ 参数)作为函数参数提供。
|
||||
第二个 `for` 循环使用索引来检查第一个参数,它被假定是一个选项。此示例代码中唯一有效的选项是 `--say`。如果循环找到字符串 `--say`,它会调用 `echo` 函数,并将当前参数的索引 _加 1_(_下一个_ 参数)作为函数参数提供。
|
||||
|
||||
命令参数的分隔符是一个或多个空格。运行代码查看结果:
|
||||
|
||||
@ -110,7 +114,7 @@ via: https://opensource.com/article/22/11/lua-command-arguments
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
@ -120,3 +124,4 @@ via: https://opensource.com/article/22/11/lua-command-arguments
|
||||
[2]: https://opensource.com/article/22/11/lua-worth-learning
|
||||
[3]: https://opensource.com/article/19/11/getting-started-luarocks
|
||||
[4]: https://opensource.com/article/21/8/parsing-commands-lua
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202212/06/111552sofsllzdfffgfakh.jpg
|
Loading…
Reference in New Issue
Block a user