2012-05-01から1ヶ月間の記事一覧

ちょっと編集したいとき と ガッツリ編集したい時 で読み込む設定ファイルを変える

Vim

Vim の使い方は実に人様々です.「プラグインは1つも入れず,設定だけ変える」派から「100以上プラグインを入れてガチガチに固める」派まで居ます. これはちょっと極端な例ですが,そこまででなくても「プラグインが便利なのは分かるけれど,基本的にシェル…

mikutter の 正規表現フィルタリングプラグインを書いた

ダウンロードはこちらから.regex_filterインストールは $HOME/.mikutter/plugin に regex_filter.rb を放り込むだけです.設定画面に新しいタブが追加されます.最近は Arch Linux で mikutter を使って Twitter を閲覧しているのですが,フィルタ機能が弱…

rbenv は起動が遅い?

僕の環境では zsh の precmd() に Ruby のスクリプトをフックしているので,コマンド入力ごとに Ruby のスクリプトが走るのですが,rbenv に変えた時に precmd() でもたつくような気がしたので,少し測ってみました. rbenv の ruby を使った場合 % time $HO…

Proc に2項演算子を定義してみた

class Proc %w[ + - * / ** % | & ^ > < >= <= == <=> >> << =~ != !~ ].map{|i| i.to_sym }.each do |op| define_method(op) do |rhs| apply_binary(rhs,&op) end end private def apply_binary rhs raise "block is needed" unless block_given? Proc.new{…

Proc#=== の使い道

Proc オブジェクトの呼び出し方法はいくつかあります proc = Proc.new{|i,j| i*j} proc.call(2,3) #=> 6 proc.(2,3) #=> 6 proc[2,3] #=> 6 proc === [2,3] #=> 6 が,一番最後のはどこで使うんだろうと思っていたんですが,case when では === を用いて比較…

REXML で XML を解析し Hash に変換する

REXML は Ruby に標準でついてくる XMLパーサです.XML な文字列を食わせるとパースして REXML::Document として利用できます. しかし,REXML のドキュメントを見て扱いを知らなければならないので,Hash で取りたいこともあると思います.実際 ActiveSuppo…

プリプロセス時標準入力

C++

IOCCC のネタを漁っていたら面白いものがあったのでパクってみた. #include <iostream> int main() { char str[] = "" #include "/dev/tty" ""; std::cout << str << std::endl; return 0; } コンパイル時に "Hello, world!"^Dと入力(^Dは Ctrl+D)してコンパイルし</iostream>…