ひさ
しぶりに Ruby 書いたら File.read, File.readlines が便利すぎて泣きそう。
そして !!"" == true が面倒くさくて blank? がコアに入ってればいいのにと思った。
しぶりに Ruby 書いたら File.read, File.readlines が便利すぎて泣きそう。
そして !!"" == true が面倒くさくて blank? がコアに入ってればいいのにと思った。
以下のアスタリスクの意味はなんでしょう!
def func *
puts "hogehoge"
endというのをおもいついた。この場合括弧をつけるかつけないかで迷う。文字だったらつけるけど、アスタリスク一個の場合はつけないようにしようかなぁとか、いやでも特別扱いはよくないのか、というよりこういうケース殆どないから気にしないでいい気もするというか(ry
というか括弧つけないとどうもパースエラーになったりならなかったりなぞいからつけないとだめっぽい。
まらさんが言ってたけど、マウス位置のカラーピッカーが便利すぎる。
ふぉとしょか何かで適当に書いたやつを CSS 化するときのスピードが超あがる。やばい。
^!LButton:: MouseGetPos, MouseX, MouseY PixelGetColor, color, %MouseX%, %MouseY%, RGB StringReplace, color, color, 0x, # clipboard = %color% ToolTip, %color% Sleep, 1500 ToolTip return
Ctrl Alt LClick に割り当て。一瞬ツールチップ出すようにして「コピーされたよ」感を出すようにしてみた。やばい。
blosxom の編集ツールって作っててなんかむなしくなる。ただのオンラインファイル編集ツールになるもんなぁ。
ひたすら blosxom の構成決め打ちにしてみよう。
あたりがあるとよさげ
TT みたいな感じにしたいとき。ハッシュを渡して、ハッシュのキーがそのまま使えるような
def erb(template, stash={})
b = binding
stash.each do |k, v|
eval("#{k} = stash[:#{k}]", b)
end
ERB.new(template).result(binding)
endみたいにした。予約語がエラってたまにハマるgtlt
http://unknownplace.org/memo/2006/08/06#e002
これを見たときからいろいろ考えはじめて、やっと書く行為にうつすまでもわもわしてきた。もわもわ。こういう最初見たときは「ほー」ぐらいのが、ふと気が付くと頭のなかにちらついてもわもわしたりする。そんなもわもわ。
タイピングスピードがだめだめな時点で書きながらコード考えるっていうのは難しいけど、とりあえず、思いついたら書いてみる、ぐらいの心持にしようと思って、書きまくってる。書きやすい環境作りもしたりとか、例えばとにかく svn に突っ込んでいける環境とか、もろもろ
数日ぶりに日本語配列にしたら混乱する。。これで家帰ったらまた混乱するんだろうなぁ。
こっちのPCを英語配列にしようと思いきや一部のキーがおかしいのでうまくかない。なぜかカナが入力されたりするし、うーん。
インストールしてみた。便利!いままで grep の引数が覚えられなくて (先にディレクトリなのか、後にディレクトリなのか) grep を使ってなかったけど、ack なら大丈夫dane
install App::Ack
なんか共有できないとおもいきや、append_history セットしてるとだめっぽい? コメントアウトしたら共有できた
FC5 の zsh だと C-r できない。。
なぜか C-z して svn add とかやってたけど、:!svn add って普通にできるじゃんか!! と、あたまのわるいことをやってるようなひ
あと気がつくと zsh で C-r が効かなくなってなんやねんと思っていたのだけど、どうやら vi モードになっていたらしい。。.zshrc で bindkey -e して bindkey -D vicmd した。というのを、かみさま (そのなをとぴあさん) に教えてもらってやった。ありがとう><
これからは YAGNI を多用したいと思う。あしたできることはきょうやるな><
RO の BOT 作る LL 対決
一応だいたいできたなぁ。
できること
ほかにやりたいこと
blosxom のテンプレートを TT に置き換えるやつをいろいろ試してる。一つのファイルにしてしまって [% FOREACH entry IN entries %] みたいにしたい。
ので、TT の process は一括して last に行うことになる。
でもって問題なのは、story テンプレートで使われることを想定しているプラグイン変数なんですよね。これって次々と変わっていくから、最後に一括して処理したいというこの場合、随時全て保存しておかなければならない。
ここで、プラグイン変数を全て保存しておこうとすると、プラグイン変数の名前を全て知っていないといけない。けど、どうやって知ればいいのかわからない。簡単にやる方法あるんだろうか。
ということで、回り道をし、発想を逆転させて、テンプレートパースを先にやる。
use Template::Parser して parse($text) すると Template::Document オブジェクトが帰ってくる。こいつの BLOCK にはコード化されたテンプレが入っているので、$stash->get ってなっている部分を正規表現 (!) で抜いてくる。
んでごにょると、テンプレートで使われているであろう変数名が余計なものも全部とれるので、この変数名を story テンプレートを通るたびに全てのプラグインからとってくる。かなり無駄だけど!!
http://mizzy.org/program/blosxomTT.html が似たような方法だったけれど、どうも Data::Dumper してみてみると、ちょっと変に連結されてしまったりするので、まるパクできなかった。
$ cd $ svn propset moe "zyosikosei" .
動くようになった。
参照方法がちょっとキモいなぁ。
というか XREA に TT 入れるのめんどくさそうだからどうせ使わないだろうなぁ、と思った。無駄じゃん! インターフェイス作ったほうがいいじゃん!
それに plugin が対応してくれないと恩恵をうけられない。writeback を FOREACH でまわす、とかできないし。普通のフレーバーで十分だなぁ、と作ってから思う罠
この日記みたいな URL で blosxom のエントリにアクセスできるようにするプラグインです。
例えば blosxom デフォルトだと /2006/09/09/ までしか時間単位で特定できないですが、このプラグインで /2006/09/09/1 とかという風に完全に時間ベースで一つのエントリを特定できるようになります。
特定の環境でしかテストしてないのでいろいろ不具合があるかも。extensionless とは共存できるみたいです。
http://trac.lab.lowreal.net/trac/lowreal/browser/c/blosxom/plugins/redir
/2006 とかを /2006/ にリダイレクトするのを書いてみた。ブックマーク最適化! アーカイブなんてブクマしないけど
どっかで全く同じ機能のを見た気がするんだけど、どうも思い出せない。extensionless と同じ作者かと思ってたけど違うしなぁ。
ブックマークレットから登録しようとして、登録済みのときってそのままじゃレート変更できないけど、普通に一回購読停止すればいいことに気付いた。
ブロック引数の特殊デフォルト仮引数変数 (意味不明だ。なんていうんだろう) 欲しいなぁ。Groovy の it, Perl の $_ みたいなの (Ruby の $_ は gets とかでしかセットされない)。ワンライナー書くとき |i| とか書くのめんどい。
ちゃんと書くときは使わないだろうけど、[1, 100, 1000].map { it.to_s(16) } とかできたら楽ちん。パイプうつの苦手だからかなぁ。
書き換える前のバージョンに戻したら直った。他の wiki 探さないとダメだなぁ。
読む (未読 10000) -> 読み終わる (0) -> リロードして読む(10050) -> 読み終わる (0) -> リロードして読む (10100)
というのを考えた。まだなってない。だいじょうぶ
http://lowreal.net/2006/vi.ahk
あきた。 たぶん使わない。でも今は使ってみてる。
なんかどうも Perl のコード書いてるときより、perldoc 書いてるときのほうが、Perl やってる感じがする。わけない。けど、ちょっと思った。CPAN のせいか、な。意味不明
http://trac.lab.lowreal.net/trac/lowreal/browser/c/blosxom/plugins/negotiation
書いてみた。extentionless や、xhtml2html を含んだ形のコンテントネゴシエーションプラグイン、ということにしたい。
406 Not Acceptable の場合を作ってないので発展途上すぎ。
ロジック自体は Taglibro のやつをそのまま Perl に移植した。Taglibro は Apache の実装をパクったはずだから Apache っぽいはず。知らないけど!!
xhtml2html を含む、というのは、text/html と application/xhtml+xml の qs を同じにしておくと、Fx や opera の場合 text/html の q が低いため、自動的に application/xhtml+xml が選択される、というだけ。
もうちょい頑張ろう。