[ruby-list:42980] Re: 長い書名を短くするメソッド

From: Nobuyoshi Nakada <nobu@...>
Date: 2006-11-06 16:55:30 UTC
List: ruby-list #42980
なかだです。

At Tue, 7 Nov 2006 01:25:17 +0900,
Nobuyoshi Nakada wrote in [ruby-list:42979]:
> class String
>   def shorten(start = 10, last = 4)
>     if length > start + last
>       self[0, start][/.*/m] + "…" + self.match(/.*/, -last)[0]

String#matchがインデックスを取るのは1.9からなので、1.8だとこう。

        self[0, start][/.*/m] + "…" + self[index(/./m, -last)..-1]

しかし、

  "長い書名を短くするメソッド".index(/.*/, -1)  # => 26
  "長い書名を短くするメソッド".index(/.*/, -2)  # => 24
  "長い書名を短くするメソッド".index(/.*/m, -1) # => 26
  "長い書名を短くするメソッド".index(/.*/m, -2) # => nil

というのはなんとなくバグっぽいような。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread