Hatena::Grouperlang

weekend erlang programmer

ここの更新は止まってしまいました。面倒なので全部kuenishiの日記に書くことにしました。
 | 

{2009, 5, 23}

だからatomを動的に生成するなっつの 07:56 はてなブックマーク - だからatomを動的に生成するなっつの - weekend erlang programmer だからatomを動的に生成するなっつの - weekend erlang programmer のブックマークコメント

自分が大昔に書いたmnesiaを叩くコードを発掘した。

generate(0)-> [];
generate(Length)->
    RChar = 96+random:uniform(26),
    [RChar|generate(Length-1)].

gen_atom(Length)-> erlang:list_to_atom(generate(Length)).

KeyもValueもシーケンシャル生成じゃつまらなかったのでランダム生成したかったのだが作り過ぎだろというオチ。まあ、分散するとmnesiaもそこまで数字でなかったんだけどね…。

シンボルの数を制限することによってある固定されたメモリ空間に固め置きすることによってアクセス速度とかメモリ管理計算の節約をしているので、atomを動的にいじるのはオススメしないよという話です。ましてやatomを作りまくるなんてあり得ない。あり得ないんだって。

atom上限数とその考え方 - hoge_to_atom is strongly discouraged - - erluenishi - はてなグループ: erlang
 |