さまざまな言語で数値計算
Only Do What Only You Can Do
10未満の自然数 (range)
VBScript
JScript
JavaScript には関数型プログラミングに必要な機能が足りないので, 自作して補う.
(VBScriptと違って, 足りない機能を自作できるところがえらい)
range 機能を自作
Array.prototype.range = function(start, end) { var array = new Array(); var j = 0; for (var i = start; i <= end; i++) { array[j++] = i; } return array; }
map 機能を自作
Array.prototype.map = function(func) { for (var i = 0; i < this.length; i++) { func(this[i]); } }
10未満の自然数
var array = new Array(). range(1, 9). map(function (n) { WScript.Echo(n); });
Z:\>cscript //nologo Js0201.js 1 2 3 4 5 6 7 8 9
PowerShell
対話型実行環境を起動
Z:\>powershell Windows PowerShell Copyright (C) 2009 Microsoft Corporation. All rights reserved.
10未満の自然数
1..9
PS Z:\> 1..9 1 2 3 4 5 6 7 8 9
終了
PS Z:\> exit
Perl
対話型実行環境を起動
Z:\>perl -de 0 Loading DB routines from perl5db.pl version 1.37 Editor support available. Enter h or 'h h' for help, or 'perldoc perldebug' for more help. main::(-e:1): 0
10未満の自然数
map {print $_, ","} 1..9
DB<1> map {print $_, ","} 1..9 1,2,3,4,5,6,7,8,9,
終了
DB<2> q
PHP
対話型実行環境を起動
Z:\>php -a Interactive mode enabled
10未満の自然数
<?php array_map(function ($n) {echo $n, ",";}, range(1,9)) ?>
<?php array_map(function ($n) {echo $n, ",";}, range(1,9)) ?>
終了
^Z 1,2,3,4,5,6,7,8,9,
Python
対話型実行環境を起動
Z:\>python Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
10未満の自然数
range(1, 10)
>>> range(1, 10) [1, 2, 3, 4, 5, 6, 7, 8, 9]
終了
>>> quit()
Ruby
対話型実行環境を起動
Z:\>irb
10未満の自然数
1..9
irb(main):001:0> 1..9 => 1..9
(1..9).each { |i| print i, ", " }
irb(main):002:0> (1..9).each { |i| print i, ", " } 1, 2, 3, 4, 5, 6, 7, 8, 9, => 1..9
終了
irb(main):003:0> exit
Groovy
Pascal
Ada
VB.NET
C#
using System.Linq; using System.Collections.Generic; public class CS0201 { public static void Main() { IEnumerable<int> squares = Enumerable.Range(1, 9); foreach (int num in squares) { System.Console.Write(num + ", "); } System.Console.WriteLine(); } }
Z:\>csc CS0201.cs -nologo Z:\>CS0201 1, 2, 3, 4, 5, 6, 7, 8, 9
Java
C++
Objective-C
D
Go
Scala
対話型実行環境を起動
Z:\>scala Welcome to Scala version 2.10.2 (Java HotSpot(TM) Client VM, Java 1.7.0_21). Type in expressions to have them evaluated. Type :help for more information.
10未満の自然数
(1 to 9)
scala> (1 to 9) res0: scala.collection.immutable.Range.Inclusive with scala.collection.immutable.Range.ByOne = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
終了
scala> :quit
F#
対話型実行環境を起動
Z:\>fsi Microsoft (R) F# 2.0 Interactive build 4.0.40219.1 Copyright (c) Microsoft Corporation. All Rights Reserved. For help type #help;;
10未満の自然数
[1..9]
> [1..9];; val it : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9]
終了
> #quit;;
Clojure
対話型実行環境を起動
Z:\>java -cp C:\ProgramFiles\clojure-1.5.1\clojure-1.5.1.jar clojure.main Clojure 1.5.1
10未満の自然数
(range 1 10)
user=> (range 1 10) (1 2 3 4 5 6 7 8 9)
終了
user=> (. System exit 0)
Haskell
対話型実行環境を起動
Z:\>ghci GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done.
10未満の自然数
[1..9]
Prelude> [1..9] [1,2,3,4,5,6,7,8,9]
終了
Prelude> :quit Leaving GHCi.