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

WebページからURLを抽出する

open-uriは内部でuriをrequireしているので、 open-uriをrequireすると、一緒にuriもrequireされる。 require "open-uri" require "kconv" url = ARGV[0] || "http://d.hatena.ne.jp/gan2/" html = open(url).read.tosjis URI.extract(html, ['http']){|uri|…

いくつかある文字コードライブラリ

NKF以外にも、KconvやIconv、そしてUconvなんてものまである。 何でこんなにたくさんあるの? どれを使えばいいのかよく分からない。 と思ってぐぐってみたら、 るびまのこんな記事が出てきた。 >るびま ふーん。なるほどね。 文字コード絡みのことで分から…

open-uriのテスト

普通に何も考えずに使ってみたら文字化けしたので、 NKF使ってShift_JISに変換してから出力させたらうまくいった。 require "open-uri" require "nkf" url = ARGV[0] || "http://d.hatena.ne.jp/gan2/" opt = "-s -xm0" open(url){|f| print NKF.nkf(opt, f.…

エマを読んだ

すごい中途半端に2巻を買って読んだ。 ブックオフで100円だったので。エマ (2) (Beam comix)作者: 森薫出版社/メーカー: エンターブレイン発売日: 2003/02メディア: コミック購入: 2人 クリック: 23回この商品を含むブログ (147件) を見るずっと前に友達の家…

オブジェクトのbool値を得るto_bメソッド

class Object def to_b true & self end end p "hello".to_b #=> true p nil.to_b #=> false true & selfは、self(オブジェクト)がtrueならtrueを返し、 selfがfalseかnilならfalseを返す。 リファレンスのTrueClassを参照。

Meadowからコマンドプロンプトを使う

M-x shellとコマンドを打つと、*shell*というバッファをつくることができる。 このバッファはコマンドプロンプトと同様に使うことができ、 なおかつMeadowのキーバインドも使うことができる。 参考->SML# - (1)プログラミングツールの整備 キーバインドが…

「p "%c" % 100」は何を出力するのか?

答えは「dを出力する」。 後ろの%の意味は、100を%cというフォーマットで表す。 最初見たときは何じゃこりゃ?と思ったけど、 printf以外でもフォーマットの指定ができるのは便利そう。 というか、sprintfの代用で使われるのが主目的なのかな。 puts sprintf…

クロージャについて学んだ

バリケンさんの日記で。 クロージャ便利だね。クロージャ。 クロージャはレキシカルクロージャと呼ぶこともあるみたいだけど、 このレキシカルって何だ?と思って調べてみた。 lexical 【形】 語彙{ごい}の、語彙的{ごいてき}な、単語{たんご}の 【発…

コマンドライン引数からオプションを受け取る

コマンドライン引数の1つ目の要素の先頭が'-'だった場合、 その要素をオプションと判断する。 ここには以下のように書いてあった。 opt = ARGV[0][0] == ?- ? ARGV.shift : '' ?-ってなんぞや?と思ったら、 '-'の文字コードという意味らしい。 そういえば最…

Windowsキーが実は便利!Windowsキーに割り当てられた15のショートカット - Forgot the Milk.

9. Win + Pause/Breakは便利。 環境変数の設定などをするときは、 いつもマイコンピュータのプロパティを開いていたけど、 こっちのショートカットの方が早いので、これからはこっちを使っていこう。 7.Win + Dを使えば、 12. Win + Mと13. Win + Shift + M…

運動すると眠たくなる

いつもそう。 僕は運動するとすぐに眠たくなる。 最近ずっと早く寝ようと思っているのに、 結局早く眠れてないっていう状態がずっと続いていたので、 今日はもうさっさと寝てしまおうかと考えている。 夜よりも朝の方が効率がいいっていうのはやっぱりそうだ…

バリケンさんの日記が勉強になる

とても分かりやすい。 現在主に更新されてるのがバリケンのRuby日記 - Rubyist。 それより以前はhttp://d.hatena.ne.jp/muscovyduck/。 http://d.hatena.ne.jp/muscovyduck/でRubyの内容が書かれているのは2006年の4月と5月。 5月の途中からはバリケンのRuby…

日記の一覧を見たいときはURLの末尾にarchiveを付ける

最近、rubyに関するブログ記事まとめをチェックして、 Rubyの勉強のネタにしている。 でもリンク先の日記に、 日記の一覧へのリンクがなくて困ることがよくある。 そういうときにはこの方法を使ってアクセスする。

Subversionの導入と使い方の練習

Subversionの基礎練習を参考にやってみた。 subversion: Documents & files: Windows Binariesから 最新版のインストーラをゲットしてきた。 現在の最新版はsvn-1.4.3-setup.exeだった。 あとはSubversionの基礎練習の通りに実習。 たしかに一通りの使い方は…

Firefox のタブ管理を極めるための12の拡張機能 - Forgot the Milk.

リンク先を参考にして、今回新しく導入したのが以下の2つ。 (3つ目も入れてみたのけど、やっぱり気に入らなかったので削除) 2.のhttps://addons.mozilla.org/ja/firefox/addon/4882 3.のhttps://addons.mozilla.org/en-US/firefox/addon/3542 10.のhttps://a…

Ruby版Tropyのソースを読んでみた

ソースはこれ→CodeReview-0015.tar.gz 全部で200行くらい。 ソース読みながら、自分なりのコメントを書いていくといい勉強になる。 その際、自分にとってなるべく分かりやすいように丁寧に書くといい。 結城さん風にいうと勉強日記ってやつだ。 ソースの勉強…

ここ何日かFirefoxがやけに重い

突然固まったりすることがしばしば・・・。 一体何が原因なんだろう? 変なアドオンでも入れたかな?

初学者にとっての効率のよい勉強方法

プログラミングの勉強をするにしろ、 他のことを勉強をするにしろ、 それを勉強するための効率のよい方法があると思う。 そして誰しも、効率のよい方法があるのならば、 それを知りたいと考えているだろう。 でも僕が思うに、勉強を始める前に、 効率のよさ…

補完機能が欲しい

Meadowを使ってRubyのソースコードを書いているときに、 クラス名やシンボル名の補完ができないものかな。 絶対需要はあるはずだし、 きっと方法はあると思うのだけど、 ちょっと調べてみても具体的なやり方はよく分からなかった。 また調べてみよう。 あー…

ダブルクリック一発でポップアップ検索Dictionary Tooltip

Dictionary Tooltip すさまじく便利。 僕が主に使うのは以下の4つ。 これにWeblio入ってくれたら最高だなー。 英次郎 ウィキペディア e-word goo辞書

「たのしいRuby」の感想

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング作者: 高橋征義,後藤裕蔵出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/08/05メディア: 単行本購入: 11人 クリック: 350回この商品を含むブログ (259件) を見る一通り読み終わったので感…

ファイルとディレクトリのバイト数を一覧表示

たのしいRubyの練習問題第16章(2)をやってみた。 以下のスクリプトを実行すると、 指定したディレクトリ以下に含まれる ディレクトリとファイルのバイト数が一覧で表示される。 Unixでいうduコマンド。 def du(path) size = 0 if FileTest.directory?(path) …

Rubyのライブラリファイル名の一覧を出力

たのしいRubyの練習問題第16章(1)にあったのでやってみた。 require "rbconfig" def print_libraries dlext = RbConfig::CONFIG["DLEXT"] # so dlext2 = RbConfig::CONFIG["DLEXT2"] # dll $:.each{|libdir| Dir.open(libdir){|dir| dir.each{|libfile| puts…

今月のカレンダーを出力するスクリプト

書いてみた。 すごくシンプルだと思う。 require "date" today = Date.today firstday = Date.new(today.year, today.month, 1) lastday = Date.new(today.year, today.month, -1) puts today.strftime("%B %Y").center(21) puts "Su Mo Tu We Th Fr Sa" wda…

ロリポップかさくらインターネットか・・・いやXREAだ!

レンタルサーバー比較(さくらインターネット・ロリポップ) - 徹底研究webを見ながら、 ロリポップよりもさくらインターネットの方がよさそうだな。 とか考えていたときに、 perl/Ruby、これから覚えるべきなのは? こんにちは。 現在プロ… - 人力検索はて…

Ruby's ringに参加した

ruby-modeで使えるコマンドのまとめ

ruby-modeを全然活用できてる気がしないので、 もう少しどうにかならないかなぁと思って探していたら、 参考になる記事を見つけたのでメモ。 →http://d.hatena.ne.jp/mahm/20070507/1178478239#c おおっこれは便利だ!早速使おう!と思ったのが以下の3つ。 C…

rdefs でファイルに定義されてるクラスやメソッドを一覧表示

るびまを読んでいたらrdefsという名前が出てきた。 便利そうだなーと思ったので、僕も使ってみることにした。 使うのは青木さんが大幅に改造したというrdefs.rb。 ダウンロードしてきたrdefs.rbをC:\home\gan2\ruby\commandに置き、 環境変数PathにC:\home\g…

windows.elよりもelscreen.elの方が使いやすい

最初にwindowsを試してみたわけだけど、 ちょっと想像してたのと違ってた。 windowsもelscreenも複数のウィンドウをタブで表示して、 キーバインドでその切り替えができると思っていたのだけど、 どうやらwindowsではタブは使えないようだ。残念! 一方、els…

elscreen.el の導入

ftp://ftp.morishima.net/pub/morishima.net/naoto/ElScreen/にアクセスして、 最新版(現時点ではelscreen-1.4.5.tar.gz)をsite-lispに保存する。 そして以下のelispを.emacsに追加する。 (load "elscreen" "ElScreen" t) http://www.bookshelf.jp/soft/mead…