[{"data":1,"prerenderedAt":590},["ShallowReactive",2],{"navigation":3,"-design-built-in-functions":239,"-design-built-in-functions-surround":587},[4,159],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"指南","\u002Fguide","00.guide\u002F00.index",[9,11,16,21,53,84,116,142],{"title":5,"path":6,"stem":7,"icon":10},"lucide:book",{"title":12,"path":13,"stem":14,"icon":15},"快速开始","\u002Fguide\u002Fgetting-started","00.guide\u002F01.getting-started","lucide:rocket",{"title":17,"path":18,"stem":19,"icon":20},"基础语法","\u002Fguide\u002Fbasic-syntax","00.guide\u002F02.basic-syntax","lucide:code-2",{"title":22,"path":23,"stem":24,"children":25,"icon":27},"数据类型","\u002Fguide\u002Fdata-types","00.guide\u002F03.data-types\u002F00.index",[26,28,33,38,43,48],{"title":22,"path":23,"stem":24,"icon":27},"lucide:database",{"title":29,"path":30,"stem":31,"icon":32},"基本类型","\u002Fguide\u002Fdata-types\u002Fbasic_types","00.guide\u002F03.data-types\u002F01.basic_types","lucide:type",{"title":34,"path":35,"stem":36,"icon":37},"复合类型","\u002Fguide\u002Fdata-types\u002Fcomposite_types","00.guide\u002F03.data-types\u002F02.composite_types","lucide:layers",{"title":39,"path":40,"stem":41,"icon":42},"类型推导","\u002Fguide\u002Fdata-types\u002Ftype_inference","00.guide\u002F03.data-types\u002F03.type_inference","lucide:brain-circuit",{"title":44,"path":45,"stem":46,"icon":47},"结构体","\u002Fguide\u002Fdata-types\u002Fstruct","00.guide\u002F03.data-types\u002F04.struct","lucide:box-select",{"title":49,"path":50,"stem":51,"icon":52},"内建类型表面","\u002Fguide\u002Fdata-types\u002Fbuilt-in-surface","00.guide\u002F03.data-types\u002F05.built-in-surface","lucide:wrench",{"title":54,"path":55,"stem":56,"children":57,"icon":59},"流程控制","\u002Fguide\u002Fcontrol-flow","00.guide\u002F04.control-flow\u002F00.index",[58,60,64,69,74,79],{"title":54,"path":55,"stem":56,"icon":59},"lucide:git-branch",{"title":61,"path":62,"stem":63,"icon":59},"if 表达式","\u002Fguide\u002Fcontrol-flow\u002Fif-expressions","00.guide\u002F04.control-flow\u002F01.if-expressions",{"title":65,"path":66,"stem":67,"icon":68},"for 循环","\u002Fguide\u002Fcontrol-flow\u002Ffor-loops","00.guide\u002F04.control-flow\u002F02.for-loops","lucide:repeat",{"title":70,"path":71,"stem":72,"icon":73},"break 和 continue","\u002Fguide\u002Fcontrol-flow\u002Fbreak-continue","00.guide\u002F04.control-flow\u002F03.break-continue","lucide:skip-forward",{"title":75,"path":76,"stem":77,"icon":78},"return","\u002Fguide\u002Fcontrol-flow\u002Freturn","00.guide\u002F04.control-flow\u002F04.return","lucide:corner-up-left",{"title":80,"path":81,"stem":82,"icon":83},"注意事项","\u002Fguide\u002Fcontrol-flow\u002Fnotes","00.guide\u002F04.control-flow\u002F05.notes","lucide:alert-triangle",{"title":85,"path":86,"stem":87,"children":88,"icon":90},"函数","\u002Fguide\u002Ffunctions","00.guide\u002F05.functions\u002F00.index",[89,91,96,101,106,111],{"title":85,"path":86,"stem":87,"icon":90},"lucide:braces",{"title":92,"path":93,"stem":94,"icon":95},"基础函数","\u002Fguide\u002Ffunctions\u002Fbasic-functions","00.guide\u002F05.functions\u002F01.basic-functions","lucide:function-square",{"title":97,"path":98,"stem":99,"icon":100},"参数与默认值","\u002Fguide\u002Ffunctions\u002Fadvanced-parameters","00.guide\u002F05.functions\u002F02.advanced-parameters","lucide:settings-2",{"title":102,"path":103,"stem":104,"icon":105},"匿名函数","\u002Fguide\u002Ffunctions\u002Fclosures","00.guide\u002F05.functions\u002F03.closures","lucide:curly-braces",{"title":107,"path":108,"stem":109,"icon":110},"内建函数","\u002Fguide\u002Ffunctions\u002Fbuiltin-functions","00.guide\u002F05.functions\u002F04.builtin-functions","lucide:box",{"title":112,"path":113,"stem":114,"icon":115},"main 函数","\u002Fguide\u002Ffunctions\u002Fmain-function","00.guide\u002F05.functions\u002F05.main-function","lucide:play",{"title":117,"path":118,"stem":119,"children":120,"icon":37},"模块化","\u002Fguide\u002Fmodules","00.guide\u002F06.modules\u002F00.index",[121,122,127,132,137],{"title":117,"path":118,"stem":119,"icon":37},{"title":123,"path":124,"stem":125,"icon":126},"导出","\u002Fguide\u002Fmodules\u002Fexport","00.guide\u002F06.modules\u002F01.export","lucide:upload",{"title":128,"path":129,"stem":130,"icon":131},"导入","\u002Fguide\u002Fmodules\u002Fimport","00.guide\u002F06.modules\u002F02.import","lucide:download",{"title":133,"path":134,"stem":135,"icon":136},"最佳实践","\u002Fguide\u002Fmodules\u002Fbest-practices","00.guide\u002F06.modules\u002F03.best-practices","lucide:check-circle-2",{"title":138,"path":139,"stem":140,"icon":141},"完整示例","\u002Fguide\u002Fmodules\u002Fcomplete-example","00.guide\u002F06.modules\u002F04.complete-example","lucide:file-code-2",{"title":143,"path":144,"stem":145,"children":146,"icon":148},"高级特性概述","\u002Fguide\u002Fadvanced","00.guide\u002F07.advanced\u002F00.index",[147,149,154],{"title":143,"path":144,"stem":145,"icon":148},"lucide:zap",{"title":150,"path":151,"stem":152,"icon":153},"泛型","\u002Fguide\u002Fadvanced\u002Fgenerics","00.guide\u002F07.advanced\u002F05.generics","lucide:git-merge",{"title":155,"path":156,"stem":157,"icon":158},"类型转换","\u002Fguide\u002Fadvanced\u002Ftype-conversion","00.guide\u002F07.advanced\u002F06.type-conversion","lucide:refresh-cw",{"title":160,"path":161,"stem":162,"children":163,"icon":15},"设计","\u002Fdesign","01.design\u002F00.index",[164,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,232,235],{"title":160,"path":161,"stem":162,"icon":15},{"title":166,"path":167,"stem":168},"CST 特性","\u002Fdesign\u002Fcst-features","01.design\u002F01.cst-features",{"title":170,"path":171,"stem":172},"注释关联规则","\u002Fdesign\u002Fcomment-association","01.design\u002F02.comment-association",{"title":174,"path":175,"stem":176},"错误处理","\u002Fdesign\u002Ferror-handling","01.design\u002F03.error-handling",{"title":178,"path":179,"stem":180},"代码优化","\u002Fdesign\u002Foptimization","01.design\u002F04.optimization",{"title":182,"path":183,"stem":184},"注释保留","\u002Fdesign\u002Fcomments","01.design\u002F05.comments",{"title":186,"path":187,"stem":188},"结构体设计","\u002Fdesign\u002Fstruct-design","01.design\u002F06.struct-design",{"title":190,"path":191,"stem":192},"comparable 约束设计","\u002Fdesign\u002Fcomparable-constraint","01.design\u002F07.comparable-constraint",{"title":194,"path":195,"stem":196},"文档分层约定","\u002Fdesign\u002Fdocumentation-convention","01.design\u002F08.documentation-convention",{"title":198,"path":199,"stem":200},"类型系统总纲","\u002Fdesign\u002Ftype-system","01.design\u002F09.type-system",{"title":202,"path":203,"stem":204},"泛型系统","\u002Fdesign\u002Fgenerics-system","01.design\u002F10.generics-system",{"title":206,"path":207,"stem":208},"值语义与共享语义","\u002Fdesign\u002Fvalue-and-sharing-semantics","01.design\u002F11.value-and-sharing-semantics",{"title":210,"path":211,"stem":212},"函数与调用","\u002Fdesign\u002Ffunctions-and-calls","01.design\u002F12.functions-and-calls",{"title":214,"path":215,"stem":216},"表达式与语句","\u002Fdesign\u002Fexpressions-and-statements","01.design\u002F13.expressions-and-statements",{"title":218,"path":219,"stem":220},"模块系统","\u002Fdesign\u002Fmodule-system","01.design\u002F14.module-system",{"title":222,"path":223,"stem":224},"渲染内建","\u002Fdesign\u002Frender-intrinsics","01.design\u002F15.render-intrinsics",{"title":226,"path":227,"stem":228},"Any 设计","\u002Fdesign\u002Fany-design","01.design\u002F16.any-design",{"title":49,"path":230,"stem":231},"\u002Fdesign\u002Fbuilt-in-types-surface","01.design\u002F17.built-in-types-surface",{"title":107,"path":233,"stem":234},"\u002Fdesign\u002Fbuilt-in-functions","01.design\u002F18.built-in-functions",{"title":236,"path":237,"stem":238},"内建结构体与运行时类型","\u002Fdesign\u002Fbuilt-in-structs-and-runtime-types","01.design\u002F19.built-in-structs-and-runtime-types",{"id":240,"title":107,"body":241,"description":355,"extension":582,"meta":583,"navigation":584,"path":233,"seo":585,"stem":234,"__hash__":586},"content\u002F01.design\u002F18.built-in-functions.md",{"type":242,"value":243,"toc":573},"minimark",[244,248,261,265,296,299,302,324,327,341,346,349,365,368,382,387,392,395,407,409,423,429,434,437,444,447,450,485,488,491,494,535,538,550,553,569],[245,246,247],"p",{},"本文档收敛 Dujie 第一阶段对外可见的全局内建函数与构造形式。",[245,249,250,251,255,256,260],{},"渲染相关内建 ",[252,253,254],"code",{},"main \u002F element \u002F text \u002F fragment \u002F comment"," 单独见 ",[257,258,222],"a",{"href":259},".\u002F15.render-intrinsics","。",[262,263,264],"h2",{"id":264},"总体原则",[266,267,268,272,283],"ul",{},[269,270,271],"li",{},"这里只列语言已经公开承诺的全局内建",[269,273,274,275,278,279,282],{},"类型转换形式如 ",[252,276,277],{},"int(x)","、",[252,280,281],{},"float(x)"," 视为语言内建转换，不归入普通全局函数表面",[269,284,285,278,288,291,292,295],{},[252,286,287],{},"none",[252,289,290],{},"some(...)"," 是 ",[252,293,294],{},"opt\u003CT>"," 的语言构造，不归入普通全局函数表面",[262,297,298],{"id":298},"输出函数",[245,300,301],{},"第一阶段稳定支持以下输出函数：",[266,303,304,309,314,319],{},[269,305,306],{},[252,307,308],{},"print(value: any) -> unit",[269,310,311],{},[252,312,313],{},"println(value: any) -> unit",[269,315,316],{},[252,317,318],{},"eprint(value: any) -> unit",[269,320,321],{},[252,322,323],{},"eprintln(value: any) -> unit",[245,325,326],{},"说明：",[266,328,329,332,338],{},[269,330,331],{},"这些函数主要用于调试和简单展示",[269,333,334,335],{},"它们接受 ",[252,336,337],{},"any",[269,339,340],{},"对复杂类型的具体展示文本不作为核心语言语义的一部分锁死",[262,342,344],{"id":343},"panic",[252,345,343],{},[245,347,348],{},"形式：",[350,351,356],"pre",{"className":352,"code":353,"language":354,"meta":355,"style":355},"language-dj shiki shiki-themes github-light github-dark github-dark","panic(message: string)\n","dj","",[252,357,358],{"__ignoreMap":355},[359,360,363],"span",{"class":361,"line":362},"line",1,[359,364,353],{},[245,366,367],{},"规则：",[266,369,370,376,379],{},[269,371,372,373],{},"参数只接受 ",[252,374,375],{},"string",[269,377,378],{},"调用后不会正常返回",[269,380,381],{},"在类型检查上，允许出现在任意需要值的位置",[262,383,385],{"id":384},"assert",[252,386,384],{},[245,388,389,391],{},[252,390,384],{}," 作为第一阶段内建调试能力保留。",[245,393,394],{},"当前用户可按以下签名理解：",[266,396,397,402],{},[269,398,399],{},[252,400,401],{},"assert(condition: bool) -> unit",[269,403,404],{},[252,405,406],{},"assert(condition: bool, message: opt\u003Cstring>) -> unit",[245,408,367],{},[266,410,411,417,420],{},[269,412,413,414],{},"第一个参数必须是 ",[252,415,416],{},"bool",[269,418,419],{},"第二个参数如果提供，用于附加错误信息",[269,421,422],{},"该能力主要用于开发期诊断",[262,424,426],{"id":425},"iter",[252,427,428],{},"iter(...)",[245,430,431,433],{},[252,432,425],{}," 同时是内建参数化类型名和内建构造形式。",[245,435,436],{},"当前稳定承诺的构造形式是：",[266,438,439],{},[269,440,441],{},[252,442,443],{},"iter(xs: list\u003CT>) -> iter\u003CT>",[245,445,446],{},"它的职责是把稳定容器转换成遍历管道的起点。",[245,448,449],{},"例如：",[350,451,453],{"className":352,"code":452,"language":354,"meta":355,"style":355},"let xs: list\u003Cint> = [1, 2, 3];\n\nlet out = iter(xs).map(func(x: int) -> string {\n    `#${x}`\n}).collect();\n",[252,454,455,460,467,473,479],{"__ignoreMap":355},[359,456,457],{"class":361,"line":362},[359,458,459],{},"let xs: list\u003Cint> = [1, 2, 3];\n",[359,461,463],{"class":361,"line":462},2,[359,464,466],{"emptyLinePlaceholder":465},true,"\n",[359,468,470],{"class":361,"line":469},3,[359,471,472],{},"let out = iter(xs).map(func(x: int) -> string {\n",[359,474,476],{"class":361,"line":475},4,[359,477,478],{},"    `#${x}`\n",[359,480,482],{"class":361,"line":481},5,[359,483,484],{},"}).collect();\n",[245,486,487],{},"第一阶段不在这里展开更多来源类型。",[262,489,490],{"id":490},"当前不归入全局内建函数的形式",[245,492,493],{},"以下能力虽然是语言内建，但不按普通全局函数对待：",[266,495,496,501,506,511,516,521,528],{},[269,497,498],{},[252,499,500],{},"text(...)",[269,502,503],{},[252,504,505],{},"fragment(...)",[269,507,508],{},[252,509,510],{},"comment(...)",[269,512,513],{},[252,514,515],{},"element(...)",[269,517,518],{},[252,519,520],{},"main",[269,522,523,525,526],{},[252,524,277],{}," \u002F ",[252,527,281],{},[269,529,530,525,533],{},[252,531,532],{},"some(x)",[252,534,287],{},[245,536,537],{},"它们分别属于：",[266,539,540,542,545],{},[269,541,222],{},[269,543,544],{},"显式类型转换",[269,546,547,549],{},[252,548,294],{}," 构造",[262,551,552],{"id":552},"相关文档",[266,554,555,560,565],{},[269,556,557],{},[257,558,210],{"href":559},".\u002F12.functions-and-calls",[269,561,562],{},[257,563,214],{"href":564},".\u002F13.expressions-and-statements",[269,566,567],{},[257,568,222],{"href":259},[570,571,572],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":355,"searchDepth":462,"depth":462,"links":574},[575,576,577,578,579,580,581],{"id":264,"depth":462,"text":264},{"id":298,"depth":462,"text":298},{"id":343,"depth":462,"text":343},{"id":384,"depth":462,"text":384},{"id":425,"depth":462,"text":428},{"id":490,"depth":462,"text":490},{"id":552,"depth":462,"text":552},"md",{},{},{"title":107,"description":355},"LS8HSPu7R3nlTadTnYEo9mrCQ4J5LYE5qO5nKNFR2lE",[588,589],{"title":49,"path":230,"stem":231,"description":355,"children":-1},{"title":236,"path":237,"stem":238,"description":355,"children":-1},1776981319058]