1.1 FlexScript 的设计理念和目标

  • 核心概念: FlexScript 是一种轻量级、动态类型的脚本语言,旨在提供简洁、高效和灵活的编程体验。
  • 设计理念:
    • 语法接近 C++,降低学习门槛。
    • 不逊于一流脚本语言的解释性能。
    • 支持 maplist 等灵活的数据结构。
    • 支持多返回值和协程等强大的特性。
  • 目标:
    • 为开发者提供一种易于学习和使用的脚本语言。
    • 在保持简洁性的同时,提供足够的功能来满足各种编程需求。
    • 适用于游戏脚本、嵌入式系统、配置文件、快速原型开发和自动化脚本等场景。

1.2 FlexScript 的适用场景

  • 游戏开发:
    • 用于编写游戏逻辑、控制游戏对象和处理游戏事件。
    • FlexScript 的动态类型和协程特性非常适合游戏开发。
  • 嵌入式系统:
    • 用于控制硬件设备和处理传感器数据。
    • FlexScript 的轻量级和高效性使其适用于资源受限的嵌入式系统。
  • 配置文件:
    • 用于编写应用程序的配置文件。
    • FlexScript 的 maplist 数据结构非常适合表示结构化数据。
  • 快速原型开发:
    • 用于快速实现和测试新的想法。
    • FlexScript 的动态类型和简洁语法可以提高开发效率。
  • 自动化脚本:
    • 用于编写自动化任务和批处理脚本。
    • FlexScript 的标准库提供了丰富的功能,方便进行文件操作和系统调用。

1.3 FlexScript 的基本语法概览

  • 变量声明:
    类型 变量名 = 初始值; // 局部变量
    global 类型 变量名 = 初始值; // 全局变量
    
  • 数据类型:
    • int, bool, float, string, map, list, void, any, coroutineHandle
  • 控制语句:
    • if, while, for, break, continue
  • 函数:
    返回类型 函数名(参数列表) { 函数体 }
    
  • 数据结构:
    list<元素类型> 列表名 = [元素1, 元素2, ...];
    map<键类型, 值类型> 映射名 = {1 = 1, 2 = 2, ...};
    
  • 模块导入:
    import 模块名;
    
  • 脚本包含:
    include "文件名.fs";
    
  • 协程:
    coroutine 函数名() { 函数体 }
    

1.4 FlexScript 的开发环境搭建

  • 安装 FlexScript 编译器或解释器:

    • TODO。
  • 选择合适的编辑器或集成开发环境(IDE):

    • 可以使用任何支持文本编辑的编辑器或 IDE。
  • 编写第一个 FlexScript 程序:

    • 创建一个名为 hello.fs 的文件,并输入以下代码:
    print("Hello, FlexScript!");