2007-06-01から1日間の記事一覧

知識ゼロからのジョギング&マラソン入門

知識ゼロからのジョギング&マラソン入門作者: 小出義雄出版社/メーカー: 幻冬舎発売日: 2002/01/01メディア: 単行本購入: 14人 クリック: 183回この商品を含むブログ (50件) を見る最近ジョギングに興味が出てきているので、 ちょっと欲しいなぁと思ったり。…

grepっぽいもの

ファイルを読み込んで、 正規表現にマッチする行をファイルに出力する。 使い方はこんな感じ。 > ruby grep.rb [Regexp] [ReadFile] [WriteFile]引数を省略した場合は、 Regexpを/line/で、 ReadFileを実行中のファイルで、 WriteFileを実行中のファイルの拡…

配列の要素で同じものの数を数える

injectの勉強にもなった。 ary = %w(1 2 2 3 3 3 4 4 4 4) p ary.inject(Hash.new(0)){|hash, a| hash[a] += 1; hash} #=> {"1"=>1, "2"=>2, "3"=>3, "4"=>4}

Array#join("\n")の別表記

Array#join(sep)を使うと、 配列の各要素間にsepを挟むことができる。 "\n"を挟みたいときはArray#join("\n")という具合に。 で、join("\n")の別表記として以下の2つがある。 *("\n") *($/) 以下のスクリプトで実験して確かめてみる。 ary = %w(北海道 青森 …

sort_byはブロック内の値を使ってソートする

ref = %w(北海道 青森 秋田 岩手) arr = %w(青森 岩手 北海道 北海道 秋田) puts arr.uniq.sort_by{|a| ref.index(a)} 実行結果はこうなる。 北海道 青森 秋田 岩手sort_by{|a| ref.index(a)}は、 ref中のaのインデックスを使ってソートをする、という意味。…

いつでもchompするeach_line

まだyieldに慣れてない・・・。 色々書いて覚えよう。 yield(line.chomp)とあるから、 chompされたlineがeach_line2のブロック変数lineに渡る、 ってイメージであってると思う。 filename = __FILE__ class IO def each_line2 self.each_line{|line| yield(l…

URI.escapeとCGI.escapeの違い

URI.escapeはhttp://の部分はエンコードしない。 CGI.escapeはhttp://の部分も含めてエンコードする。 日本語入りのURLをエンコードするときはURI.escapeを使うのがよい。 require 'uri' require 'cgi' str = 'ほげ' str_uri = URI.escape("http://d.hatena.…

エディタの使い勝手をよくするelispを導入

あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (2/2) - ITmedia エンタープライズで紹介されていた次の3つを入れてみた。 elisp 説明 kill-summary M-yでkill-ringの内容を一覧表示してそこから選べる minibuf-isearch C-rでミニバッファ内の履…