pythonのmechanizeではてぶする

pythonではてなブックマークの投稿をしたい。ほんで、投稿するためにははてなにログインする必要がある。どうしたらいいのかなーと考えてて、perlのmechみたいなものがpythonにもないかなと思って探してみたらmechanizeが見つかった。これ、perlのmechを参考…

リージョンのなかの数値だけを足し合わせる関数

必要だったので作ってみた。リストの要素を足し合わせるような関数は無いはずがないと思うのだけど、探せなかったので適当に作った。 (defun my-sum-num-region (beg end) "リージョン内にある数字のみを足し合わせる" (interactive "r") (message (number-t…

全然ブログ書いていないけど、あれからちょこっとKahua触って、今はGoogleAppEngine(とPython)を触ってたりします。 Pythonがまだ期待していたほど面白くはない*1のだけど、GAEはすげーいいかも。 *1:emacsで環境がちゃんと整えられていないのと慣れの問題…

Gauche本勉強メモ(9日目)

仕事が忙しくてだいぶあいてしまったけど、今日から再開。 6.6 2種類の再帰 再帰的に呼ばれた手続きの返す値が、もとの手続きの返す値になっているものが末尾再帰。 7.1 手続きオブジェクト lambda式は評価されると手続きオブジェクトになる。今日はここまで

Gauche本勉強メモ(8日目)

ゆだんするとすぐ3日くらい空いちゃう。なるべく毎日やるぞ。リストの要素を逆転するreverseを考えてみる (define (reverse lis) (fold cons '() lis)) ;;; もしくは (define (reverse lis) (if (null? (cdr lis)) lis (append2 (reverse (cdr lis)) (list (…

Gauche本勉強メモ(7日目)

6.5簡単なリスト処理(のつづき) 2つのリストを連結する手続きappend2 (define (append2 a b) (if (pair? a) (cons (car a) (append2 (cdr a) b)) b)) gosh> (append2 '(1 2 3 4) '(10 9)) (1 2 3 4 10 9) gosh> (append2 '() '(10 9)) (10 9) gosh> (appen…

Gauche本勉強メモ(6日目)

6.5 簡単なリスト処理 空でないリストの最後の対を見つけるlast-pairを書いてみる。こんな感じだろうか? (define (last-pair2 lis) (if (pair? lis) (last-pair2 (cdr lis)) lis)) gosh> (last-pair2 '(1 2 3)) () gosh> (last-pair2 '(1 . 3)) 3 だめだ。…

Gauche本勉強メモ(5日目)

6.4 foldの定義 foldの定義を書いてみる。 自力で考えてみるか。 … 10分くらいゴニョゴニョやってみたがわからんかった。正解は (define (fold proc init lis) (if (null? lis) init (fold proc (proc (car lis) init) (cdr lis)))) まずlisが空リストの時に…

Gauche本勉強メモ(4日目)

6.3 リストの走査 fold 手続きと初期値、リストを引数にとり、初期値とリストの最初の値を手続きに渡し、その結果とリストの2番目の値を手続きに渡し、、、という処理を行う手続き。 ちょっとわかりにくい。 gosh> (fold + 0 '(1 2 3 4 5)) 15 gosh> (fold *…

Gauche本勉強メモ(3日目)

6.1 リスト データとしてのリストをプログラム中に含めたい場合は'(クォート)をリストの前に付加する。 クォートがない場合はデータではなくプログラム(なので1番目の要素は手続きである必要がある) gosh> '(1 2 3) (1 2 3) リストを連結する手続きappen…

Gauche勉強メモ(2日目)

5.1 スクリプト Gaucheのスクリプトエンジンgoshは引数にファイル名を渡すと、それをSchemeプログラムとして読み込み、中に書かれている式を順に評価する。そして、ファイルの読み込みが終了したあと、その中にmainという手続きの定義があればそれを呼び出す…

Gauche勉強メモ(1日目)

1.3 Scheme Schemeの最も基本的なルール lambda式は、「レキシカルな環境を保持した手続き」(クロージャ)へと評価される 手続き呼び出しは継続を伴った引数つきgotoである 1番目のほうは、"lambda式"という言葉はわかる。"「レキシカルな環境を保持した手…

Gaucheの勉強

去年Gauche本を買って少し読んでいたのだけど、いつのまにか放置になっていたのを再開してみようと思う。 現時点でのGauche(Scheme)を学ぶ目的は Lispのマクロを理解し使いこなせるようになること。 継続をきちんと理解すること。 Gaucheでツールやアプリ…

プロジェクトディレクトリ以下のファイルをanythingで検索する

anything-find-project-resources kiwanamiさんの作られているanything-find-project-resources*1というのがあって、これがとても便利なのだけど、ぼくはほかのanything-sourcesとまぜて使いたかったので、以下のようにsource部分を抜き出して、anything-sou…

gtags-find-rtagで選択したバッファを開こうとするとSelecting deleted bufferと言われて失敗するのが直ったかも

gtags.elcを消してみた。それだけ。 まだ、ちゃんと試してないので気のせいかもしれない。 後でちゃんと試す。

ethnaで対応するactionやview、templateにジャンプするelispを書いた

というか、だいぶ前に作って使っていたのだけど、今回anythingのsourceを作る練習をするためにそれをanything化してみた。で、ethnaのジャンプ用elisp ;;; ethna用 (defvar ethna-jump-template-subdir '("ja_JP/")) (defun ethna-jump-action-and-view (fro…

ethnaをインストールした

仕事で使っているethnaを自分のmacにもインストールした。 目的はethna用のelispを書くため。 ethnaのバージョンは2.5.0。 phpを使えるようにするためにapacheの設定変更 httpd.confの以下の行のコメントをはずし有効にする LoadModule php5_module libexec/…

>

macのかなと英数のモード変更方法を変えた

mac

emacsで英数とcommandをうち間違えるので、keyRemap4MacBookでかなキーで英数かなをトグルするようにして、英数はcommandにしてしまった。 もともとこのモード変更に二つもキーを使うのが気に入らなかったってのもある。 ぼくが書くものは、「大半が半角の文…

yankをyank-pop-summaryからanything-c-source-kill-ringを使うものに変えてみた

(global-set-key (kbd "M-y") (lambda () (interactive) (anything 'anything-c-source-kill-ring))) これでkill-ringのみをソースとするanythingが起動する。 なかなか便利かも。 しばらく使ってみる。 追記[2009-10-27 00:06] だめだ。なぜかM-wやC-kなど…

macでsimple-hatena-modeでうまく投稿できないのが解決した

自分のdropboxから持ってきたhw.plスクリプトの改行コードがDOSになっていたのが原因だった。orz hw.plを直接実行したらいっぱつでわかったのに、なんで前回は気づかなかったんだ。。

TetsujinさんのPHP標準関数snippetのやつ使ってみた

http://d.hatena.ne.jp/Tetsujin/20090319/1237404395 これは良い。 でも挿入される関数の引数部分がちょっと好みじゃなかったので変えてみた。 引数の型やオプションのはとりあえずいっかってことで外してみた。(豪快に間違っていたので修正しました。[200…

simple-hatena-modeからの投稿テスト

OK?

simple-hatena-modeをいれた

なかなかいい感じ。 これからは携帯以外から更新するときはこれ使っていこう。

読みかけの本

やさしいEmacs‐Lisp講座作者: 広瀬雄二出版社/メーカー: カットシステム発売日: 1999/01メディア: 単行本購入: 4人 クリック: 144回この商品を含むブログ (30件) を見る 最近読んでる本。とても良い。というかいまのおれにちょうど良かった。次の連休にでも…