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

Enumerable#grep を使うときに Regexp.last_match をさわりたい

うまいタイトルが思い付かない。Ruby は $~ や Regexp.last_match などで、カレントスコープで実行した最後の正規表現マッチの結果を得ることができる。 /(.)(.)/ === 'abcdef' puts $1 # => a puts $2 # => b こんな風に。ところで、 Ruby には Enu…

エスケープ・キーをC-Spaceにする

screenをつかっていると、エスケープ・キー(デフォルトは ^A になっている)を打ち込む回数を数え上げることは、今までに食べてきたパンの枚数を数え上げるのに等しい行為である(たくさん打つよね)。エスケープ・キーは、できるだけ押しやすいキーバイン…

return と finally (ensure)

return と ensure 節 - #!/usr/bin/env japanese - Teq.gこれを Scala で書いてみた。 object ReturnEnsureSample { def main(args: Array[String]) = { println("yuno => " + yuno) println("miyako => " + miyako) println("hiro => " + hiro) println("sa…

return と ensure 節

Rubyのensureはreturnを撤回できる - Hello, world! - s21gこれを見て気になったので試した。 def yuno true ensure false end def miyako return true ensure return false end def hiro return true ensure false end def sae true ensure return false en…

声優の新谷良子さんへの愛を叫ぶ

TaniRyoko = "谷良子" def new(syntanix, shout=nil) if shout puts "#{shout}! 新#{syntanix}, #{shout}!!!" else puts "New #{syntanix} って…100万回も言われてます。もうあきましたっ!!ばーかばーか。" end end new TaniRyoko, "もげええええええ" # => …

Rubyでノーム・ソート

ノームソート - Wikipedia def gnome_sort(array, i=1) if i < array.size if array[i - 1] >= array[i] array[i - 1], array[i] = array[i], array[i - 1] i = i > 1 ? i - 1 : i + 1 else i = i + 1 end gnome_sort(array, i) else array end end returnを…

整数を英語へ変換

class Integer def english_name(delimiter=&#39;-&#39;) if self < 20 english_table[self] else ret = english_table[(self / 10) * 10] (self % 10) == 0 ? ret : ret + delimiter.to_s + english_table[self % 10] end end private def english_table { …

access_hatena.js

144,147c144,147 < } else if (pageFor[host].uri.length > page.uri.length) { // より短いアドレスのタイトルが妥当 < pageFor[host] = page; < isUpdated = true; < } --- > }// else if (pageFor[host].uri.length > page.uri.length) { // より短いアド…

hatena.vimから書きこむ。

Enumerable#sort_by.reverse

hash = {:a => 30, :b => 50, :c => 40, :d => 20} hash.sort_by {|k, v| v }.reverse キーを単語、値を単語の出現回数とするハッシュをつくっていじくりまわしたりすることがある。そして出現回数でソートして Array#reverse で昇順に、ということをやるこ…

Ubuntu 10.03 LTSを入れてやること #3

Mozilla Thunderbirdを入れる。 % sudo apt-get install thunderbird thunderbird-locale-jaGoogle Calendarをローカルで扱えるように、LightningとProvider for Google Calendarを入れる。

#!/usr/bin/env ruby # # http://github.com/cho45/dotfiles/raw/master/setup.rb require "pathname" require "fileutils" include FileUtils::Verbose class String def expand ret = Pathname.new(self).expand_path ret.parent.mkpath unless ret.parent…