複利計算(CAGR)
「72の法則」「114の法則」というのがある。(「なに?」「いいよ!」で覚えると覚えやすそう。) 但し、利率が小さい場合にしか使えない。利率が大きいと誤差が大きくなる。
3分LifeHacking:複利計算を“暗算”で行う - ITmedia エンタープライズ
利率がデカいとどうなるか、30%と50%で試算してみた。
30.00% | 50.00% | |
---|---|---|
3年後 | 2.2 倍 | 3.4 倍 |
5年後 | 3.7 倍 | 7.6 倍 |
10年後 | 13.8 倍 | 57.7 倍 |
軍隊の編制
軍隊の編制 - Wikipedia
およそ
班、組: ピザ1枚
分隊(squad): ピザ2枚
小隊: 数十人
中隊: 数十〜数百人
大隊: 数百〜千人
旅団: 数千人
師団: 1〜2万人
一つ下の単位を2~6まとめたのが一つ上の単位らしい。
(2~6個分隊で1個小隊、とか)
特定の拡張子"以外"のファイルの一覧
find 使うしかない。 例えば、.gzじゃないファイルをgzip圧縮する場合は以下の通り。
find . -type f ! -name "*.gz" | xargs gzip
トップレベルで定義された my と our
コメントに書いたような挙動となる。
myはパッケージが違うと参照できない。
ourはどこからでも参照できる。(但しパッケージを指定すること)
ちなみに、トップレベルのパッケージ名は"main"か、あるいは空文字。
よって、パッケージからトップレベルのグローバル変数"var"を参照する場合は $main::var とか $::var。
test.pl
#!/usr/bin/perl use strict; use warnings; our $our_hoge = "hoge"; my $my_hoge = "hoge"; sub print_our_hoge() { warn $our_hoge; } sub print_my_hoge() { warn $my_hoge; } &print_our_hoge(); &print_my_hoge(); use test; test::print_our_hoge(); # <- もちろん正常に動作。 test::print_my_hoge(); # <- もちろん正常に動作。
test.pm
package test; use strict; use warnings; sub print_our_hoge() { warn $::our_hoge; } # <- 正常に動作。 sub print_my_hoge() { warn $::my_hoge; } # <- エラー。 1;
あと、あまりやらないだろうが .pl を require で呼び出すときはこんな感じ。
myはファイルが違っても呼び出せない。
なお、ourはファイルが違う場合もパッケージ名付けないと呼び出せない。
test2.pl
#!/usr/bin/perl our $our_hoge = "hoge"; my $my_hoge = "hoge"; require 'test_sub.pl';
test_sub.pl
#!/usr/bin/perl use strict; use warnings; warn $::our_hoge; # <- 正常に動作。 warn $::my_hoge; # <- エラー。 1;