Loops/For with a specified step: Difference between revisions

Content added Content deleted
(Closer to description.)
Line 317: Line 317:
=={{header|Erlang}}==
=={{header|Erlang}}==
<lang erlang>%% Implemented by Arjun Sunel
<lang erlang>%% Implemented by Arjun Sunel
%% for_loop/4 by Bengt Kleberg.
-module(loop_step).
-module(loop_step).
-export([main/0, for_loop/1]).
-export([main/0, for_loop/1, for_loop/4]).
% This Erlang code for "For Loop" is equivalent to: " for (i=start; i<end ; i=i+2){ printf("* ");} " in C language.
% This Erlang code for "For Loop" is equivalent to: " for (i=start; i<end ; i=i+2){ printf("* ");} " in C language.
Line 325: Line 326:
for_loop(1).
for_loop(1).
for_loop(N) when N < 4 ->
for_loop( N ) ->
io:fwrite("* "),
for_loop( N, 4, 2, fun() -> io:fwrite("* ") end ).

for_loop(N+2);
for_loop( I, End, Step, Do ) when N < End ->
Do(),
for_loop(N) when N >= 4->
for_loop( I+Step, End, Step, Do );
io:format("").
for_loop( _I, _End, _Step, _Do ) -> ok.
</lang>
</lang>


{{out}}
{{out}}
<pre>
<pre>
* * * * ok
* * ok
</pre>
</pre>