Loops/Continue: Difference between revisions
m →{{header|Fortran}}: simplified |
added ruby |
||
Line 154:
=={{header|Python}}==
<python>for i in xrange(1,11):
if i % 5 == 0:
print i
continue
print i, ",",</python>
=={{header|Ruby}}==
<ruby>for i in 1..10 do
if i % 5 == 0 then
puts i
next
end
print i, ", "
end</ruby>
=={{header|UnixPipes}}==
|
Revision as of 03:20, 27 November 2008
You are encouraged to solve this task according to the task description, using any language you may know.
Show the following output using one loop.
1, 2, 3, 4, 5 6, 7, 8, 9, 10
Ada
Ada has no continue reserved word, nor does it need one. The continue reserved word is only syntactic sugar for operations that can be achieved without it as in the following example.
<ada> with Ada.Text_Io; use Ada.Text_Io;
procedure Loop_Continue is begin
for I in 1..10 loop Put(Integer'Image(I)); if I mod 5 = 0 then New_Line; else Put(","); end if; end loop;
end Loop_Continue; </ada>
C
<c>for(int i = 1;i <= 10; i++){
printf("%d", i); if(i % 5 == 0){ printf("\n"); continue; } printf(", ");
}</c>
C++
<cpp>for(int i = 1;i <= 10; i++){
cout << i; if(i % 5 == 0){ cout << endl; continue; } cout << ", ";
}</cpp>
ColdFusion
Remove the leading space from the line break tag.
<cfscript> for( i = 1; i <= 10; i++ ) { writeOutput( i ); if( 0 == i % 5 ) { writeOutput( "< br />" ); continue; } writeOutput( "," ); } </cfscript>
D
<d>for(int i = 1;i <= 10; i++){
writef(i); if(i % 5 == 0){ writefln(); continue; } writef(", ");
}</d>
Fortran
DO i = 1, 10 IF (MOD(i, 5) == 0) THEN WRITE(*, "(I0)") i ELSE WRITE(*, "(I0,A)", ADVANCE="NO") i, ", " ENDIF END DO
J
J is array-oriented, so there is very little need for loops. For example, one could satisfy this task this way:
_2}."1'lq<, >'8!:2>:i.2 5
J does support loops for those times they can't be avoided (just like many languages support gotos for those time they can't be avoided).
3 : 0 ] 10 z=.'' for_i. 1 + i.y do. z =. z , ": i if. 0 = 5 | i do. z 1!:2 ]2 z =. '' continue. end. z =. z , ', ' end. i.0 0 )
Though it's rare to see J code like this.
Java
<java>for(int i = 1;i <= 10; i++){
System.out.print(i); if(i % 5 == 0){ System.out.println(); continue; } System.out.print(", ");
}</java>
MAXScript
for i in 1 to 10 do ( format "%" i if mod i 5 == 0 then ( format "\n" continue ) continue format ", " )
Perl
<perl>foreach (1..10) {
print $_; if ($_ % 5 == 0) { print "\n"; next; } print ', ';
}</perl>
Pop11
lvars i; for i from 1 to 10 do printf(i, '%p'); if i rem 5 = 0 then printf('\n'); nextloop; endif; printf(', ') endfor;
Python
<python>for i in xrange(1,11):
if i % 5 == 0: print i continue print i, ",",</python>
Ruby
for i in 1..10 do
if i % 5 == 0 then puts i next end print i, ", "
end
UnixPipes
yes \ | cat -n | head -n 10 | xargs -n 5 echo | tr ' ' ,