2008年12月15日のブックマーク (1件)

  • 番号文字列をインクリメントする - satake7’s memo

    "Z10-036K"みたいな文字列があったとして、"Z10-999K"の次は"Z11-000K"になってほしいよねということで書いてみました。 ソース(というほどのものではない) Stringクラスに defineするので既存のメソッドをオーバーライトしないように、なるべくダサい名前にしてみました。(ここが一番時間かかったところ) class String def to_numstr self.unpack("C*").map{|e|e.chr=~/\d/&&$&}.to_s end def to_numstr_next s = (self.to_numstr.to_i + 1).to_s return self + s if s == "1" ret = "" self.size.times do |i| if ?0 <= self[i] && self[i] <= ?9 ret +=

    番号文字列をインクリメントする - satake7’s memo
    satake7
    satake7 2008/12/15