Logo

Programming-Idioms

Given an array a containing the three values 1, 12, 42, print out
"1, 12, 42" with a comma and a space after each integer except the last one.
New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
with Ada.Text_IO;
declare
   A : array (1 .. 3) of Integer := (1, 12, 42);
begin
   for I in A'Range loop
      Ada.Text_IO.Put (A (I)'Image);
      if I /= A'Last then
         Ada.Text_IO.Put (", ");
      end if;
   end loop;
end;
#include <array>
#include <sstream>
#include <iostream>
std::array a{1, 12, 42};

{
  std::stringstream _ss;
  auto iter = a.begin();
  _ss << *iter++;
  for (; iter != a.cend(); _ss << std::string_view(", ") << *iter++);
  std::cout << _ss.view();
}
print(a.join(", "));
  integer, dimension(:), allocatable :: a
  a = [1,12,42]
  write (*,'(*(I0:", "))') a
import "fmt"
a := []int{1, 12, 42}

for i, j := range a {
	if i > 0 {
		fmt.Print(", ")
	}
	fmt.Print(j)
}
let a = [1, 12, 42] in
  putStrLn $ intercalate ", " (show <$> a)
let s = a.join(', ')
console.debug(s)
let s = a.reduce((x, y) => `${x}, ${y}`)
console.debug(s)
import static java.lang.System.out;
import static java.util.stream.IntStream.of;
String s = of(a)
    .mapToObj(String::valueOf)
    .reduce((x, y) -> x + ", " + y)
    .get();
out.println(s);
import static java.lang.System.out;
out.print(a[0]);
int i = 1, n = a.length;
while (i < n) out.print(", " + a[i++]);
import static java.lang.System.out;
import static java.util.stream.Collectors.joining;
import static java.util.stream.IntStream.of
String s = of(a)
    .mapToObj(String::valueOf)
    .collect(joining(", "));
out.println(s);
var
  a: array of integer;
  i: Integer;
begin
  a := [1,12,42];
  for i := Low(a) to High(a) do
  begin
    write(a[i]);
    if i <> High(a) then write(', ');
  end;
end.
@a = qw (1 12 42);
print join(", ",@a),"\n";
print(a[0], end='')
for x in a[1:]:
    print(',', x, end='')
print(', '.join(map(str, a)))
from functools import reduce
f = lambda x, y: f'{x}, {y}'
print(reduce(f, a))
a = [1, 12, 42]
print(*a, sep=', ')
puts a.join(", ")
let a = [1, 12, 42];
println!("{}", a.map(|i| i.to_string()).join(", "))