Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
with Ada.Text_IO;
use Ada.Text_IO;
for I in Items'Range loop
   X := Items (I);
   Put_Line (Integer'Image (I) & " " & Integer'Image (X));
end loop;
for (size_t i = 0; i < n; i++) {
  printf("Item %d = %s\n", i, toString(items[i]));
}
(* output_elem is a printer for elements of [items] *)
items |> List.iteri (fun i x ->
	printf "%d: %a" i output_elem x
)
(doseq [[i x] (map-indexed vector items)]
  (println i ":" x))
#include <ranges>
for (auto const [i, x] : std::views::enumerate(items)) {
  std::cout << i << ": " << x << '\n';
}
#include <iostream>
for (std::size_t ix = 0; ix < items.size(); ++ix) {
  std::cout << "Item " << ix << " = " << items[ix] << std::endl;
}
#include <iostream>
std::size_t i = 0;
for(const auto & x: items) {
  std::cout << "Item " << i++ << " = " << x << std::endl;
}
using System.Linq;
foreach (var (x, i) in items.Select((x, i)=>(x, i)))
{
    System.Console.WriteLine($"{i}: {x}");
}
using System.Collections.Generic;
foreach (var (i, x) in items.AsIndexed())
{
    System.Console.WriteLine($"{i}: {x}");
}

public static class Extensions
{
    public static IEnumerable<(int, T)> AsIndexed<T>(
        this IEnumerable<T> source)
    {
        var index = 0;
        foreach (var item in source)
        {
            yield return (index++, item);
        }
    }
}
using System;
for (int i = 0; i < items.Length; i++)
{
    Console.WriteLine($"{i} {items[i]}");
}
import std.stdio;
foreach(i, x; items)
{
   writefln("%s: %s", i, x);
}
import std.stdio, std.algorithm;
import std.range;
items.enumerate.each!(a => writeln("i = ", a[0], " value = ", a[1]));
import 'package:collection/collection.dart';
items.forEachIndexed((i, x) {
  print('index=$i, value=$x');
});
for (var i = 0; i < items.length; i++) {
  print('index=$i, value=${items[i]}');
}
items.asMap().forEach((i, x) {
  print('index=$i, value=$x');
});
items
|> Enum.with_index
|> Enum.each(fn({x, i}) ->
  IO.puts("#{i} => #{x}")
end)
WithIndex =
  lists:zip(lists:seq(1, length(Items)), Items),
io:format("~p~n", [WithIndex]).
do i=1, size(items)
  print *,i, items(i)
end do
import "fmt"
for i, x := range items {
    fmt.Printf("Item %d = %v \n", i, x)
}
items.eachWithIndex {
  x, i -> println "Item $i = $x"
}
mapM_ print (zip [0..] items)
items.forEach((val, idx) => {
  console.log("index=" + idx + ", value=" + val);
});
for (var i in items) {
   console.log("index=" + i + ", value=" + items[i]);
}
import java.util.ArrayList;
int i = 0;
for(String x : items) {
	System.out.printf("%d %s%n", i, x);
	i++;
}
for (int i = 0; i < items.size(); i++) {
    T x = items.get(i);
    System.out.printf("Item %d = %s%n", i, x);
}
for (int i = 0; i < items.length; i++) {
    T x = items[i];
    System.out.printf("Item %d = %s%n", i, x);
}
items.forEachIndexed { i, x -> 
  println("i=$i x=$x") 
}
(loop for i from 0 and x across items
      do (format t "~a = ~a~%" i x))
for i, x in ipairs(items) do
	print('Index: '..i..', Value: '..x)
end
@import Foundation;
[items enumerateObjectsUsingBlock:^(id x, NSUInteger i, BOOL *stop) {
  NSLog(@"Item %lu = %@",(u_long)i,x);
}];
foreach ($items as $i=>$x)
{
    echo "i=$i, x=$x"; echo '<br>';
}
var I:Integer;
    Items: array of String;
[..]
  for I := 0 to high(Items) do
    WriteLn('Item ', I, ' = ', Items[I]);
uses Classes, SysUtils;
var I:Integer;
    Items: array of TObject;
[...]
  for I := 0 to high(Items) do
    if assigned(Items[I]) then
      WriteLn(Format('Item %d = %s', [I, Items[I].ToString]));
use 5.012; # each @array
while (my ($i, $x) = each @items) {
    print "array[$i] = $x\n";
}
for i, x in enumerate(items):
    print(i, x)
items.each_index{|i| puts "Item %d = %s" % [i, items[i]]}
items.each_with_index do |x, i| 
  puts "Item #{i} = #{x}"
end
items.iter().enumerate().for_each(|(i, x)| {
    println!("Item {} = {}", i, x);
})
for (i, x) in items.iter().enumerate() {
    println!("Item {} = {}", i, x);
}
val items = List("a", "b", "c")
items.zipWithIndex.foreach{ case (item, index) => 
  println(s"$index => $item")
}
(define (display-list items)
  (define (display-list items i)
    (if (not (null? items))
        (begin
          (display (string-append
                    (number->string i)
                    ": "
                    (number->string (first items))
                    "\n"))
          (display-list (rest items) (+ i 1)))
        'done))
  (display-list items 0))
items withIndexDo: [:item :index |
  Transcript showln: 'item: ' , item asString , ' index: ' , index asString].
Imports System
For i As Integer = 0 To items.Length - 1
    Dim x = items(i)
    Console.WriteLine($"Item {i} = {x}")
Next
Imports System
For i As Integer = 0 To items.Count - 1
    Dim x = items(i)
    Console.WriteLine($"Item {i} = {x}")
Next
For i = LBound(items) To UBound(items)
    x = items(i)
    Debug.Print i & ": " & x
Next

New implementation...