2007-10-01から1ヶ月間の記事一覧
リストについての理解が足りていないような気がする。リスト修行 - /var/log/messagesを見てたら僕も修行したくなったので、リスト修行に励んでみたい。 リストを作ろう 練習問題 1 Scheme 入門 3. リストを作ろうより。絶対間違えないという決意を胸に・・…
知らなかった。 gosh> (+) 0
C/C++で2進数値を記述 - きまぎらすほしゅの不定記 404 Blog Not Found:tips - 二進数表記まとめ を読んだら、「Rubyでプリプロセス」という手があるのかと。そんなわけでerbでプリプロセスしてみた。 binary.erb.c #include <stdio.h> #include <stdlib.h> int main(void) { pr</stdlib.h></stdio.h>…
さてさて、リスト処理も本格的な感じになってきます。今回は木の写像。 まずは普通に ふつうに。 (define (scale-tree tree n) (cond ((null? tree) `()) ((not-pair? tree) (* tree n)) (else (cons (scale-tree (car tree) n) (scale-tree (cdr tree) n)))…
Rubyはinject,Schemeはreduceまたはapply。1から10まで足してみる。 Ruby injectしてみる。 (1..10).inject {|sum, i| sum + i} # => 55 う〜ん。わかりにくいな。 Scheme(Gauche) reduceで (use srfi-1) ; iota用 (reduce + 0 (iota 10 1)) ; 55 srfi-1のfo…
これは便利。Vim上でシェルが動かせる。 vimsh.tar.gz - terminal/shell buffer script for python enabled gvim : vim online +pythonが必要。 使い方がちょっと特殊。source ~/.vim/vimsh.vimという感じで使うのでmapして使う。なんといっても、ウィンドウ…
4日目はフォトアルバムを作ろうという内容。2日目に作ったイエローページの発展版。 早速コーディング データベースを作るまでは結構慣れてきた感じ。しかし、今回は自動生成に頼らずにフォームを作る。コード量が激増したのでかなりキツかった・・・rails.v…
3日目はAjaxで電卓。「JavaScriptだけでいいんじゃねぇの?」というツッコミを入れたくなるが、進めてみる。 と、そのまえにVimの設定 Vimでファイル保存時にFirefoxをリロードする(with MozLab)をインストールして、ReloadFirefox関数部分を活用する。F4キー…
「Javaの10倍の生産性」を実現するフレームワーク・・・それがRuby on Railsらしい。その実力を見てみたい。 と,その前にVimの設定 川o・-・)<2nd life - rails.vim まとめによると、『rails.el も rails.vim も知らなかったよ!もっと早く知ってたら生産…
敷かれたレールをことごとく踏み外して生きてきた僕が、敷かれたレールの上を走ろうとしている。体に合うのかどうか不安です(笑 チュートリアルを進める 早速webアプリ作り。訳のわからないまま指示どうりにサンプルをコピー。よくわからないままアクセスし…
Railsをやろうと思う。あんまりヘビーにやると辛そうなので、概要がサラッと掴める感じの本を選んだ。かんたんRuby on RailsでWebアプリケーション開発作者: arton出版社/メーカー: 翔泳社発売日: 2006/07/27メディア: 大型本購入: 5人 クリック: 211回この…
モビールというとベビーベッドの上にぶら下がっているアレを思い出すんですが、芸術性を極めればこんなにセクシーになるんですね。 モビール - Wikipedia 僕もセクシーモビールが作りたくなってきてしまった。 問題2.29 イメージ モビール問題を解く前に、イ…
今日、自転車を盗まれた。犯人は15才の高校生。盗んですぐに警察に事情聴取されて逮捕。犯人によると、「一番盗みやすそうな鍵だった」とのこと。つまり、盗みやすそうな鍵の自転車を使っていた僕が悪い。 ここに自転車業界の歪が見える気がしてならない。 …
math.hで小一時間ハマってしまった。 演習 4-2 atofを拡張して,123.45e-6のような指数表現を扱えるようにする問題。 #include <math.h> double atof_copy(char s[]) { double value = 0, power = 1; int i,sign, e_sign, e = 0; for (i = 0; isspace(s[i]); i++) ; s</math.h>…
ちょっとサボりすぎたかな・・・今日から4章に入ります。4章から、「これぞK&R」という問題が多数出てくるので楽しみです。 演習 4-1 sにおけるtの「最も右側」の出現位置を返す関数strrindex(s,t)を書け。簡単! return j - 1; と思ったが・・・「最も右側」…
拡張子を指定して、再帰的にgrepしたい。色々やってみた。 こんな感じ? そんなわけで、findを使って検索範囲を絞りこむ。xargsを使うと、 % find ../ -name '*.c' | xargs grep hogeうは、めんどい。(速度は早い)コマンド置換で。 % grep hoge $(find ../ -…
K&Rのatofの写経をした。 double atof_copy(char s[]) { double value = 0, power = 1; int i,sign; for (i = 0; isspace(s[i]); i++) ; sign = (s[i] == '-') ? -1 : 1; if (s[i] == '+' || s[i] == '-') i++; for (; isdigit(s[i]); i++) value = value * …