[{"data":1,"prerenderedAt":580},["ShallowReactive",2],{"navigation_docs":3,"-struct-encapsulation":198,"-struct-encapsulation-surround":575},[4,30,81,118,147,171,184],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"/getting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/getting-started/introduction","1.getting-started/2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","/getting-started/installation","1.getting-started/3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","/getting-started/quickstart","1.getting-started/4.quickstart","i-lucide-code-xml",{"title":26,"path":27,"stem":28,"icon":29},"Troubleshooting","/getting-started/troubleshooting","1.getting-started/5.troubleshooting","i-lucide-wrench",{"title":31,"icon":6,"path":32,"stem":33,"children":34,"page":6},"Core Features","/core-features","2.core-features",[35,39,43,48,52,56,60,64,68,73,77],{"title":36,"path":37,"stem":38,"icon":24},"Main function","/core-features/main-function","2.core-features/1.main-function",{"title":40,"path":41,"stem":42,"icon":24},"Variables","/core-features/variables","2.core-features/2.variables",{"title":44,"path":45,"stem":46,"icon":47},"Comment","/core-features/comment","2.core-features/3.comment","i-lucide-hash",{"title":49,"path":50,"stem":51,"icon":24},"Conditionals","/core-features/conditionals","2.core-features/4.conditionals",{"title":53,"path":54,"stem":55,"icon":24},"Loops","/core-features/loops","2.core-features/5.loops",{"title":57,"path":58,"stem":59,"icon":24},"Functions","/core-features/functions","2.core-features/6.functions",{"title":61,"path":62,"stem":63,"icon":24},"Pointers","/core-features/pointers","2.core-features/7.pointers",{"title":65,"path":66,"stem":67,"icon":24},"Data types","/core-features/datatypes","2.core-features/8.datatypes",{"title":69,"path":70,"stem":71,"icon":72},"Operators","/core-features/operators","2.core-features/9.operators","i-lucide-percent",{"title":74,"path":75,"stem":76,"icon":24},"Literals","/core-features/a.literals","2.core-features/a.literals",{"title":78,"path":79,"stem":80,"icon":24},"Keywords","/core-features/b.keywords","2.core-features/b.keywords",{"title":82,"icon":6,"path":83,"stem":84,"children":85,"page":6},"Features","/features","3.features",[86,90,94,98,102,106,110,114],{"title":87,"path":88,"stem":89,"icon":24},"Const","/features/const","3.features/1.const",{"title":91,"path":92,"stem":93,"icon":24},"Define","/features/define","3.features/2.define",{"title":95,"path":96,"stem":97,"icon":24},"Enum","/features/enum","3.features/3.enum",{"title":99,"path":100,"stem":101,"icon":24},"Union","/features/union","3.features/4.union",{"title":103,"path":104,"stem":105,"icon":24},"Overloading","/features/overloading","3.features/5.overloading",{"title":107,"path":108,"stem":109,"icon":24},"Lambda","/features/lambda","3.features/6.lambda",{"title":111,"path":112,"stem":113,"icon":24},"Callback","/features/callback","3.features/7.callback",{"title":115,"path":116,"stem":117,"icon":24},"Auto","/features/auto","3.features/8.auto",{"title":119,"icon":6,"path":120,"stem":121,"children":122,"page":6},"Advance Features","/advance","4.advance",[123,127,131,135,139,143],{"title":124,"path":125,"stem":126,"icon":24},"Generic Type","/advance/generic-type","4.advance/1.generic-type",{"title":128,"path":129,"stem":130,"icon":24},"Errors","/advance/error","4.advance/2.error",{"title":132,"path":133,"stem":134,"icon":24},"Annotation","/advance/annotation","4.advance/3.annotation",{"title":136,"path":137,"stem":138,"icon":24},"Variadic Function","/advance/variadic-func","4.advance/4.variadic-func",{"title":140,"path":141,"stem":142,"icon":24},"Module","/advance/module-interface","4.advance/5.module-interface",{"title":144,"path":145,"stem":146,"icon":24},"Operator Overloading","/advance/operator-overloading","4.advance/6.operator-overloading",{"title":148,"icon":6,"path":149,"stem":150,"children":151,"page":6},"Struct","/struct","5.struct",[152,155,159,163,167],{"title":148,"path":153,"stem":154,"icon":24},"/struct/struct","5.struct/1.struct",{"title":156,"path":157,"stem":158,"icon":24},"Methods","/struct/methods","5.struct/2.methods",{"title":160,"path":161,"stem":162,"icon":24},"Init/Deinit","/struct/init-deinit","5.struct/3.init-deinit",{"title":164,"path":165,"stem":166,"icon":24},"Encapsulation","/struct/encapsulation","5.struct/4.encapsulation",{"title":168,"path":169,"stem":170,"icon":24},"Static","/struct/static","5.struct/5.static",{"title":172,"icon":6,"path":173,"stem":174,"children":175,"page":6},"Data Structures","/data-structure","6.data-structure",[176,180],{"title":177,"path":178,"stem":179,"icon":24},"Array","/data-structure/array","6.data-structure/array",{"title":181,"path":182,"stem":183,"icon":24},"Structural Type","/data-structure/strutural-type","6.data-structure/strutural-type",{"title":185,"icon":6,"path":186,"stem":187,"children":188,"page":6},"Standard Libraries","/stdlib","7.stdlib",[189,194],{"title":190,"path":191,"stem":192,"icon":193},"stdlib","/stdlib/stdlib","7.stdlib/stdlib","i-lucide-library-big",{"title":195,"path":196,"stem":197,"icon":24},"syscall","/stdlib/syscall","7.stdlib/syscall",{"id":199,"title":164,"body":200,"description":568,"extension":569,"links":570,"meta":571,"navigation":572,"path":165,"seo":573,"stem":166,"__hash__":574},"docs/5.struct/4.encapsulation.md",{"type":201,"value":202,"toc":565},"minimark",[203,207,213,514,517,522,525,551,561],[204,205,206],"p",{},"The purpose of encupsulation is to make sure that sensitive data is hidden from users. To achieve this, you must add underscore(_) in front of your variables or attributes names.",[204,208,209],{},[210,211,212],"strong",{},"Example:",[214,215,220],"pre",{"className":216,"code":217,"language":218,"meta":219,"style":219},"language-kh shiki shiki-themes material-theme-lighter one-light one-dark-pro","struct Person{\n  string name;\n  string _id;\n  string _address.\n\n  init Person(name, _id, _address);\n\n  # ...\n}\n\nint main(string args[]){\n\n  Person p = Person(\"Dara\", \"e20250972\", \"ax34ld\");\n\n  print(\"Name: {}\\n\", p.name);\n  print(\"ID: {}\\n\", p._id); # error!\n  print(\"Address: {}\\n\", p._address); # error!\n  return 0;\n}\n\n","kh","",[221,222,223,240,252,262,273,280,309,314,321,327,332,352,357,404,409,439,469,497,509],"code",{"__ignoreMap":219},[224,225,228,232,236],"span",{"class":226,"line":227},"line",1,[224,229,231],{"class":230},"sQsOY","struct",[224,233,235],{"class":234},"s8dPH"," Person",[224,237,239],{"class":238},"sM89C","{\n",[224,241,243,246,249],{"class":226,"line":242},2,[224,244,245],{"class":230},"  string",[224,247,248],{"class":234}," name",[224,250,251],{"class":238},";\n",[224,253,255,257,260],{"class":226,"line":254},3,[224,256,245],{"class":230},[224,258,259],{"class":234}," _id",[224,261,251],{"class":238},[224,263,265,267,270],{"class":226,"line":264},4,[224,266,245],{"class":230},[224,268,269],{"class":234}," _address",[224,271,272],{"class":238},".\n",[224,274,276],{"class":226,"line":275},5,[224,277,279],{"emptyLinePlaceholder":278},true,"\n",[224,281,283,286,289,292,295,298,301,303,306],{"class":226,"line":282},6,[224,284,285],{"class":230},"  init",[224,287,235],{"class":288},"spnjr",[224,290,291],{"class":238},"(",[224,293,294],{"class":234},"name",[224,296,297],{"class":238},", ",[224,299,300],{"class":234},"_id",[224,302,297],{"class":238},[224,304,305],{"class":234},"_address",[224,307,308],{"class":238},");\n",[224,310,312],{"class":226,"line":311},7,[224,313,279],{"emptyLinePlaceholder":278},[224,315,317],{"class":226,"line":316},8,[224,318,320],{"class":319},"seacL","  # ...\n",[224,322,324],{"class":226,"line":323},9,[224,325,326],{"class":238},"}\n",[224,328,330],{"class":226,"line":329},10,[224,331,279],{"emptyLinePlaceholder":278},[224,333,335,338,341,343,346,349],{"class":226,"line":334},11,[224,336,337],{"class":234},"int",[224,339,340],{"class":288}," main",[224,342,291],{"class":238},[224,344,345],{"class":230},"string",[224,347,348],{"class":234}," args",[224,350,351],{"class":238},"[]){\n",[224,353,355],{"class":226,"line":354},12,[224,356,279],{"emptyLinePlaceholder":278},[224,358,360,363,366,370,372,374,378,382,384,386,388,391,393,395,397,400,402],{"class":226,"line":359},13,[224,361,362],{"class":234},"  Person",[224,364,365],{"class":234}," p",[224,367,369],{"class":368},"sB4Xn"," =",[224,371,235],{"class":288},[224,373,291],{"class":238},[224,375,377],{"class":376},"sVH1b","\"",[224,379,381],{"class":380},"spZWa","Dara",[224,383,377],{"class":376},[224,385,297],{"class":238},[224,387,377],{"class":376},[224,389,390],{"class":380},"e20250972",[224,392,377],{"class":376},[224,394,297],{"class":238},[224,396,377],{"class":376},[224,398,399],{"class":380},"ax34ld",[224,401,377],{"class":376},[224,403,308],{"class":238},[224,405,407],{"class":226,"line":406},14,[224,408,279],{"emptyLinePlaceholder":278},[224,410,412,415,417,419,422,426,428,430,432,435,437],{"class":226,"line":411},15,[224,413,414],{"class":288},"  print",[224,416,291],{"class":238},[224,418,377],{"class":376},[224,420,421],{"class":380},"Name: {}",[224,423,425],{"class":424},"scPpd","\\n",[224,427,377],{"class":376},[224,429,297],{"class":238},[224,431,204],{"class":234},[224,433,434],{"class":238},".",[224,436,294],{"class":234},[224,438,308],{"class":238},[224,440,442,444,446,448,451,453,455,457,459,461,463,466],{"class":226,"line":441},16,[224,443,414],{"class":288},[224,445,291],{"class":238},[224,447,377],{"class":376},[224,449,450],{"class":380},"ID: {}",[224,452,425],{"class":424},[224,454,377],{"class":376},[224,456,297],{"class":238},[224,458,204],{"class":234},[224,460,434],{"class":238},[224,462,300],{"class":234},[224,464,465],{"class":238},"); ",[224,467,468],{"class":319},"# error!\n",[224,470,472,474,476,478,481,483,485,487,489,491,493,495],{"class":226,"line":471},17,[224,473,414],{"class":288},[224,475,291],{"class":238},[224,477,377],{"class":376},[224,479,480],{"class":380},"Address: {}",[224,482,425],{"class":424},[224,484,377],{"class":376},[224,486,297],{"class":238},[224,488,204],{"class":234},[224,490,434],{"class":238},[224,492,305],{"class":234},[224,494,465],{"class":238},[224,496,468],{"class":319},[224,498,500,503,507],{"class":226,"line":499},18,[224,501,502],{"class":230},"  return",[224,504,506],{"class":505},"sriKn"," 0",[224,508,251],{"class":238},[224,510,512],{"class":226,"line":511},19,[224,513,326],{"class":238},[204,515,516],{},"The above program would not get compiled because we try to access the data that we're supposed not to touch.",[518,519,521],"h2",{"id":520},"other-cases","Other Cases",[204,523,524],{},"The use of underscore to make something hidden does not only works for struct, it also works outside of struct, such as make a function local or global across many source files.",[214,526,529],{"className":216,"code":527,"filename":528,"language":218,"meta":219,"style":219},"void _hidden_function(){\n  # code...\n}\n","test.kh",[221,530,531,542,547],{"__ignoreMap":219},[224,532,533,536,539],{"class":226,"line":227},[224,534,535],{"class":230},"void",[224,537,538],{"class":288}," _hidden_function",[224,540,541],{"class":238},"(){\n",[224,543,544],{"class":226,"line":242},[224,545,546],{"class":319},"  # code...\n",[224,548,549],{"class":226,"line":254},[224,550,326],{"class":238},[204,552,553,554,557,558,560],{},"You are not able to use the ",[221,555,556],{},"_hidden_function"," outside this ",[221,559,528],{}," source file because it's marked as local.",[562,563,564],"style",{},"html pre.shiki code .sQsOY, html code.shiki .sQsOY{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#A626A4;--shiki-default-font-style:inherit;--shiki-dark:#C678DD;--shiki-dark-font-style:inherit}html pre.shiki code .s8dPH, html code.shiki .s8dPH{--shiki-light:#90A4AE;--shiki-default:#E45649;--shiki-dark:#E06C75}html pre.shiki code .sM89C, html code.shiki .sM89C{--shiki-light:#90A4AE;--shiki-default:#383A42;--shiki-dark:#ABB2BF}html pre.shiki code .spnjr, html code.shiki .spnjr{--shiki-light:#6182B8;--shiki-default:#4078F2;--shiki-dark:#61AFEF}html pre.shiki code .seacL, html code.shiki .seacL{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#A0A1A7;--shiki-default-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic}html pre.shiki code .sB4Xn, html code.shiki .sB4Xn{--shiki-light:#39ADB5;--shiki-default:#383A42;--shiki-dark:#ABB2BF}html pre.shiki code .sVH1b, html code.shiki .sVH1b{--shiki-light:#39ADB5;--shiki-default:#50A14F;--shiki-dark:#98C379}html pre.shiki code .spZWa, html code.shiki .spZWa{--shiki-light:#91B859;--shiki-default:#50A14F;--shiki-dark:#98C379}html pre.shiki code .scPpd, html code.shiki .scPpd{--shiki-light:#90A4AE;--shiki-default:#0184BC;--shiki-dark:#56B6C2}html pre.shiki code .sriKn, html code.shiki .sriKn{--shiki-light:#F76D47;--shiki-default:#986801;--shiki-dark:#D19A66}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":219,"searchDepth":242,"depth":242,"links":566},[567],{"id":520,"depth":242,"text":521},"Hide your data!","md",null,{},{"icon":24},{"title":164,"description":568},"BCNQJN7gz3an-HaoX0zmDdPzW9P31_ge-C9zU03BKPY",[576,578],{"title":160,"path":161,"stem":162,"description":577,"icon":24,"children":-1},"Constructor & Destructor.",{"title":168,"path":169,"stem":170,"description":579,"icon":24,"children":-1},"Make the data stick to your struct.",1774971230802]