池袋のゴエモンというサンマの雀荘に行ってきました。ネットにWebページがないようなのでリンクは張れないですが、近代麻雀に広告を出しているので知っている人は知っているかも。
普段ネット麻雀はサンマばかりのぷよまつですが、リアルサンマとはどんなものか興味があったのです。関西はサンマが主流だけど、東京にはほとんどないらしいですね。 ルールは関西サンマの一般的なもの…だと思う。
レートは.3と.5がありましたが、最初なので.3をセレクト。…しかし始まってみると、1ゲームに動く額がヨンマの.5かそれ以上。流石サンマ。チップ100Gというのも頷ける。評判どおりのインフレ麻雀です。いや、麻雀とは似て非なるゲームだw
メンバーからの説明で、見せ牌や先ヅモに関するマナーの確認を念入りにされました。客層は普通のフリーと同じような感じで若い人も結構いたんだけど、過去は荒れていたのかなぁ。サンマは情報戦とも言われるくらいだから、見せ牌が勝負の行方を左右する重要な要素というのは分かるけど。
8ゲームくらい遊んで、5000Gの浮きでした。展開が速すぎて、何があったのかよく覚えていない…。代走も頼めなかったし、ドリンクをオーダーするタイミングを見計らうのも難しかった。また遊びに行こうかな。
今年はX-Edicoを作ったり、相変わらず労組関係者だったり、仕事はそこそこだったりしましたが、総じて良い年だったのではないかと。そんなことより、日本はこの先どうなるw
体重が閾値を超えそうなので、来年はもっとDDRやって身体を絞りたいなぁ。もう20代じゃなくなるんだよ…実年齢が顔年齢に追いついてきて嬉しい限りですが、身体年齢はその先行ってそうで怖いw
あと、twitterに登録したけどどう使っていいのかわからない…。ブログ(というかブ日記)は自分に向けて書いて、そのときの状況をログとして残したい思いもあるので、twitterはあまり自分向きじゃない気がするんだよなぁ。
細々とMJ4は続けていますが、相変わらず永年十段です。ちょっと雀荘モードに浮気した途端これだよ!
雀荘リーグ ボーダー情報 -------------------------------------- 階級: S3 開催期間: 12/14〜12/20 ┏予想ボーダー━┓ 特別昇格: なし 昇格: +46181〜 降格: -7824未満 ┗━━━━━━┛ ┏TOP3━━━━┓ 1.メタトロン (+141900) 2.ぷよまつ (+81300) 3.邪鬼☆タイガー (+69600) ┗━━━━━━┛
公式モードの経験値は3761なので、自力強者になれるように頑張ってみます…が、回収期が怖いのでしばらく雀荘モードにひきこもるかも。
X-Edicoの次期機能追加として、コメント中に登録済みのEDIT名があれば、その作品紹介ページへ自動リンクを張る処理を作りました。
以下、ローカルで試験したコード。
my $str = "これは[EDITROCK]。やっぱり[JED.2003]。[CO-JUNKY]というのもあった。J.E.D.23やJEC.2004、[EDITROCK]はどうだろう。";
&setReqhash;
&linkComment(\$str);
print $str;
sub setReqhash
{
%editHash =
(
"EDITROCK" => 1,
"JED.2003" => 2,
"JED.2004" => 3,
"J.E.D.23" => 4
);
for ( $i=5; $i<60000; $i++ ) { $editHash{$i} = $i; }
}
sub linkComment
{
my $strRef = shift;
if ( not ref $strRef ) { return; }
foreach ( keys %editHash )
{
$$strRef =~ s#\[($_)\]#"<a href='http://www.edico.net/x/?edit=" . $editHash{$1} . "'>[$1]</a>"#eg;
}
}
【出力】
これは<a href='http://www.edico.net/x_test/?edit=1'>[EDITROCK]</a>。やっぱり<a href='http://www.edico.net/x_test/?edit=2'>[JED.2003]</a>。[CO-JUNKY]というのもあった。J.E.D.23やJEC.2004、<a href='http://www.edico.net/x_test/?edit=1'>[EDITROCK]</a>はどうだろう。
いい感じですよね。しかし、xreaのサーバ上で試すと処理が途中でバッサリ切られてしまいました。cgi-script-debug でログを吐かせてもよく分かりません。
そこで、xrea上の試験環境で以下のようにして、原因をつかみました。
sub linkComment
{
my $strRef = shift;
my $i;
if ( not ref $strRef ) { return; }
foreach ( keys %editHash )
{
$$strRef =~ s#\[($_)\]#"<a href='http://www.edico.net/x/?edit=" . $editHash{$1} . "'>[$1]</a>"#eg;
last if ( $i++ > 50 ); # テスト用ループブレイク
}
}
この関数内のループが50回だとOK、100回くらいにするとNGでした。どうやら、置換演算子(s///eg)の多用を制限しているようです。Perlでそんな設定できるんだ…。確かに、文字列検索は結構な負荷の掛かる処理なので、共用サーバということを妥当な制限かもしれません。
今まで頭の悪い処理で乗り切ってきたけど、今回はアルゴリズムを工夫しないといけないようですね…。がんばりましょう。
これで解決しました。対象文字列を舐めるのは1回だけにする、という風に考えて早く思いつきました。今まであまり使ってなかったけど、e修飾子で置換のバリエーションがひろがりんぐ。
sub linkComment
{
my $strRef = shift;
if ( not ref $strRef ) { return; }
$$strRef =~ s#\[([^\[\]]{8})\]#exists $editHash{$1} ? "<a href='$DIR_CGI/$EDICO?edit=" . $editHash{$1} . "'>[$1]</a>" : "[$1]"#eg;
}
_ 雑種お兄様 [ちょwwwSで昇格確定圏入りとかテラウラヤマシスwww]
_ ナミキのももも [おお!!麻雀やるのかぁ今度対戦しましょう]
_ ぷよまつ [>雑種お兄様 十段〜強者を2往復している私に死角はありません。片道切符が欲しいです… >ナミキのももも ..]