{"id":1355,"date":"2021-04-02T19:08:51","date_gmt":"2021-04-03T02:08:51","guid":{"rendered":"https:\/\/coderpad-staging.io\/?post_type=programming-language&#038;p=1085"},"modified":"2023-06-06T05:58:21","modified_gmt":"2023-06-06T12:58:21","slug":"erlang","status":"publish","type":"programming-language","link":"https:\/\/coderpad.io\/languages\/erlang\/","title":{"rendered":"Erlang"},"content":{"rendered":"\n<p>You should define the module as \u201csolution\u201d and define and export a method named \u201cstart\u201d on it, like so:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Erlang\" data-shcb-language-slug=\"erlang\"><span><code class=\"hljs language-erlang shcb-wrap-lines\"><span class=\"hljs-keyword\">-module<\/span><span class=\"hljs-params\">(solution)<\/span>.\n<span class=\"hljs-keyword\">-export<\/span><span class=\"hljs-params\">(&#91;start\/<span class=\"hljs-number\">0<\/span>])<\/span>.\n\n<span class=\"hljs-function\"><span class=\"hljs-title\">start<\/span><span class=\"hljs-params\">()<\/span> -&gt;<\/span>\n  io:format(<span class=\"hljs-string\">\"Hello, World\"<\/span>).\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Erlang<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">erlang<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>If you\u2019d like to write some tests using&nbsp;<a href=\"http:\/\/erlang.org\/doc\/apps\/eunit\/chapter.html\" target=\"_blank\" rel=\"noopener\"><code>eunit<\/code><\/a>, you can do so as long as you remember to&nbsp;<code>include_lib<\/code>&nbsp;and invoke your module\u2019s&nbsp;<code>test<\/code>&nbsp;function from your&nbsp;<code>start<\/code>&nbsp;function:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Erlang\" data-shcb-language-slug=\"erlang\"><span><code class=\"hljs language-erlang shcb-wrap-lines\"><span class=\"hljs-keyword\">-module<\/span><span class=\"hljs-params\">(solution)<\/span>.\n<span class=\"hljs-keyword\">-export<\/span><span class=\"hljs-params\">(&#91;start\/<span class=\"hljs-number\">0<\/span>])<\/span>.\n<span class=\"hljs-keyword\">-include_lib<\/span><span class=\"hljs-params\">(<span class=\"hljs-string\">\"eunit\/include\/eunit.hrl\"<\/span>)<\/span>. <span class=\"hljs-comment\">% attach eunit handlers to this module<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-title\">f<\/span><span class=\"hljs-params\">(<span class=\"hljs-number\">0<\/span>)<\/span> -&gt;<\/span> <span class=\"hljs-number\">1<\/span>;\n<span class=\"hljs-function\"><span class=\"hljs-title\">f<\/span><span class=\"hljs-params\">(<span class=\"hljs-number\">1<\/span>)<\/span> -&gt;<\/span> <span class=\"hljs-number\">1<\/span>;\n<span class=\"hljs-function\"><span class=\"hljs-title\">f<\/span><span class=\"hljs-params\">(N)<\/span> <span class=\"hljs-title\">when<\/span> N &gt; 1 -&gt;<\/span> f(N-<span class=\"hljs-number\">1<\/span>) + f(N-<span class=\"hljs-number\">2<\/span>).\n\n<span class=\"hljs-function\"><span class=\"hljs-title\">f_test<\/span><span class=\"hljs-params\">()<\/span> -&gt;<\/span>\n  <span class=\"hljs-number\">1<\/span> = f(<span class=\"hljs-number\">0<\/span>),\n  <span class=\"hljs-number\">1<\/span> = f(<span class=\"hljs-number\">1<\/span>),\n  <span class=\"hljs-number\">2<\/span> = f(<span class=\"hljs-number\">2<\/span>),\n  <span class=\"hljs-number\">3<\/span> = f(<span class=\"hljs-number\">3<\/span>),\n  <span class=\"hljs-number\">6<\/span> = f(<span class=\"hljs-number\">4<\/span>). <span class=\"hljs-comment\">% this should fail<\/span>\n\n<span class=\"hljs-function\"><span class=\"hljs-title\">start<\/span><span class=\"hljs-params\">()<\/span> -&gt;<\/span>\n  test(). <span class=\"hljs-comment\">% remember to call test from start, or we won't know that we need to run tests!<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Erlang<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">erlang<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"parent":0,"menu_order":0,"template":"","class_list":["post-1355","programming-language","type-programming-language","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/programming-language\/1355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/programming-language"}],"about":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/types\/programming-language"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media?parent=1355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}