2011-04-29

ruby開発環境構築メモ - xmpfilterを使ってrubyスクリプトに注釈をつける




rcodetoolsを入れて快適なemacs生活をエンジョイしたい。


sudo gem install rcodetools

rcodetoolsをいれるとxmpfilterというコマンドにrubyスクリプトを食わせると、コメントで注釈をつけてくれる


これをemacsで使うためのelispがパッケージにはいってるので、それをload-pathの通っているところにコピーする。
.emacs.d/tmpがないと実行時にエラーがでたので、mkdirしておく


cp /usr/lib/ruby/gems/1.8/gems/rcodetools-0.*/*.el  ~/.emacs.d/elisp/
cp /usr/lib/ruby/gems/1.8/gems/rcodetools-0.*/*.elc  ~/.emacs.d/elisp/
mkdir ~/.emacs.d/tmp

.emacsはanything-rcodetoolsにかいてある通り。(fastriのパスとかキー設定は適宜)


(require 'anything)
(require 'rcodetools)
(require 'anything-rcodetools)
;; Command to get all RI entries.
(setq rct-get-all-methods-command "PAGER=cat /usr/bin/qri -l")
(define-key anything-map "\C-z" 'anything-execute-persistent-action)

以上でM-x xmp とするとxmpfilterがバッファに適用される。



2011-04-23

rails3でrinariからmysqlにつなぐメモ


rails3でmysqlを使おうとすると、gem mysql2 を要求された。
なので、config/database.ymlには以下みたいになるが、rinari-sql は "sql-<adapter名>" という名前の関数を探しにいくので、emacs側でsql-mysql2がないというエラーになる。


development:
  adapter: mysql2
  database: foo
  host: localhost
  port: 3306
  username: bar
  password: baz
  encoding: utf8
  pool: 5
  timeout: 5000

これを避けるには、以下のようにしてsql-mysql2にaliasをはるelispをかけばOK


(defalias 'sql-mysql2 'sql-mysql)

2011-04-08

haskellのリスト内包表記で格子点列挙

haskellのリスト内包表記について勉強してるときにたまたまこの記事を見つけたので試しにやってみた。


http://d.hatena.ne.jp/odz/20070131/1170284561


main = mapM print (mesh [[1..10],[1..10],[1..10]])

mesh [] = [[]]
mesh (x:xs) = [ x':xs' | x' <- x, xs' <- (mesh xs) ]

パフォーマンスは調べてません。
もっといいやり方はありそうだけど、そこそこ直感的。。かな?
リスト内包表記って気持ち的にはSQL書くのに近い気がする。

ZenBackWidget