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

今日は一日中出かけていた

朝から晩までずっと外にいて疲れていたせいか、今日は日記を書く気が起きない! 昨日といい今日といい更新記録が途絶えそうない勢いだ! .。oO(いやそれ勢いって言わないよっ! とにかく、今日はRubyの勉強を何一つしていない有様。 今からお風呂に入るわけだ…

Golfやってみたらレベル高くてウハー

ってなった。 みんなすごいっす。 anarchy golf

css-modeのインデント

CSSをMeadowで書いていて、css-modeを使っているんだけど、 インデントがどうも・・・気に入らない。 ブロック内のインデントは全部空白2つ分で、 ブロックの終わりが行頭にくるようにしたいなー。 と思ってぐぐったらすぐに見つかった件。 →http://un-q.net…

掲示板

とりあえずできた。→これ 前回の一行掲示板を元に、 クラスをつくって、複数行の書き込みをOKにして、CSSをつけてみた。 見た目はあんまりよくないし、ファイルロックもしてないけど、 まあ最初はこんなもんでしょーってことで。 以下がソース。 bbs.cgiがこ…

はてブのタグを一括して変換したい

はてなブックマーク はてブを使っていると、 以前つけたAというタグはやっぱりやめて、 全部Bというタグに変えたいなぁ、と思うことがある。 別にはてブだけじゃなくて、 他のブックマークサービスでもそうだと思うけど、 とにかくそういうことがある。 でも…

CSVファイルをパースする

フラグを使ってやってみた。 それ以外の方法が思いつかない・・・。 class CSV def initialize end def split(str) elems = str.split('') splited = Array.new flg = false s = "" elems.each{|e| if e == '"' flg = !flg elsif e == ',' && !flg splited <…

'abc_def' を 'abcDef' に変換する

'_'でsplitしたあとに、 一旦全ての要素をcapitalizeし、 最後に先頭だけdowncaseする。 while line = gets line.chomp! lines = line.split('_') lines.each{|line| line.capitalize! } lines[0].downcase! puts "-> #{lines.join('')}" puts end 最初は真…

一行掲示板

http://rubycgi.org/cgi_explanation/index.htmを参考にして作ってみた。 .。oO(参考というかほとんどそのまんまだったりする。) 全然何の工夫もしてないけど、 後から少しパワーアップさせたいと思う。 動作テストはローカルでAN HTTPDを動かしてそれでやっ…

goo辞書がリニューアルされた

goo辞書 - 国語・英語・四字熟語のオンライン辞書 そのおかげでDictionary Tooltip 0.9日本語版から goo辞書を使うことができなくなってしまった。 なんてこったい!

ワンライナーの練習 行頭に' 'を追加して出力

以下のワンライナーを実行すると、 hoge.rbの各行の頭に' '(半角スペース)が追加されて出力される。 > ruby -p -e "$_ = ' ' + $_" hoge.rb -eと-pを逆にして書いたらエラーになった。 >ruby -e -p "$_ = ' ' + $_" hoge.rb -e:1: undefined method `-@' for…

腐女子彼女というブログを知った

ぺんたぶログ 古本屋で見つけた本がきっかけで知った。 書籍化されたものからブログを知る。 こういう流れもあるんだね。 ちょっと立ち読みしてみたらけっこう面白かった。 続きは暇なときに、ブログで読んでみようと思う。

「日本人としてこれだけは知っておきたいこと」を買った

日本人としてこれだけは知っておきたいこと (PHP新書)作者: 中西輝政出版社/メーカー: PHP研究所発売日: 2006/10/01メディア: 新書購入: 5人 クリック: 106回この商品を含むブログ (57件) を見るブックオフに行って350円で買ってきた。 まだ一章だけしか読ん…

XMLをパースしたいのでREXMLの勉強中

ぶっちゃけまだ全然分からない。 ほんとに全然・・・。 XMLから抽出したい文字列があるのだけど、 それを実現することは適当な正規表現だけじゃ難しい。 また、正規表現でどうにかなったとしても、 それはすごく分かりづらい方法になってしまうと思う。 とて…

1月から12月の月末を表示する

出力結果が整うように、 %を使ってmonthのフォーマットを調整してみた。 標準出力の整形にはcenterも役に立つ。 require "date" today = Date.today puts today.year.to_s.center(18) puts "-" * 18 1.upto(12){|month| lday = Date.new(today.year, month, …

Livedoorお天気Webサービスで遊ぶ

Livedoorのお天気Webサービス (Livedoor Weather Web Service / LWWS)で遊んでみる。 仕様はこれ→お天気Webサービス仕様 - Weather Hacks - livedoor 天気情報 対応している地域をリストアップする LWWSは全国142箇所の地域に対応している。 このXMLのcityタ…

RSSをHTMLに変換

指定されたRSSのitemのtitleをcheckbox付きのHTLで出力する。 HTMLが整形されてないのが気になるけど、 とりあえずこれはこれでほぼ完成。 連携するCGIの方は、まだ何もできていないので完成したとは言えない。 require 'rss' require 'kconv' def print_ite…

今月のカレンダーを出力

わりとキレイに書けたような気がする。 たのしいRubyの練習問題にも似たようなのあったなぁ。 require "date" def calendar today = Date.today fday = Date.new(today.year, today.month, 1) lday = Date.new(today.year, today.month, -1) # Date#wday は…

ヒットアンドブローのスクリプトができた

でもひどいコードかも。。 ヒットアンドブローは、コンピュータの用意した数字の並びを当てるゲーム。 コンピュータは、こちらが考えた数字の並びと自分のものを比較して、 次の2つのヒントをくれる。 HIT: 数字も場所も合っているものの数 BLOW: 数字は合っ…

10進数を2進数と16進数に変換する

"%b" % num "%x" % num ってな具合に、フォーマットを指定すればすごい簡単なのだけど、 それじゃつまらないのでそれ以外の方法でやってみた。 2進数はまあこれで大丈夫。 でも16進数はうまくいってない・・・。 hex なぜか '15' が追加されている。。 なん…

ヒットアンドブロー

Rubyで書いてみた。 すぐにできた。 でも同じ数字も使えるようにしようと思ったらそこで止まった。 うまくいかない。 隠してある数字と自分が用意する数字があるけど、 これらの各数字を一対一に対応させないとダメっぽい。 隠してある数字の方だけいじって…

/.って何だろう?

./の間違いかな? と思ったらスラッシュドットのことだったみたい。 なるほどねー。

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

知識ゼロからのジョギング&マラソン入門作者: 小出義雄出版社/メーカー: 幻冬舎発売日: 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でミニバッファ内の履…