ONLY DO WHAT ONLY YOU CAN DO

こけたら立ちなはれ 立ったら歩きなはれ

さまざまな言語で四則演算と数値の出力

Scala

object Scala0101 {
    def main(args:Array[String]) {
        println(3 + 5)
        println(3 - 5)
        println(3 * 5)
        println(Math.pow(3, 5))
        println(5 / 3)
        println(5.0 / 3)
        println(5 / 3.0)
        println(5 % 3)

        printf("%d\n", 3 * 5)
        print(3 * 5 + "\n")

        println("%3d".format(3 * 5))
        println("%23.20f".format(5 / 3.0))
    }
}
Z:\>scala Scala0101.scala
8
-2
15
243.0
1
1.6666666666666667
1.6666666666666667
2
15
15
 15
 1.66666666666666670000

F#

module Fs0101

printfn "%d" (3 + 5)
printfn "%d" (3 - 5)
printfn "%d" (3 * 5)
printfn "%f" (System.Math.Pow(float 3, float 5))
printfn "%d" (5 / 3)
printfn "%f" (5.0 / 3.0)
printfn "%d" (5 % 3)

printf  "%d\n" (3 * 5)

printfn "%3d"     (3 * 5)
printfn "%23.20f" (5.0 / 3.0)

exit 0
Z:\>fsi Fs0101.fs

Microsoft(R) F# 2.0 Interactive ビルド 4.0.40219.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

ヘルプを表示するには次を入力してください: #help;;

[読み込み中 Z:\Fs0101.fs]
8
-2
15
243.000000
1
1.666667
2
15
 15
 1.66666666666667000000

Clojure

(printf "%d\n" (+ 3 5))
(printf "%d\n" (- 3 5))
(printf "%d\n" (* 3 5))
(printf "%f\n" (Math/pow 3 5))
(printf "%f\n" (double (/ 5 3)))
(printf "%f\n" (/ 5.0 3))
(printf "%f\n" (/ 5 3.0))
(printf "%d\n" (quot 5 3))
(printf "%d\n" (rem 5 3))

(print (format "%d\n" (* 3 5)))

(println (format "%3d" (* 3 5)))
(println (format "%23.20f" (/ 5.0 3)))
Z:\>java -cp C:\ProgramFiles\clojure-1.5.1\clojure-1.5.1.jar clojure.main Clj0101.clj
8
-2
15
243.000000
1.666667
1.666667
1.666667
1
2
15
 15
 1.66666666666666670000

Haskell

import Text.Printf

main = do
    print (3 + 5)
    print (3 - 5)
    print (3 * 5)
    print (3 ^ 5)
    print (5 / 3)
    print (5 `div` 3)

    print (div  5 3)
    print (mod  5 3)
    print (quot 5 3)
    print (rem  5 3)

    print (div  (-5) 3)
    print (mod  (-5) 3)
    print (quot (-5) 3)
    print (rem  (-5) 3)

    putStrLn ((show (3 * 5)))

    printf "%3d\n"  ((3 * 5)::Int)
    printf "%23.20f\n" ((5 / 3)::Double)
Z:\>ghc -o Hs0101 Hs0101.hs
[1 of 1] Compiling Main             ( Hs0101.hs, Hs0101.o )
Linking Hs0101.exe ...

Z:\>Hs0101
8
-2
15
243
1.6666666666666667
1
1
2
1
2
-2
1
-1
-2
15
 15
 1.66666666666666670000