home > 基礎編 >

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";

Objective-C

D

VB

VB.NET

Delphi

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system