8.1 输入/输出函数

  • 核心概念: 输入/输出函数用于与外部环境进行交互,例如读取用户输入、输出程序结果等。

  • print() 函数: 用于向控制台输出信息。

    • 支持输出多个参数,参数之间用空格分隔。
    • 支持输出各种类型的数据,包括 intfloatstringboolmaplist
  • input() 函数: 用于从控制台读取用户输入。

    • 返回用户输入的字符串。
  • 示例代码:

    print("请输入您的姓名:");
    string name = input();
    print("您好," .. name .. "!");
    
    int age = 30;
    float height = 1.75;
    print("年龄:", age, "身高:", height);
    

8.2 类型转换函数

  • 核心概念: 类型转换函数用于将一个数据类型转换为另一个数据类型。

  • tostring() 函数: 将其他类型的数据转换为字符串。

    • 支持将 intfloatboolmaplist 转换为字符串。
  • tonumber() 函数: 将字符串转换为数字。

    • 如果字符串可以解析为整数,则返回 int 类型;否则,返回 float 类型。
    • 如果字符串无法解析为数字,则返回 nil
  • tobool() 函数: 将其他类型的数据转换为布尔值。

    • nilfalse 转换为 false,其他值转换为 true
  • 示例代码:

    int num = 123;
    string str = tostring(num);
    print(type(str), str); // 输出 string 123
    
    string numStr = "3.14";
    float pi = tonumber(numStr);
    print(type(pi), pi); // 输出 float 3.14
    
    string boolStr = "true";
    bool flag = tobool(boolStr);
    print(type(flag), flag); // 输出 bool true
    

8.3 字符串操作函数

  • 核心概念: 字符串操作函数用于对字符串进行各种操作,例如获取长度、提取子串、查找子串等。

  • length() 函数: 获取字符串的长度。

  • substring() 函数: 提取字符串的子串。

    • 接受两个参数:起始索引和结束索引(可选)。
  • find() 函数: 在字符串中查找子串。

    • 返回子串的起始索引,如果找不到则返回 nil
  • replace() 函数: 替换字符串中的子串。

  • split() 函数: 将字符串分割成字符串列表。

  • join() 函数: 将字符串列表连接成一个字符串。

  • 示例代码:

    string text = "Hello, FlexScript!";
    print(length(text)); // 输出 18
    
    string subStr = substring(text, 0, 5);
    print(subStr); // 输出 Hello
    
    int index = find(text, "Flex");
    print(index); // 输出 7
    
    string replacedText = replace(text, "FlexScript", "World");
    print(replacedText); // 输出 Hello, World!
    
    list<string> words = split(text, ", ");
    print(words); // 输出 ["Hello", "FlexScript!"]
    
    string joinedText = join(words, " - ");
    print(joinedText); // 输出 Hello - FlexScript!
    

8.4 数学函数

  • 核心概念: 数学函数用于执行各种数学运算,例如求绝对值、求平方根、求三角函数等。

  • abs() 函数: 求绝对值。

  • sqrt() 函数: 求平方根。

  • pow() 函数: 求幂。

  • sin()cos()tan() 函数: 求三角函数。

  • random() 函数: 生成随机数。

  • 示例代码:

    print(abs(-10)); // 输出 10
    print(sqrt(16)); // 输出 4
    print(pow(2, 3)); // 输出 8
    print(sin(0)); // 输出 0
    print(random()); // 输出一个 0 到 1 之间的随机数
    

8.5 列表操作函数

  • 核心概念: 列表操作函数用于对列表进行各种操作,例如添加元素、删除元素、获取长度等。

  • append() 函数: 向列表末尾添加元素。

  • remove() 函数: 删除列表中的元素。

    • 接受一个参数:要删除的元素的索引。
  • len() 函数: 获取列表的长度。

  • insert() 函数: 在列表的指定位置插入元素。

    • 接受两个参数:要插入的元素的索引和要插入的元素。
  • sort() 函数: 对列表进行排序。

  • 示例代码:

    list<int> numbers = [1, 2, 3];
    append(numbers, 4);
    print(numbers); // 输出 [1, 2, 3, 4]
    
    remove(numbers, 1);
    print(numbers); // 输出 [1, 3, 4]
    
    print(len(numbers)); // 输出 3
    
    insert(numbers, 1, 2);
    print(numbers); // 输出 [1, 2, 3, 4]
    
    sort(numbers);
    print(numbers); // 输出 [1, 2, 3, 4]
    

8.6 映射操作函数

  • 核心概念: 映射操作函数用于对映射进行各种操作,例如添加键值对、删除键值对、获取键列表等。

  • keys() 函数: 获取映射的键列表。

  • values() 函数: 获取映射的值列表。

  • contains() 函数: 检查映射是否包含指定的键。

  • remove() 函数: 删除映射中的键值对。

    • 接受一个参数:要删除的键。
  • 示例代码:

    map<string, int> scores = {{"Alice", 90}, {"Bob", 85}, {"Charlie", 95}};
    print(keys(scores)); // 输出 ["Alice", "Bob", "Charlie"]
    print(values(scores)); // 输出 [90, 85, 95]
    
    print(contains(scores, "Alice")); // 输出 true
    print(contains(scores, "David")); // 输出 false
    
    remove(scores, "Bob");
    print(scores); // 输出 {{"Alice", 90}, {"Charlie", 95}}