OCaml経験値

30分プログラム、その711。TwitterOCaml経験値なるもので盛り上っていました。

Ken Wakita
@kwakita
 ML 経験値 = セミコロン数/ファイルサイズ
RT @camlspotter: 何となく ML に移行してきた人が書いた ref を山程使ったコードとか、見る機会があると、心配ではあります。(2009-12-21 19:20:00)
link

で、これを計算するために、簡単なコードを書きました。せっかくなので、どうぞ。
ホントは、OCamlでやるのがクールなんでしょうけど、引数で与えられたファイルを自分で開いて、それを結合して、...みたいなことをやるのが面倒だったので、Perlに逃げました。らくだつながりということで許してください。

関連発言

Ken Wakita
@kwakita
 ML 経験値 = セミコロン数/ファイルサイズ
RT @camlspotter: 何となく ML に移行してきた人が書いた ref を山程使ったコードとか、見る機会があると、心配ではあります。(2009-12-21 19:20:00)
link
camlspotter
@camlspotter
 これは、、、 RT: ML 経験値 = セミコロン数/ファイルサイズ (via @kwakita)(2009-12-21 19:21:57) link
camlspotter
@camlspotter
 したら減りますが? RT: セミコロンを let に書き換える人が急増する予感 (via @kwakita)(2009-12-21 19:37:29) link
camlspotter
@camlspotter
 ocaml-3.11 : 0.008902(2009-12-21 19:37:46) link
Ken Wakita
@kwakita
 そういえば、リストのセパレータがセミコロンだったのを忘れてた。。。
RT @mzp: RT @camlspotter: これは、、、 RT: ML 経験値 = セミコロン数/ファイルサイズ (via @kwakita)(2009-12-21 19:38:15)
link
camlspotter
@camlspotter
 会社 : 0.008446(2009-12-21 19:39:11) link
Ken Wakita
@kwakita
 1 - が抜けたのもご愛嬌
RT @camlspotter: したら減りますが? RT: セミコロンを let に書き換える人が急増する予感 (via @kwakita)(2009-12-21 19:39:27)
link
camlspotter
@camlspotter
 したらほとんど 1 ですやん。RT: 1 - が抜けたのもご愛嬌(2009-12-21 19:40:32) link
みずぴー
@mzp
 0.0132105992(2009-12-21 19:54:11) link
みずぴー
@mzp
 あと、レコードのセパレータも RT @kwakita: そういえば、リストのセパレータがセミコロンだったのを忘れてた。。。 RT @mzp: RT @camlspotter: これは、、、 RT: ML 経験値 = セミコロン数/ファイルサイズ (via @kwakita)(2009-12-21 19:55:07) link
camlspotter
@camlspotter
 定義が一致してないかもしれない件。私は bytes/bytes。 RT: 0.0132105992 (via @mzp)(2009-12-21 19:55:36) link
みずぴー
@mzp
 やけに低いなぁ、と思ったら、oUnitのテストコードでセミコロンを使いまくってた。しょうがない(2009-12-21 19:55:50) link
みずぴー
@mzp
 ボクもbytes/bytesです。 RT @camlspotter: 定義が一致してないかもしれない件。私は bytes/bytes。 RT: 0.0132105992 (via @mzp)(2009-12-21 20:03:40) link
みずぴー
@mzp
 で、oUnitのテストコードを除いたら、0.00756546743414814(2009-12-21 20:04:01) link
camlspotter
@camlspotter
 @mzp じゃあやっぱそんなもんなんだ!(2009-12-21 20:05:45) link
Ken Wakita
@kwakita
 with 式がブレイクする予感
RT @mzp: あと、レコードのセパレータも(2009-12-21 20:09:09)
link
Ken Wakita
@kwakita
 手元の CiteSeer を可視化するプログラムが 0.008(2009-12-21 20:12:09) link

使い方

$

ソースコード

#! /usr/bin/perl
# -*- mode:perl; coding:utf-8 -*-

use strict;
use warnings;
use Data::Dumper;

my $size = 0;
my $count = 0;

foreach(<>){
    $size += length $_;
    tr/;//cd;
    $count += length $_;
}

print $count/$size,"\n";