2008-06-01から1ヶ月間の記事一覧

別のprofileのところに今まで入れていたgreasemonkeyを入れる。

どうするのが一番楽なんだろう? 今回は、以下の様なコードを書いてhtmlを作成して、リンクを一つ一つクリックしていきました。 file = "/home/<username>/.mozzila/firefox/<anything>.<profile-id>" #fileはfirefoxのprofileのpath a = Dir[file + "/gm_scripts/*"] a.each do |e| puts("<a href=\"file://#{e}\">#{</a></profile-id></anything></username>…

TAGSを使ってみる。

参考 http://d.hatena.ne.jp/m-hiyama/20080627/1214549228 exuberant-ctagsの導入 sudo aptitude install exuberant-ctags .emacsの設定 とりあえず使うのは以下の2つだけ(他は覚えられません><) find-tag (M-.) pop-tag-mark (M-*) 使い難い位置だった…

そろそろjqueryのコードでも読んでみよう

js

ライブラリは便利みたいだし。

dic-search

以下の様な単語を調べるコマンドがあるとして $ dic_search.rb -r <word1> <word2> "<phrase>" .emacsに以下の様な設定を加えると楽に単語を調べられる。 (defun my-dic-search () (interactive) (let ((word (current-word))) (shell-command (concat "dic_search.rb -r " word)))</phrase></word2></word1>…

anything-describe-function

まだちょっと、重い。 anythingを初期値をとる様にしてみた。 describe-function(C-h f)は、現在のカーソル位置の関数を初期値としてとっているので、それを真似したかった。 anything.elのread-stringのところを変更。 (anything-initial-inputの値を初期値…

shebangとかを手抜きする(ruby1.9用)

自分用のメモ (global-set-key "\C-c\C-u" (lambda () (interactive) (let ((mes (concat "chmod +x " (buffer-file-name)))) (shell-command mes) (message mes) (insert "#!/usr/bin/env ruby1.9\n") (insert "# -*- encoding: utf-8 -*-"))))

(sicp46)m3.73~m3.80

defineの部分をletrecに変えるところ以外は、特に変わったところはない。 @map=stream-map (でも、最後の方とかは、教科書に書いてある図を頼りにcodeに変換しただけのような気がします><) (use my-stream) (define (@add s1 s2) (@map + s1 s2)) (define…

javascriptでstream

sicpの中にstreamというデータ構造が出てきます。 streamを使うと無限の長さのデータを表せるらしいです。 でも、streamが分かっているのか分かっていないのかよく分かりません><。 他の言語でstreamのようなものが実装できたら、分かっているということに…

(sicp45)m3.60~m3.72

面倒なのでstream-*が@*になってます。 stream-map -> @map stream->list -> @>list (use my-stream) ;; m3.60 ;;a0, a1, a2,... ;; (define (mul-series s1 s2) (@cons (* (@car s1) (@car s2)) (@add (mul-series s1 (@cdr s2)) (@scale (@cdr s1) (@car s…

コード中の文字の頻度分析

http://ja.doukaku.org/181/lang/ruby/をワンライナーで。見にくい><。 File.read(ARGV.first).to_enum(:each_char).inject(Hash.new(0)){ |h,k| h[k] += 1; h}.sort_by{ |_,v| -v}.each{ |e| puts e.join(" : ")} to_enumは1.8だと"require 'enumerator'"…

(sicp44)m3.50~3.59

dead-lockのところ どうしても興味が持てないので飛ばしました>< stream 初めはutil.streamを使用しました。 sicpのコードの通りに書いても無限ループになってしまいました ここを参考に追加しました。 http://sicp.naochan.com/memo.pl?p=stream.scm (def…

(sicp42)sicp3.4.2の20種類を表示する

「'(a b c) '(x y z)」の順序を保ったままの組み合わせ。(20個ある) (define (my-remove item seq) (filter (lambda (x) (not (eq? item x))) seq)) (define (orderd-perm . args) (define (each-car-with-nil seqs) (fold (lambda (x init) (if (null? x) i…

(sicp42)m3.38~m3.40

m3.38 ;;面倒なので、コードを書こう。 (define (Peter balance) (set! balance (+ balance 10))) (define (Paul balance) (set! balance (- balance 20))) (define (Mary balance) (set! balance (- balance (/ balance 2)))) (define (permutation s) (if …

(sicp41)m3.33~m3.37

3.37のcopはmacroで作った方がいいのかもしれない。 ;;m3.33 (define (averager a b c) (let ((double (make-connector)) (ans (make-connector))) (multiplier double c ans) (adder a b ans) (constant 2 double)) 'ok) (define A (make-connector)) (defi…

named-let

やっと、named-letの意味が分かった。 手続きの定義と最初の実行を同時にやっているような感じだ。 (使い道は、末尾再帰にする時の中部分の記述に使うくらいしか思いつかない) 例えば、与えたlistの要素を反転させる手続きreverseがあったとして、 (define…

memo

(defun open-link (html) (shell-command (concat "firefox --new-tab " html "; wmctrl -a fire")))後は、(open-link "")と書いたところでC-x C-eでurlに飛べる。