関数型な書き方が得意な言語を比較。目に付いたモノを一通り見ただけの自分メモです。。
表題のとおり、去年のこの時期にRuby始めたなーとか思いながらぼちぼちいじってます。
3 / 2 とかってすれば勝手に少数とかになる [ Head | Tail ] とかやって頭だけ取り出したりできる。Lispのcar/cdrみたいなイメージ?if はガードcase はパターンマッチ+ガード-module(mathtest). -export([tasu/2, hiku/2, kakeru/2, triangle_area/2, circle_area/1]). tasu(A, B) -> A + B. hiku(A, B) -> A - B. kakeru(A, B) -> A * B. triangle_area(Base, Height) -> Base * Height / 2. circle_area(Radius) -> Radius * Radius * 3.14.
udzura@ubuntu-vaio:~/dev$ erl Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false] Eshell V5.7.2 (abort with ^G) 1> c("mathtest.erl"). {ok,mathtest} 2> 2> mathtest:kakeru(2, 5). 10 3> 3> mathtest:hiku(2, 5). -3 4> mathtest:triangle_area(10, 8.5). 42.5 5> mathtest:circle_area(20) 5> . 1256.0 6>
map/foreach/foldl とか使えるとそれっぽくなりそうなまあゆっくりやってみます。
↓の高い本が欲しいので、誰かクリスマスプレゼントでください。
Rakefileの書き方の練習も兼ねて。
1ファイル入れるだけなので、wgetでいいです。
1 2 | cd /your/web/root/ wget http://github.com/udzura/haml-rakefile/raw/master/Rakefile |
もちろん、rakeとhamlに依存しますので、gemでもaptitudeでもyumでもいいので入れてください。
あと、ロールバック機能を使いたい際は、html2hamlがhpricotに依存します。ので、別途入れてください。
あなたが大量にhamlを用意したディレクトリのルートで、
1 | rake convert |
これで、sassも含めてまとめて変換します。また。ディレクトリをさかのぼって変換します。
hamlに戻したいときは、
1 | rake rollback |
1 | rake -T |
1 2 3 4 5 6 7 | rake convert # convert haml/sass rake convert:asciidoc # convert asciidoc (beta) rake convert:haml # convert haml only rake convert:sass # convert sass only rake rollback # rollback converted html/css into haml/sass rake rollback:haml # rollback converted htmls into haml rake rollback:sass # rollback converted css into sass |
試験的に、asciidocの変換もサポートしてます。未検証ですが。。
Rakefileの書き方は想像の10倍簡単だったので、皆さんもちょっとした作業をrakeで実施するといいと思います。
色々試してて、多少は形になったのでメモしときます。
まず、RubyでExcelを作らないといけません。色々方法はありますが、というか素直な方法はJRuby+POIなんじゃないかとも思いますが、今回は「spreadsheet」を使います。
spreadsheetは普通にgemでインストールできます。
1 | sudo gem install spreadsheet |
spreadsheet自体には、 .to_blob に当たるインスタンスメソッドがありません(ようです)が、書き込み先にFile IOを指定できます。なので、いったんTempfileに書き込んで、 read して send_data する方法で出来るんじゃないかと思いました。
emvironment.rbで require 'spreadsheet' すると、一緒にtempfile.rbも読み込まれる模様です。
You are currently browsing the archives for 12月, 2009
Arclite theme by digitalnature | powered by WordPress