という割には、BignumをNativeにサポートしていたりするのだから面白い。
Matzにっき(2006-05-04)otsuneさんのところから
ry)
私がオイラーの等式を最初に見たのは 大学3年のとき石塚さんの『オブジェクト指向入門』の脚注でだったし、 その時だって「ふーん」ていどで感動はしていない。
いや、すいません、自慢しているようで、結局、自分の馬鹿をさらしてるだけですね。
というわけで、MatzさんのMath Complexをチェック:)
e2ipi.rb#!/usr/bin/env ruby include Math # you need no quote here require 'complex' # but you do. frankly I hate that. i = Complex(0,1); # ironically i is not predefined print "pi = ", PI, "\n" print "e = ", E, "\n" print "e**(i*pi) = ", E**(i*PI), "\n" print "exp(i*pi) = ", exp(i*PI), "\n" print "log(-1) = ", log(-1), "\n"実行結果:
pi = 3.14159265358979 e = 2.71828182845905 e**(i*pi) = -1.0+1.22460635382238e-16i exp(i*pi) = -1.0+1.22460635382238e-16i log(-1) = 3.14159265358979i
eもpiも定義済みなのにiが定義してないのがちょっと面白い。
でも、なんでincludeはbarewordでOKなのにrequireはquoteがいるのかというのも、Perlishな人々にはちょっと引っかかったりして。
そのperlの方はこんな。
e2ipi.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Math::Complex;
use constant e => exp(1); # e is not predefined while pi is
# Readonly is not used because it is not in core.
print "pi = ", pi, "\n";
print "e = ", e, "\n";
print "e**(i*pi) = ", e**(i*pi), "\n";
print "exp(i*pi) = ", exp(i*pi), "\n";
print "log(-1) = ", log(-1), "\n";
実行結果:
pi = 3.14159265358979 e = 2.71828182845905 e**(i*pi) = -1+1.22460635382238e-16i exp(i*pi) = [1,pi] log(-1) = 3.14159265358979i
[1,pi]に注目。これ、Math::Complexの極形式表現で、実は周期関数であることをこうして表現しているわけです。ちょっと感動。
Pythonやその他のLLに関しては、他の人によるdemoきぼんぬ。
「ふーん」を「へえー」に変えたい人は→をクリック。かなり売れているところから見て、以外とそういう方は多いかも。
Dan the Mathphilia
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。