2.2. [CS2D-Lua傻瓜式教程] 八大类型与基础结构 - String和Function

八大数据类型 - String和Function

在 Lua 中有八种 数据类型, 他们构成了 Lua 的全部

熟练掌握这八大类型, 有助于你加深对 Lua 的理解, 更好学习这门语言


这次我们来学习 String 和 Function


String

String, 译名 字符串, 同样顾名思义, 这是一串字符

我们可以把 String 理解成 一段话


  1. String 有三种表达方式, 假设我们要表达 字符串abc:

    1. 以 '' 为间隔, 'abc'
    2. 以 "" 为间隔, "abc"
    3. 以 [[]] 为间隔, [[abc]]

    这三种表达方式等价, 一般前两种使用较多


  2. String 中存在名为 转义字符 的特殊字符

    转移字符以 \ 开头, 接上不同内容表达不同的意思

    这是因为一些特殊字符不能直接在 Lua 中打出来, 比如 换行符


    下面是一些常用的转义字符:

    转义字符 意义
    \n 换行符
    \169 ©, 在CS2D中为颜色代码
    \174 ®, 在CS2D中为贴图代码
    \166 ¦, 在CS2D中为换行代码
    \\ 转义 \ 本身, 这样就可以正常使用 \ 了
    \' 转义 ', 这样在字符串内也可以打出 ' 符号
    \" 转义 ", 这样在字符串内也可以打出 " 符号
    \t 制表符, 在 vsCode 中按 Tab 可以打出

    假设我想输出一段话 Hello, "CS2D"!

    代码就可以这样写:


    print('Hello, "CS2D"!')
    

    这里因为外层用的是 ', 所以 " 不转义也可以


    print("Hello, \"CS2D\"!")
    

    如果是外层用 ", 就需要转义了, 不然会引起 歧义


  3. 同样, String 也有自己的官方库 string


    string库 中常用的函数如下:

    函数名称 描述
    string.len(s) 返回 字符串s 的长度
    string.upper(s) 返回 全大写的字符串s
    string.lower(s) 返回 全小写的字符串s
    string.find(s, pattern[, init[, plain]]) 查找 字符串s 中匹配到的 第一个pattern, 返回索引
    string.format(formatstring, ...) 返回 格式化字符串 ( 遵循 sprintf原则 )
    string.match(s, pattern[, init]) 返回 在 字符串s 中匹配到的 所有pattern

    暂时我们只需要知道前三个, 匹配格式化 属于后面的内容, 暂时不用了解


    上述关于 string库 的样例代码: 点我查看


Function

未完待续

posted @ 2022-04-23 11:18  WatPz  阅读(76)  评论(0)    收藏  举报