[#31787] MIME decoding — Tietew <tietew@...>

Tietew です。

24 messages 2001/10/08

[#31866] 先祖がえり — "T.Shirakawa" <niegh@...>

はじめまして つい最近、MLに登録した白川です。

20 messages 2001/10/14
[#31867] Re: 先祖がえり — Koji Arai <JCA02266@...> 2001/10/14

新井です。

[#31889] Ruby Conference — Minero Aoki <aamine@...>

あおきです。

31 messages 2001/10/16
[#31905] Re: Ruby Conference — matz@... (Yukihiro Matsumoto) 2001/10/17

まつもと ゆきひろです

[#31923] Re: Ruby Conference — TAKAHASHI Masayoshi <maki@...> 2001/10/17

高橋征義です。

[#31932] しぶらぐ — "KANEMITSU Masao" <masao-k@...> 2001/10/18

http://www.ne.jp/asahi/masao-k/home/newpage1.htm

[#31906] 数値の配列の一部を文字列にして、多重代入したい — みかみまさと <kofu@...>

こんにちは。みかみにございます。

9 messages 2001/10/17

[#32016] Re: コメント削除スクリプト — "Tatsuaki Nagai" <Tatsuaki_Nagai@...>

こんにちは。永井です。

15 messages 2001/10/24
[#32018] Re: コメント削除スクリプト — TASHIRO Katsuya <tashiro_katsuya@...> 2001/10/24

田代と申します.

[#32123] dRuby の DRbUndumped#_dump は? — FUJIMOTO Hisakuni <hisa@...>

こんにちは、藤本です。

21 messages 2001/10/30
[#32124] Re: dRuby の DRbUndumped#_dump は? — m_seki@... 2001/10/30

[#32126] Re: dRuby の DRbUndumped#_dump は? — shudo@... 2001/10/31

咳さん wrote:

[#32145] Test::Unit — MUTOH@...

むとうです。

20 messages 2001/10/31

[ruby-list:31841] jleft, jright を作ってみました

From: Shimada Yoshiro <yoshimada@...>
Date: 2001-10-11 06:54:39 UTC
List: ruby-list #31841
島田と申します

先ほど変なタイトルのメールを送ってしまい、申し訳ありませんで
した。改めて同じ内容のメールを送ります。

SJISで、全角と半角が混じっている文字列の左からnバイトまたは
右からnバイトを切り出すメソッドを作って見ました。

みそは切り出す文字の境界に全角文字がきて1バイトめと2バイト目
が泣き別れになるのを避けることです。そのような状況では切り出
す長さをn-1バイトにして処理しています。
-----------------------------------ここから開始
$KCODE='s'
require 'jcode'

class String
    # SJISで左のnバイトを切り出す。
    # 境界に2バイト文字がある時は長さをn-1バイトにする。
    #
    # $KCODE='s'; require 'jcode'がこの行以前にあることが前提
    def jleft(n)
        if self.length <= n
            xx = self.dup
        else
            if self[0..(n-1)].jlength == self[0..n].jlength
                #境目に2バイト文字がある
                xx = self[0..(n-2)]
            else
                xx = self[0..(n-1)]
            end
        end
        xx
    end

    # SJISで右のnバイトを切り出す。
    # 境界に2バイト文字がある時は長さをn-1バイトにする。
    def jright(n)
        if self.length <= n
            xx = self.dup
        else
            n = self.length - n
            if self[0..(n-1)].jlength == self[0..n].jlength
                #境目に2バイト文字がある
                xx = self[(n+1)..-1]
            else
                xx = self[n..-1]
            end
        end
        xx
    end
end
#-------------------ここからテスト
cc = "ABCDEF"
(1..cc.length).each {|n|
    xx = cc.jleft(n)
    print xx, "(", n, ")\n"
}

(1..cc.length).each {|n|
    xx = cc.jright(n)
    print xx, "(", n, ")\n"
}


__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/

In This Thread

Prev Next