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

googleNewsのトップニュースがウザかったので…

js

邪魔なところをgreasemonkeyでカットしました。 コードはこんな感じです。 (function(){ var elem = document.createElement("div"); //var need = document.getElementById("topSection"); var need = document.evaluate( "//html/body/table[4]", document…

ひとりしりとりをすると語彙力が上がるかもしれない。

はじめに こんなエントリを発見したので、語彙力を強化したいと思いました>< http://gitanez.seesaa.net/article/73526071.html http://gitanez.seesaa.net/article/73630167.html 語彙には使用語彙と理解語彙があるそうです。 使用語彙 自分が話す時に使…

(sicp28)put getを作った。

これからの問題に答えるのに、実行できないと大変。 そんなわけで、http://d.hatena.ne.jp/higepon/20060503/1146317558を参考にputとgetを作りました。(getでhashが生成されるのが不思議な感じがしたのでerrorを返すように変更しました。)*1 (define parent…

(sicp27)m2.73, m2.75, m2.76

問題2.74はまた今度。 (日本語を入力するのが面倒だったので、コメントなども英語になってます。(たぶん文法とか意味もめちゃくちゃです><)) m2.73 ;;m2.73 (define (deriv exp var) (cond ((number? exp) 0) ((variable? exp) (if (same-variable? exp va…

ruby stem + Linguistics

http://d.hatena.ne.jp/n_shuyo/20071128/vocabulary#c の内容を理解しようと奮闘中。 (というより、同じようなコードを何も見ないで書けるようになるための方法を模索中? 何かしらに応用できそうな気がする。) 以下の2つのライブラリが使われている ling…

"Lisp nesting exceeds max-lisp-eval-depth"のエラーがでる

以下の2つの変数の値を増やすとでなくなります max-lisp-eval-depth max-specpdl-size (setq max-lisp-eval-depth 500) ;;default 3000 (setq max-specpdl-size 1867) ;;default 1120| どれくらいの大きさにすればいいのか分からないので、 とりあえずmax-li…

(sicp27)m2.70〜m2.71

;;m2.70 (define sample-tree2 '((leaf NA 16) ((leaf YIP 9) (((leaf A 2) ((leaf WAH 1) (leaf BOOM 1) (WAH BOOM) 2) (A WAH BOOM) 4) ((leaf SHA 3) ((leaf JOB 2) (leaf GET 2) (JOB GET) 4) (SHA JOB GET) 7) (A WAH BOOM SHA JOB GET) 11) (YIP A WAH…

(sicp26)m2.67〜m2.69

2.68でmemqを使ってしまった。 (後でまじめにparseする方法を考える) (define (make-leaf symbol weight) (list 'leaf symbol weight)) (define (leaf? object) (eq? (car object) 'leaf)) (define (symbol-leaf x) (cadr x)) (define (weight-leaf x) (cadd…

"で""とか(で()とか

ruby-electricの機能を 他の言語を書いている時にも使いたいと思っていました。 具体的にはこんな感じ "{"と入力しただけで自動で"{}"と入力してくれる 入力したかっこの中にカーソルを置いてくれる 他の言語でも設定すればできるらしいので http://d.hatena…

rubyでaccumulate-nを作ってみた

module Enumerable def accumulate_n(init) (0..self.first.size-1).inject([]) do |result, i| x = self.map{ |e| e[i]} result << x.inject(init){ |re,e| yield(re,e)} end end end a = (0..3).map{ |e| e * 3}.map{ |e| [e,e+1,e+2]} a # => [[0, 1, 2],…

ちょっとしたdirectoryの整理をemacs上で簡単に。

こんな状況のとき あるディレクトリ内にたくさんのファイルとたくさんのディレクトリがある。 ディレクトリ内のすべてのファイルは使用済みなので使わない 消すのももったいないので、ファイルをusedディレクトリに移動したい。 (ブラウザのダウンロードディ…

少しだけpythonで遊んでみた。

とりあえず、fizzbuzzでも作ってみよう。 # -*- coding: utf-8 -*- # 上のように書くとマルチバイト文字が使えるようになる。 def fizzbuzz(n): if n%3 == 0 and n%5 == 0: return "fizzbuzz" elif n%3 == 0: return "fizz" elif n%5 == 0: return "buzz" el…

練習メニューをschemeでもやってみよう。

今回は"サイコロの目がすべてでるまでサイコロを振る" (use srfi-27) (random-source-randomize! default-random-source) (define (dice-roll) (define (roll state history count) (let ((n (+ 1 (random-integer 6)))) (print n) (print "state: " state) …

メモリ消費量を無視したquicksort

ブロック渡しの練習に良いかもしれない。 >準備運動のメニュー class Array def qsort(a=self) return a if a.size<=1 x=a.shift qsort(a.select{ |e| e <= x}).concat([x]).concat(qsort(a.select{ |e| x < e})) end def qsort2(a=self, &b) b = proc{ |e, …

screenshotなんて初めて撮った

今日の一枚というところに、anything-rcodetoolsを使っている時の画像を貼ってみたけど…画像が表示される位置を自由に調節できないのかな?

anything-rcodetools.elを使うときに

追記 修正版では直っています。(修正版ではこの下に書いてあることは不要です。) rct-complete-symbol--anythingを使った時に、以下のようなエラーがでてしまいました。 save-current-buffer: Symbol's value as variable is void: anything-current-buffe…

コマンドラインでバイトコンパイル

for i in *.el; do emacs -batch -f batch-byte-compile $i; done

準備運動用のメニューを出力

shellを立ち上げるのも面倒になった。 最近は、PCをつけたらまずはじめにこんなかんじのことをしています。 (shellを立ち上げて、"quiz.rb"を起動。ー>一行程度でお題が出される。それを5分ぐらいでする。) shellを立ち上げるのも面倒になりました。emacs…

anything.el設定やり直し

fluxbuntu7.10に変えてから、設定するのが面倒くさかったので放置していたanythingの設定をやり直し。 したこと 下の3つをanythingから検索できる用にする。 file-cache rubycodetools (codeの補完?まだ上手く設定できていない気がする) ホームディレクト…

ついでにjavascriptだとおもしろいことができる

js

注意 spidermonkeyで実行しているので、ブラウザでの「print()」とは異なる動作をします。(rubyの「puts()」とほとんど同じような動作) function strange(n){ if (n <= 0) { return } print(n); (function(s){ var n=s; print(n)})("strange") strange(n-1…

putsと関数を呼ぶ位置を変えるだけでカウントアップ/ダウンになる理由

ただ単に再帰を使えばいいと勘違いしていたのでそれの補足。本当は、スタックを深く潜っていくときに引数を出力するか?スタックのそこから上がってくる時に引数を出力するか?によってカウントアップもカウントダウンも実装できるという意味だったみたい。…

emacsでファンクションキーは使ってないし、modeの切り替えに使っちゃえば良いかもしれない

.emacsにこんな感じのものを付け加えて (let () "switch current buffer's mode" (global-set-key [f8] 'lisp-mode) (global-set-key [f9] 'ruby-mode) (global-set-key [f10] 'javascript-mode) (global-set-key [f11] 'scheme-mode) (global-set-key [f12]…

emacs上で…

シェルコマンドの実行結果を今開いているバッファに出力 (defun shell-command-output-to-buffer (str) (interactive "scommand: ") (print (shell-command-to-string str) (current-buffer))) この様な関数を作っておくと便利かもしれない。 例えば、emac上…

open-uriにどんなメソッドがあるか調べてみた。

通信関係はどのようになっているかよく分かりません。 なので、open-uriにはどのようなメソッドが存在しているのか調べてみました。 open-uriって? httpをFileオブジェクトのような感じで扱えるライブラリ。 require 'open-uri' uri = "http://www.ruby-lan…

プログラミング準備運動のメニューを決める

トラックバックで準備運動のメニュー案をもらったので、実際にやってみました。 実際にやってみたもの 回文判定 ABCDEFを並べ替えてできる文字列を辞書順で出力する 再帰メソッドでカウントダウン 再帰メソッドでカウントアップ 全ての目が出るまでサイコロ…

プログラミングの準備運動

プログラミングにも準備運動が必要かもしない。 こんな感じのものができればいい。 コマンド一つで手軽に呼び出せる 表示される練習メニューのようなものは予測できない方が良い これからやるメニューが1行程度で表示される。 (5分グライでできるようなもの…