各プログラミング言語の標準入出力サンプル（ややマイナーなもの用）

[CodeIQ](https://codeiq.jp/)の問題を解くとき、標準入出力のサンプルとして、メジャーな言語であれば、
[各プログラミング言語の標準入出力サンプル](https://codeiq.jp/node/1598)を見ているんだけれども、ここに載っていないのもあるので、参考用に。

よく探してみたら、下記のページに標準入出力サンプル乗っていた。
http://ideone.com/samples
~~そのままだとCodeIQのコンパイラで動かないので、 加工して記載することに。~~
※よく見たら42が入力されるまで繰り返すという処理だった。
[42](https://ja.wikipedia.org/wiki/42)って[銀座ヒッチハイクガイド](https://ja.wikipedia.org/wiki/%E9%8A%80%E6%B2%B3%E3%83%92%E3%83%83%E3%83%81%E3%83%8F%E3%82%A4%E3%82%AF%E3%83%BB%E3%82%AC%E3%82%A4%E3%83%89)の[究極の疑問の答え](https://ja.wikipedia.org/wiki/%E7%94%9F%E5%91%BD%E3%80%81%E5%AE%87%E5%AE%99%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6%E4%B8%87%E7%89%A9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AE%E7%A9%B6%E6%A5%B5%E3%81%AE%E7%96%91%E5%95%8F%E3%81%AE%E7%AD%94%E3%81%88)
ことなのだろうか。

あとこちらも参考に
[標準入力から読んで、標準出力に書く](http://fornext1119.web.fc2.com/0101/0005.html)
[言語別標準入出力]
(http://yukicoder.me/wiki/stdio)
[【言語別】複数行の標準入力→int型配列 の高速化(Tips)
]
(http://qiita.com/tuboc/items/aa2096c1b2725f3c4490)

* bash

```bash

while read line
do
    echo $line
done

```

* C


```c

#include <stdio.h>

int main(void){
   char str[1024];
   while( fgets(str, sizeof(str), stdin) != NULL ){
     printf("%s", str);
   }
   return 0;
}

```


* C# 

```csharp

using System;
public class Example
{
   public static void Main()
   {
      string line;
      do { 
         line = Console.ReadLine();
         if (line != null) 
            Console.WriteLine(line);
      } while (line != null);   
   }
}

```

* Clojure

```clj

(doseq [line (line-seq (java.io.BufferedReader. *in*))] 
    (println line))


```

```clj

(use '[clojure.java.io])

(doseq [line (line-seq (reader *in*))]
  (println line))

```


* D言語

```d

import std.stdio;
import std.string;

void main()
{
    string line;
    while ((line = readln()) !is null) {
        writeln(chomp(line));
    }
}

```

* Erlang

```erlang

-module(prog).
-export([main/0]).

main() ->
	loop().
loop() ->
	case io:fread( "","~d" ) of
		eof ->
			true;
		{ok, X} ->
			[Y] = X,
			if
				Y == "" ->
					true;
				true ->
					io:fwrite( "~B\n",X ),
					loop()
			end
	end.
```


* F#

```fsharp

seq { while true do yield stdin.ReadLine () }
|> Seq.takeWhile ((<>) null)
|> Seq.iter (printfn "%s")

```

```fsharp

module Example
 
let mutable line = System.Console.ReadLine()
while line <> null do
    System.Console.WriteLine line
    line <- System.Console.ReadLine()

```

```fsharp

module Example
 
let sysin = new System.IO.StreamReader(System.Console.OpenStandardInput())
let s = sysin.ReadToEnd()
sysin.Close()
 
s.Split [|','|]
|> Array.iter (fun arg -> printfn "%s" arg)

```


* Go

```go

package main

import (
    "fmt"
)

func main() {
    var line string
    for { 
        c,_:=fmt.Scanln(&line)
        if c == 0 { break }
        fmt.Println(line)
    }
}

```

* Groovy

```groovy
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
def line
while((line = br.readLine()) != null) {
    println(line)
}

```



* Java

```java

import java.io.*;
class Main {
    public static void main(String[] args) throws IOException {
        int c;
        while ((c = System.in.read()) != -1)
            System.out.println(c);
        }
}

```

```java

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    
    public static void main(String[] args) throws Exception {
        BufferedReader br = 
                new BufferedReader(new InputStreamReader(System.in));
        String line;

        while ((line = br.readLine())!=null) {
            System.out.println(line);            
        }
    }
}
```


* JavaScript(node.js)

```js

process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (chunk) {
    var lines = chunk.toString().split('\n');
    var N = lines.length;
    for(var i=0; i<lines.length; i++) {
        console.log(lines[i]);
    }
});

```

* Lua

```lua


while true do
    local line = io.read()
	if line == nil then return end
    print(line)
end


````


* Nemerle

```nemerle

class Example
{
  public static Main () : void
  {
    mutable line;
    do {
    line = System.Console.ReadLine();
    System.Console.WriteLine(line);
    } while (line != null) 
  }
}

```
[CSharp Similarities and Differences](https://github.com/rsdn/nemerle/wiki/CSharp-Similarities-and-Differences)














* Perl

```pl

while(defined(my $line=<STDIN>)){
	print $line
}

```

```pl

while (<>) {
    print $_;
}

```




* Perl6

```pl

while ($_ = $*IN.get) { say $_ }

```


* PHP

```php

<?php
while($line=fgets(STDIN))
{
      echo $line;
}
?>

```

* Python

```py

import fileinput
for line in fileinput.input():
  print line,

```


* Python3 

```py3

import fileinput
for line in fileinput.input():
  print(line,end='')

```


```py3

line = input()
while len(line) > 0:
	print(line)
	line = input()
```


* R

```r

con = file(description="stdin",open="r")
while (length(line <- readLines(con, n = 1, warn = FALSE)) > 0) {
       cat(line)
}
close(con)

```


* Ruby

```rb

while line = STDIN.gets
  print line
end

```

```rb

lines = $stdin.read.split(?\n)
lines.each{|s| puts s}
```

```rb

$<.map{|line| puts line }

```



* Scala

```scala

object Main extends App {
    var line: String = readLine
	while(line != null) {
		println(line)
		line = readLine
	};
}

```

```scala


object Main extends App {
    scala.io.Source.stdin.getLines.foreach(println)
}


```




* VB.Net

```vbnet

Module Example
    Public Sub Main()
        Dim line As String	
        Do
            line = Console.ReadLine()
            Console.WriteLine(line)
        Loop While line IsNot Nothing
    End Sub	
End Module

```