素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

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

ゴミ箱に入れるコマンド

WindowsだとdelコマンドがあるらしいがMacにはない。 javascripter's gist: 177415 — Gist に置いた。 del file1 file2 file_or_directory3のように使う。ファイル名に空白が含まれていても平気。 ファイル名が重なったら、1.foo、2.foo、…という風に数字を…

evalにハッシュを渡せるように

RubyのERB#run、ERB#resultがbindingを受け取るのが気持ち悪いので、ハッシュを受け取れるようにしたらどうか、という話。 def hashing(pair) Class.new { pair.each {|key, value| define_method(key.to_sym) { value} } }.new.instance_eval { binding } e…

今月が何日まであるかを表示する

次の月の一日前のDateTimeオブジェクトのdayメソッドが今月の終わりの日付。 追記:id:udzuraによると、DateTime.new(t.year, t.month, -1)と書けるらしい。このほうがオブジェクトをたくさん作らなくていいのでスマートだ。 #!/usr/bin/env ruby require 'e…

rangeとジェネレータとzip

range()オブジェクトとジェネレータの違いについて調べた。 def enum_from_to(begin, end): i = begin while i < end: yield i i += 1 まず、rangeの機能を限定したようなジェネレータを定義する。 print (list(zip(enum_from_to(0, 10), enum_from_to(0, 10…

classList、relListがFirefoxに入った

HTML5で定義されている、classNameやrelを操作するための新しいAPIがFirefoxのナイトリーに入った。 var p = document.createElement("p"); p.classList.add("foo"); console.assert(p.className == "foo"); p.classList.add("bar"); console.assert(p.class…

GeolocationとGoogle Maps

Personalize Your Homepageからインストールできる。 Firefox等に搭載されているGeolocation API(Geolocation API Specification)を使って、Google Mapsに現在位置を表示する。 マップレットと呼ばれる、Google Maps APIが使えるWidgetのような物を使用する…

query_string

javascripter's gist: 159058 — Gist に置いた。 a=b=cという文字列を["a", "b=c"]に分離するために.split("=")を使うことはできない。あまり使われることのない第二引数のlimitを使って.split("=, 2)としても、["a, "b"]になってしまうので、使えない。 追…