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

Yet Another Ruby FizzBuzz その2

class Fixnum def self.fizzbuzzize alias org_to_s to_s def to_s if self%15 == 0 then "FizzBuzz" elsif self%3 == 0 then "Fizz" elsif self%5 == 0 then "Buzz" else self.org_to_s end end end def self.unfizzbuzzize undef to_s alias to_s org_to_s…

Yet Another Ruby FizzBuzz その3

divisible_by = lambda { |base, num| (num % base).zero? }.curry divisible_by_15 = divisible_by[15] divisible_by_3 = divisible_by[3] divisible_by_5 = divisible_by[5] (1..100).each do |i| puts case i when divisible_by_15 then 'FizzBuzz' when …

Yet Another Ruby FizzBuzz その4

class Fixnum def fizzbuzz w = {Fizz: 3, Buzz: 5}.select { |_, base| (self%base).zero? } w.empty? ? self : w.keys.join end end (1..100).each { |i| print "#{i.fizzbuzz} " } Enumerable#injectのほうがいいかな class Fixnum def fizzbuzz w = {Fiz…

Yet Another Ruby FizzBuzz

FizzBuzzはプログラムする人の最初のfilterプログラムだ*1 だからプログラムをするのならFizzBuzzを解かなきゃならない こうしてプログラムする人の数だけFizzBuzzが生まれる そして今日もまた別のFizzBuzzが生まれた module Enumerable def fizzbuzz(opt) m…

ApplescriptとRubyでもう僕は移動しない

忙しい社会では無駄な労力というのはとても嫌われます そしてコンピュータネットワークの発達した現代では 「移動」は無駄な労力の1つとみなされています ネット世界の住人は特に移動を嫌います 物を買うにも友と語らうにも移動を避けます 移動は無駄に時間…

Termtterでupdateコマンドを省略する

Termtterが他のTwitterクライアントと違うことの1つは ユーザが入力した文字列を Twitterへの投稿文字列とは解釈しないところだ Termtterは常にそれをコマンド(+引数)として解釈する だからそのことを忘れて投稿文字列を打つと 以下のように言われる > 誰か…

Ruby製ノコギリで株価を切り刻もう!

ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。Ruby製ノコギリで株価を切り刻もう! : melborne.github.com - 株式投資は社会人のたしなみである 投資をせずしてリアル…