学习语言
容器与迭代
使用列、典、下标、容器原语与统一迭代语义。
列、元组与典
定 名录:列 为【「甲」,「乙」】;
追加(名录,「丙」);
置 名录【1】为「仲」;
言 名录【0】;
言 弹出(名录);
令 次序:典 为 {「甲」:1,「仲」:2};
置 次序【「丙」】为 3;
言 次序【「仲」】;
言 有键(次序,「丙」);列可用【】或[]。典使用{键:值},键仅可为数、文、理或空;重复键保留原位置并更新值。
列下标和文字下标须为从零开始的非负整数。读取不存在的键或越界下标会产生可捕获错误。长度适用于文字、列和典;追加与弹出会原地修改列。
不可变元组
定 坐标:元 为(10,20,30);
言 坐标【1】;
言 长度(坐标);
言 坐标 等于(10,20,30);含逗号的圆括号表达式是元组;(值,)表示单项元组,(值)仍是普通分组。元组不可按下标改写,使用结构相等:长度相同且各项依次相等时,两个元组相等。
半开切片
言【「甲」,「乙」,「丙」】【1:3】; # 【乙,丙】
言(10,20,30)【1:】; # (20,30)
言「天地玄黄」【:2】; # 天地列、元组和文字支持值【起:止】切片,包含起点、不包含终点。任一端点都可省略;新列和新元组拥有独立的外层容器,内部元素仍遵循原值的引用语义。端点须为非负整数,起点不可大于终点,终点不可超过长度。
统一迭代
逐 项:文 于 名录 则
言 项;
终
逐 键 于 次序 则
言 次序【键】;
终逐列或元组得到元素,逐文字得到单字符文字,逐典得到键。每次迭代的变量都是新的不可改写绑定,闭包可安全捕获当次值。
迭代期间发生的下标错误或用户代码错误,可以使用结构化错误处理捕获。