ForNext
Shut the fuck up and write some code
標準入力から読んで、標準出力に書く
VBScript
更新日 : 2008.05.23
Do Until WScript.StdIn.AtEndOfStream WScript.StdOut.WriteLine WScript.StdIn.ReadLine Loop
S:\>cscript //nologo s:\lesson002.vbs < s:\lesson001.vbs Dim var1: var1 = "Hello" Dim var2: var2 = "World" WScript.Echo var1 + ", " + var2 + "!"
JScript
更新日 : 2008.05.23
do { WScript.StdOut.WriteLine(WScript.StdIn.ReadLine()); } while (! WScript.StdIn.AtEndOfStream);
S:\>cscript //nologo s:\lesson002.js < s:\lesson001.vbs var var1 = "Hello"; var var2 = "World"; WScript.Echo(var1 + ", " + var2 + "!");
Perl
更新日 : 2008.05.23
print while(<STDIN>);
S:\>perl s:\lesson002.pl < s:\lesson001.pl $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n";
PHP
更新日 : 2008.05.23
<?php $fp = fopen("php://stdin", "r"); while (!feof($fp)) { print(fgets($fp)); } fclose($fp); ?>
S:\>php s:\lesson002.php < s:\lesson001.php <?php $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n"; ?>
Python
更新日 : 2012.05.10
import sys for line in sys.stdin: print line,
S:\>python s:\lesson001.py < s:\lesson001.rb var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
Ruby
更新日 : 2008.05.23
STDIN.each do |line| puts line end
S:\>ruby s:\lesson002.rb < s:\lesson001.rb var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
PowerShell
更新日 : 2012.06.08
PS P:\> Get-Content s:\lesson006.rb | Set-Content s:\lesson006.rb.copy PS P:\> Get-Content s:\lesson006.rb.copy var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
Scala
更新日 : 2012.05.15
var line: String = readLine while (line != null) { println(line) line = readLine }
T:\>scala lesson0001.scala < s:\lesson001.rb --nologo --quiet var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
■ もうちょい Scala っぽく
scala.io.Source.stdin.getLines.foreach(println)
T:\>scala lesson0002.scala < s:\lesson001.rb --nologo --quiet var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
F#
更新日 : 2012.05.15
module lesson0001 let mutable line = System.Console.ReadLine() while line <> null do System.Console.WriteLine line line <- System.Console.ReadLine()
T:\>fsi lesson0001.fs < s:\lesson001.rb --nologo --quiet var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
■ もうちょい F# っぽく
module lesson0002 let sysin = new System.IO.StreamReader(System.Console.OpenStandardInput()) let s = sysin.ReadToEnd() sysin.Close() s.Split [|','|] |> Array.iter (fun arg -> printfn "%s" arg)
T:\>fsi lesson0002.fs < lesson0002.cs --nologo --quiet le.WriteLine(line); } input.Dispose(); } } class lesson0002 ^^^^^ T:\stdin(4,1): error FS0010: Unexpected keyword 'class' in interaction
出力内容を F# のソースだと勘違いしてるっぽい...
T:\>fsi lesson0002.fs < lesson0002.cs --nologo --quiet --exec using System; using System.IO; class lesson0002 { static void Main(string[] args) { TextReader input = new StreamReader(args[0]); string line; while ((line = input.ReadLine()) != null) { Console.WriteLine(line); } input.Dispose(); } }
C
C++
C++Builder
VC++
C#
更新日 : 2012.05.10
using System; using System.IO; class lesson0001 { static void Main(string[] args) { TextReader input = Console.In; string line; while ((line = input.ReadLine()) != null) { Console.WriteLine(line); } input.Dispose(); } }
S:\>csc lesson0001.cs Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1 Copyright (C) Microsoft Corporation. All rights reserved. S:\>lesson0001 < s:\lesson001.rb var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
Java
更新日 : 2012.05.10
import java.io.*; public class lesson0001 { public static void main(String args[]){ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = in.readLine()) != null) { System.out.println(line); } } }
S:\>javac lesson0001.java lesson0001.java:9: 例外 java.io.IOException は報告されません。スローするにはキャッチまたは、スロー宣言をしなければなりません。 while ((line = in.readLine()) != null) { ^ エラー 1 個
import java.io.*; public class lesson0002 { public static void main(String args[]){ try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = in.readLine()) != null) { System.out.println(line); } } catch (Exception e) { System.err.println(e); } } }
S:\>javac lesson0002.java
S:\>java lesson0002 < lesson0001.java Exception in thread "main" java.lang.NoClassDefFoundError: lesson0002 Caused by: java.lang.ClassNotFoundException: lesson0002 at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: lesson0002. Program will exit.
S:\>java -cp . lesson0002 < s:\lesson001.rb var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";