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

その月の最大日付を返すユーティリティ

例えば1月なら31、2月なら28を返すようなメソッドを探したがなかったので作ってみた。 require 'date' class DateUtil def DateUtil.actual_maximum(date) d = Date.new((date >> 1).year, (date >> 1).month, 1) (d - 1).day end end クラスメソッドで呼ぶ…

%記法の書き方

例えばHTMLをRubyで扱うとき、 str = "<input type=\"text\" value=\"hoge\">" ってやったりするが。バックスラッシュ(\マーク)を書くのがめんどい。 対処法はシングルクォーテーションで囲むというのが1つ。 str = '<input type="text" value="hoge">' でも、せっかくなら%記法を使いたい。 %Q(または%!)は、文字列のダブルク…

REXMLの呼び方

doc = Document.new(open('xml_test.xml')) puts doc.get_text("a/b") #テキストノードをとるとき puts doc.elements['a'].attribute('att') #属性値を取るとき 存在しないエレメントからget_textをやると、「nil」が返ってくる。 とても良い仕様。

REXML Elementの呼び方

1つだけ取り出すときは doc = Document.new(open('xml_test.xml')) e = doc.elements[1] #添え字が1から始まることに注意 #または要素名 e = doc.elements["hoge"] ループで取り出すときは doc = Document.new(open('xml_test.xml')) doc.each_element("hoge…

REXMLを使うとき

以下を呼ぶ。 require('rexml/document') include REXML 参考:http://pub.cozmixng.org/~kou/rexml-doc-ja/classes/REXML/Elements.html

HashをValue順に並び替える

JavaでいうところのTreeMap(だったっけ)のようなことをやってみようとした。 {単語:出現回数}のようなHashがあったときに、出現回数降順に並べてみる。 まず、 result = hash.sort{|a, b| b[1] <=> a[1] } でソート。 ところが、この結果はHashでなくArra…

Amazon Web API 商品情報

http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService&AWSAccessKeyId=アクセスキー &Operation=ItemLookup&ItemId=B000KFDO3A&ResponseGroup=Medium (全部で1行)Wiiを検索。 引数を間違えるとヘルプが出る。例えばOperation=hogeと記…

Amazon Web API 一番簡単なクエリー

http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService&AWSAccessKeyId=アクセスキー&Operation=ItemSearch&SearchIndex=Books&Keywords=Google (全部で1行)Googleを検索。 というか、ヘルプがまったくない。

Amazon Web APIのドキュメント

まず、アカウントを取ることが必要。Web API用のアカウントは英語サイトで取るけれど、 日本語サイトでアカウント作成→英語サイトで開発者用の許可を取る という流れが楽っぽい。下記に流れが。 http://www.amazon.co.jp/gp/feature.html?docId=451209 登録…

readlinesって一発でできるんじゃん

今までファイルを開いて全行読み込むときは io = open("hoge.txt") any = io.readlines ってやってたけど、 any = IO.readlines("hoge.txt") でできる。 これって、closeしなくていいのかな…。