トップ «前の日記(2007-02-14) 最新 次の日記(2007-02-16)» 編集

じじぃの日記、ツッコミ可

Twitter: @jijixi_org
Xbox Live: jijixi

初心者が書いた OCaml 入門
Spotlight tips サイト内リンク集
1970|01|02|
2003|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|11|
2011|05|
2012|01|

2007-02-15 [長年日記]

% [あなごる][OCaml] 正直ここまで夢中になるとは思ってなかった

ksk さんや m.ukai さんのツッコミを元に 99 shinichiroes of hamaji の短縮法を模索中。 あと、soutaro さんの影響で echo にもちょっかい出し始めたり。 (こっちも全然お話になってない)

% [あなごる][OCaml] soutaro さんの while 1=1do に感銘を受けた

ので、for でも似たようなことを試してみた。

# for i=1to 5do print_int i done;;
12345- : unit = ()

これ通る(笑

要するに変数名と誤認される恐れが無ければ、スペースは必要無いってことなんだな。 でも、while にしろ for にしろこのネタを使うと vim の構文支援が効かなくなって書き(読み)づらいので、いきなりこう書くのは良くないと思った。 最後の仕上げで使おう。

% [あなごる][OCaml] やっぱりわしには、ゴルファーとして必要な何かが欠けているとしか思えない件

99 shinichiroes of hamaji はループするときの区切り方を見直すことで、多少縮んだんだけど、それでも 301B と上位陣に比べて絶望的なまでに差がある。

ぶっちゃけ、わしは「共通部分まとめ病」にかかっているので、共通する部分はどんどんどんどんまとめていってしまうんだが、ゴルフの場合必ずしもそれは良いことではないんだよな。 かえって長くなったりする。 とは言え、その損益分布みたいなのが感覚的に掴めてないから、とにかく適当にやってみるしかない。

ともあれ、さすがに 40B とか 50B の差があるってことは、わしが見落としてる何かがある気がするんだけど、いくら考えてもわからないので、一旦あきらめて他の問題をやることにしよう。 さすがに根気が保たない(苦笑

% [あなごる][雑談][Erlang] わしって頭固いのかなー?

固いんだろうな。年ですか?...orz

ところで密かにわし、あなごるに Erlang が追加されるの期待してたりするんだけど、あれって結構めんどくさそうなんだよね。 なんつーのか、分散環境に重点が置かれてる関係か、どこからでも開始できるためにどこからも開始しない、みたいな特徴があるわけ。 要するに C の main 関数みたいなエントリーポイントも無いし、かと言ってスクリプト言語全般のようにトップレベルに書いておくとそっから始まるみたいなのも無い。

じゃあどうしてるのかって言うと、.erl という拡張子のソース (モジュール) とは別に .script という拡張子のブートスクリプトファイルを用意して (これ自体はまた別のファイルから自動生成するものみたいだけど)、適宜必要なモジュールを読み込ませて適当なモジュールの適当な関数を呼ぶって感じらしい。 らしいってのは、つまりわしはブートスクリプトとかに手を出したことが無くて、ドキュメント斜め読みしただけの知識だから。

他には -s オプションで指定した関数を呼ぶことができるので、(参考→過去の日記)

% cat m.erl
-module(m).
-export([f/0]).

f()->
   % do anything.

みたいなファイルを用意しておいて、

% erl -compile m
% erl -noshell -s m f -s init stop

てな感じで使うとか、そういう感じ。

とにかく、あなごるに Erlang を導入するとなると、どうしてもあらかじめ何らかの約束事を決めておかないと事が回らないのが微妙というか何というか。 (上の例で言うなら、モジュール名は m で開始するポイントは f 関数にしましょう…みたいな)

% [あなごる] delete blank lines を awk で

や、OCaml では素朴な答えしか出せなかったんで、逃避で。 つーか awk はちょっとしか使ったこと無いんだけど、それでもこの問題は awk だとチョー簡単だということくらいはわかるので、ランキング見てみたら……

2B って?

チョー素朴な答えだと 3B になると思うんだけど、2B ってどんなだ? かじった程度の知識じゃわからない何かがあるんかねえ。

…と、しばらく man awk を眺めてて気付いた。 number of fields in the current record だ。 ……正解。

OCaml では、ちょっとせつない思いをしてるので(苦笑)、少しだけ嬉しくなる出来事であった。

% [あなごる] 開き直った

なんつーか、こう、あれだ。 周りの人達の成績を気にしすぎてはいかんな。 もう自分の凡人さ加減は十分すぎるほど身に染みたし、そもそものレベルが違う人を相手に、競争意識を持っても空回りするだけだ(苦笑

そんなわけで、わしはわしのペースでまったり楽しむことにしたよ。 別にダブルスコアだって良いじゃない。 いきなり良いスコア出さなくたって、だんだんと縮めていけば良いさ。 それがゴルフってもんだよ。

% [あなごる][雑談] や、まあなんつーか、どうでも良いっちゃーどうでも良いんだけど

7-0 とか 7-3 ってテニスのスコアじゃないよなー……とか。

テニス知らない人のために一応説明しとくと、通常は 6 ゲーム先取なので 6-0 とか 6-3 で終わるという話。 5-5 になったときだけは、それ以降 2 ゲーム差を付けないと終わらないので 7 まで行く。 んで、昔々はそのまま延々と終わらないなんてこともあったんだけど、今は 6-6 になると必ずタイブレーク (特別なルールで必ず決着を付ける) になるので、最大スコアは 7-6 ということに。

お名前:
E-mail:
コメント:

トップ «前の日記(2007-02-14) 最新 次の日記(2007-02-16)» 編集

日記ってのは本来、自分で読み返すためにあるもんだよなあ……
もしくは有名人になったら死後に本になったりとかか?

RSS はこちら

jijixi at azito.com