[{"data":1,"prerenderedAt":892},["ShallowReactive",2],{"navigation_docs":3,"-struct-methods":198,"-struct-methods-surround":887},[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":156,"body":200,"description":880,"extension":881,"links":882,"meta":883,"navigation":884,"path":157,"seo":885,"stem":158,"__hash__":886},"docs/5.struct/2.methods.md",{"type":201,"value":202,"toc":876},"minimark",[203,207,210,220,225,303,322,558,562,634,638,847,856,872],[204,205,206],"p",{},"Methods are typically functions that belong to the struct. This enable us to define functions to process data and keep them close to those data.",[204,208,209],{},"There are two ways to define a method:",[211,212,213,217],"ul",{},[214,215,216],"li",{},"Inside struct definition.",[214,218,219],{},"Outside struct definition.",[221,222,224],"h2",{"id":223},"define-inside-struct","Define inside struct",[226,227,233],"pre",{"className":228,"code":229,"filename":230,"language":231,"meta":232,"style":232},"language-kh shiki shiki-themes material-theme-lighter one-light one-dark-pro","struct identifier{\n  \n  type identifier(parameters){\n    # code...\n  }\n\n}\n","syntax","kh","",[234,235,236,253,259,277,284,290,297],"code",{"__ignoreMap":232},[237,238,241,245,249],"span",{"class":239,"line":240},"line",1,[237,242,244],{"class":243},"sQsOY","struct",[237,246,248],{"class":247},"s8dPH"," identifier",[237,250,252],{"class":251},"sM89C","{\n",[237,254,256],{"class":239,"line":255},2,[237,257,258],{"class":251},"  \n",[237,260,262,265,268,271,274],{"class":239,"line":261},3,[237,263,264],{"class":243},"  type",[237,266,248],{"class":267},"spnjr",[237,269,270],{"class":251},"(",[237,272,273],{"class":247},"parameters",[237,275,276],{"class":251},"){\n",[237,278,280],{"class":239,"line":279},4,[237,281,283],{"class":282},"seacL","    # code...\n",[237,285,287],{"class":239,"line":286},5,[237,288,289],{"class":251},"  }\n",[237,291,293],{"class":239,"line":292},6,[237,294,296],{"emptyLinePlaceholder":295},true,"\n",[237,298,300],{"class":239,"line":299},7,[237,301,302],{"class":251},"}\n",[204,304,305,309,310,313,314,317,318,321],{},[306,307,308],"strong",{},"Example:","\nIn this example below, we're going to define a method ",[234,311,312],{},"norm"," to find the norm value of the ",[234,315,316],{},"Vect2",". And we also need to a ",[234,319,320],{},"sqrt"," function from the math library!",[226,323,325],{"className":228,"code":324,"language":231,"meta":232,"style":232},"import math;\n\nstruct Vect2{\n  float x;\n  float y;\n\n  float norm(){\n    return sqrt(x**2 + y**2);\n  }\n}\n\nint main(string args[]){\n\n  Vect2 vect = Vect2();\n  vect.x = 3;\n  vect.y = 4;\n\n  int norm = vect.norm(); # norm = 5 \n\n  return 0;\n}\n",[234,326,327,338,342,351,361,370,374,384,418,423,428,433,453,458,475,493,510,515,537,542,553],{"__ignoreMap":232},[237,328,329,332,335],{"class":239,"line":240},[237,330,331],{"class":243},"import",[237,333,334],{"class":247}," math",[237,336,337],{"class":251},";\n",[237,339,340],{"class":239,"line":255},[237,341,296],{"emptyLinePlaceholder":295},[237,343,344,346,349],{"class":239,"line":261},[237,345,244],{"class":243},[237,347,348],{"class":247}," Vect2",[237,350,252],{"class":251},[237,352,353,356,359],{"class":239,"line":279},[237,354,355],{"class":247},"  float",[237,357,358],{"class":247}," x",[237,360,337],{"class":251},[237,362,363,365,368],{"class":239,"line":286},[237,364,355],{"class":247},[237,366,367],{"class":247}," y",[237,369,337],{"class":251},[237,371,372],{"class":239,"line":292},[237,373,296],{"emptyLinePlaceholder":295},[237,375,376,378,381],{"class":239,"line":299},[237,377,355],{"class":247},[237,379,380],{"class":267}," norm",[237,382,383],{"class":251},"(){\n",[237,385,387,390,393,395,398,402,406,409,411,413,415],{"class":239,"line":386},8,[237,388,389],{"class":243},"    return",[237,391,392],{"class":267}," sqrt",[237,394,270],{"class":251},[237,396,397],{"class":247},"x",[237,399,401],{"class":400},"sB4Xn","**",[237,403,405],{"class":404},"sriKn","2",[237,407,408],{"class":400}," +",[237,410,367],{"class":247},[237,412,401],{"class":400},[237,414,405],{"class":404},[237,416,417],{"class":251},");\n",[237,419,421],{"class":239,"line":420},9,[237,422,289],{"class":251},[237,424,426],{"class":239,"line":425},10,[237,427,302],{"class":251},[237,429,431],{"class":239,"line":430},11,[237,432,296],{"emptyLinePlaceholder":295},[237,434,436,439,442,444,447,450],{"class":239,"line":435},12,[237,437,438],{"class":247},"int",[237,440,441],{"class":267}," main",[237,443,270],{"class":251},[237,445,446],{"class":243},"string",[237,448,449],{"class":247}," args",[237,451,452],{"class":251},"[]){\n",[237,454,456],{"class":239,"line":455},13,[237,457,296],{"emptyLinePlaceholder":295},[237,459,461,464,467,470,472],{"class":239,"line":460},14,[237,462,463],{"class":247},"  Vect2",[237,465,466],{"class":247}," vect",[237,468,469],{"class":400}," =",[237,471,348],{"class":267},[237,473,474],{"class":251},"();\n",[237,476,478,481,484,486,488,491],{"class":239,"line":477},15,[237,479,480],{"class":247},"  vect",[237,482,483],{"class":251},".",[237,485,397],{"class":247},[237,487,469],{"class":400},[237,489,490],{"class":404}," 3",[237,492,337],{"class":251},[237,494,496,498,500,503,505,508],{"class":239,"line":495},16,[237,497,480],{"class":247},[237,499,483],{"class":251},[237,501,502],{"class":247},"y",[237,504,469],{"class":400},[237,506,507],{"class":404}," 4",[237,509,337],{"class":251},[237,511,513],{"class":239,"line":512},17,[237,514,296],{"emptyLinePlaceholder":295},[237,516,518,521,523,525,527,529,531,534],{"class":239,"line":517},18,[237,519,520],{"class":247},"  int",[237,522,380],{"class":247},[237,524,469],{"class":400},[237,526,466],{"class":247},[237,528,483],{"class":251},[237,530,312],{"class":267},[237,532,533],{"class":251},"(); ",[237,535,536],{"class":282},"# norm = 5 \n",[237,538,540],{"class":239,"line":539},19,[237,541,296],{"emptyLinePlaceholder":295},[237,543,545,548,551],{"class":239,"line":544},20,[237,546,547],{"class":243},"  return",[237,549,550],{"class":404}," 0",[237,552,337],{"class":251},[237,554,556],{"class":239,"line":555},21,[237,557,302],{"class":251},[221,559,561],{"id":560},"define-outside-struct","Define outside struct",[226,563,565],{"className":228,"code":564,"filename":230,"language":231,"meta":232,"style":232},"struct identifier{\n  \n  type identifier(parameters);\n\n}\n\ntype identifier.identifier(parameters){ # struct_name.method_name\n  # code...\n}\n",[234,566,567,575,579,591,595,599,603,625,630],{"__ignoreMap":232},[237,568,569,571,573],{"class":239,"line":240},[237,570,244],{"class":243},[237,572,248],{"class":247},[237,574,252],{"class":251},[237,576,577],{"class":239,"line":255},[237,578,258],{"class":251},[237,580,581,583,585,587,589],{"class":239,"line":261},[237,582,264],{"class":243},[237,584,248],{"class":267},[237,586,270],{"class":251},[237,588,273],{"class":247},[237,590,417],{"class":251},[237,592,593],{"class":239,"line":279},[237,594,296],{"emptyLinePlaceholder":295},[237,596,597],{"class":239,"line":286},[237,598,302],{"class":251},[237,600,601],{"class":239,"line":292},[237,602,296],{"emptyLinePlaceholder":295},[237,604,605,608,610,612,615,617,619,622],{"class":239,"line":299},[237,606,607],{"class":243},"type",[237,609,248],{"class":247},[237,611,483],{"class":251},[237,613,614],{"class":267},"identifier",[237,616,270],{"class":251},[237,618,273],{"class":247},[237,620,621],{"class":251},"){ ",[237,623,624],{"class":282},"# struct_name.method_name\n",[237,626,627],{"class":239,"line":386},[237,628,629],{"class":282},"  # code...\n",[237,631,632],{"class":239,"line":420},[237,633,302],{"class":251},[204,635,636],{},[306,637,308],{},[226,639,641],{"className":228,"code":640,"language":231,"meta":232,"style":232},"import math;\n\nstruct Vect2{\n  float x;\n  float y;\n  float norm();\n}\n\nfloat Vect2.norm(){\n  return sqrt(self.x**2 + self.y**2);\n}\n\nint main(string args[]){\n\n  Vect2 vect = Vect2();\n  vect.x = 3;\n  vect.y = 4;\n\n  int norm = vect.norm(); # norm = 5 \n\n  return 0;\n}\n",[234,642,643,651,655,663,671,679,687,691,695,708,742,746,750,764,768,780,794,808,812,830,834,842],{"__ignoreMap":232},[237,644,645,647,649],{"class":239,"line":240},[237,646,331],{"class":243},[237,648,334],{"class":247},[237,650,337],{"class":251},[237,652,653],{"class":239,"line":255},[237,654,296],{"emptyLinePlaceholder":295},[237,656,657,659,661],{"class":239,"line":261},[237,658,244],{"class":243},[237,660,348],{"class":247},[237,662,252],{"class":251},[237,664,665,667,669],{"class":239,"line":279},[237,666,355],{"class":247},[237,668,358],{"class":247},[237,670,337],{"class":251},[237,672,673,675,677],{"class":239,"line":286},[237,674,355],{"class":247},[237,676,367],{"class":247},[237,678,337],{"class":251},[237,680,681,683,685],{"class":239,"line":292},[237,682,355],{"class":247},[237,684,380],{"class":267},[237,686,474],{"class":251},[237,688,689],{"class":239,"line":299},[237,690,302],{"class":251},[237,692,693],{"class":239,"line":386},[237,694,296],{"emptyLinePlaceholder":295},[237,696,697,700,702,704,706],{"class":239,"line":420},[237,698,699],{"class":247},"float",[237,701,348],{"class":247},[237,703,483],{"class":251},[237,705,312],{"class":267},[237,707,383],{"class":251},[237,709,710,712,714,716,719,721,723,725,727,729,732,734,736,738,740],{"class":239,"line":425},[237,711,547],{"class":243},[237,713,392],{"class":267},[237,715,270],{"class":251},[237,717,718],{"class":247},"self",[237,720,483],{"class":251},[237,722,397],{"class":247},[237,724,401],{"class":400},[237,726,405],{"class":404},[237,728,408],{"class":400},[237,730,731],{"class":247}," self",[237,733,483],{"class":251},[237,735,502],{"class":247},[237,737,401],{"class":400},[237,739,405],{"class":404},[237,741,417],{"class":251},[237,743,744],{"class":239,"line":430},[237,745,302],{"class":251},[237,747,748],{"class":239,"line":435},[237,749,296],{"emptyLinePlaceholder":295},[237,751,752,754,756,758,760,762],{"class":239,"line":455},[237,753,438],{"class":247},[237,755,441],{"class":267},[237,757,270],{"class":251},[237,759,446],{"class":243},[237,761,449],{"class":247},[237,763,452],{"class":251},[237,765,766],{"class":239,"line":460},[237,767,296],{"emptyLinePlaceholder":295},[237,769,770,772,774,776,778],{"class":239,"line":477},[237,771,463],{"class":247},[237,773,466],{"class":247},[237,775,469],{"class":400},[237,777,348],{"class":267},[237,779,474],{"class":251},[237,781,782,784,786,788,790,792],{"class":239,"line":495},[237,783,480],{"class":247},[237,785,483],{"class":251},[237,787,397],{"class":247},[237,789,469],{"class":400},[237,791,490],{"class":404},[237,793,337],{"class":251},[237,795,796,798,800,802,804,806],{"class":239,"line":512},[237,797,480],{"class":247},[237,799,483],{"class":251},[237,801,502],{"class":247},[237,803,469],{"class":400},[237,805,507],{"class":404},[237,807,337],{"class":251},[237,809,810],{"class":239,"line":517},[237,811,296],{"emptyLinePlaceholder":295},[237,813,814,816,818,820,822,824,826,828],{"class":239,"line":539},[237,815,520],{"class":247},[237,817,380],{"class":247},[237,819,469],{"class":400},[237,821,466],{"class":247},[237,823,483],{"class":251},[237,825,312],{"class":267},[237,827,533],{"class":251},[237,829,536],{"class":282},[237,831,832],{"class":239,"line":544},[237,833,296],{"emptyLinePlaceholder":295},[237,835,836,838,840],{"class":239,"line":555},[237,837,547],{"class":243},[237,839,550],{"class":404},[237,841,337],{"class":251},[237,843,845],{"class":239,"line":844},22,[237,846,302],{"class":251},[204,848,849,850,852,853,855],{},"This works the same as the inside struct approach but we keep the definition of the struct ",[234,851,316],{}," cleaner, and keeping the defition of the method ",[234,854,312],{}," somewhere else.",[857,858,859,860,863,864,867,868,863,870,483],"note",{},"Notice, ",[234,861,862],{},"self.x"," and ",[234,865,866],{},"self.y"," are used instead of ",[234,869,397],{},[234,871,502],{},[873,874,875],"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 .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);}html pre.shiki code .sB4Xn, html code.shiki .sB4Xn{--shiki-light:#39ADB5;--shiki-default:#383A42;--shiki-dark:#ABB2BF}html pre.shiki code .sriKn, html code.shiki .sriKn{--shiki-light:#F76D47;--shiki-default:#986801;--shiki-dark:#D19A66}",{"title":232,"searchDepth":255,"depth":255,"links":877},[878,879],{"id":223,"depth":255,"text":224},{"id":560,"depth":255,"text":561},"Keep your functions inside struct!","md",null,{},{"icon":24},{"title":156,"description":880},"lO2rBZ-EaUSsJzyCSFBR1MN3b-jcxXUcRZUqSHUB5TI",[888,890],{"title":148,"path":153,"stem":154,"description":889,"icon":24,"children":-1},"Wrap your data!",{"title":160,"path":161,"stem":162,"description":891,"icon":24,"children":-1},"Constructor & Destructor.",1774971230765]