[#1219] ruby animal — OZAWA Sakuro <crouton@...>

小澤さく@塩尻Internetです.

18 messages 1996/12/09

[#1256] ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

21 messages 1996/12/12
[#1257] Re: ruby 0.99.4-961212 available — Yasuo OHBA <jammy@...> 1996/12/12

大庭@SHLJapanです.

[#1258] Re: ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto) 1996/12/12

まつもと ゆきひろです.

[#1259] Re: ruby 0.99.4-961212 available — WATANABE Hirofumi <watanabe@...> 1996/12/12

わたなべです.

[#1261] Re: ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto) 1996/12/12

まつもと ゆきひろです.

[#1290] ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

32 messages 1996/12/17
[#1300] Re: ruby 0.99.4-961217 will be available — sinara@... 1996/12/17

原です。

[#1305] Re: ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto) 1996/12/17

まつもと ゆきひろです.

[#1308] Re: ruby 0.99.4-961217 will be available — gougi@... (Shigeru Gougi) 1996/12/17

ごうぎ@TCIです。

[#1341] Re: ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto) 1996/12/18

まつもと ゆきひろです.

[#1342] Re: ruby 0.99.4-961217 will be available — sinara@... 1996/12/18

原です。

[#1345] [BUG?] access string out of range — sinara@... 1996/12/18

原です。

[#1330] Re: Rational and Complex — Shin-ichiro Hara <sinara@...>

原です。

30 messages 1996/12/17
[#1335] Re: Rational and Complex — sinara@... 1996/12/18

原です。

[#1359] Re: Rational and Complex 1996/12/18

けいじゅ@SHLジャパンです.

[#1423] 配列への grep — (Dezawa Shin-ichiro) <dezawa@...>

出沢です

14 messages 1996/12/23

[#1469] wish ... — Noritugu Nakamura <nnakamur@...>

25 messages 1996/12/24
[#1470] Re: wish ... — matz@... (Yukihiro Matsumoto) 1996/12/24

まつもと ゆきひろです.

[ruby-list:1163] Re: Japanese and tr

From: sinara@...
Date: 1996-12-02 07:23:59 UTC
List: ruby-list #1163
原です。

> まつもと ゆきひろです.

> |これを書いてて気がついたんですが、s = 'a' のとき、s[0..-2] も 'a'
> |になってますね。s[0..-2] は ''、s[0..-3] は nil などとするのは
> |どうでしょう。(上で length < 2 が必要なくなる。)
> 
> "abc"[1..0]が""を返すことから見て"a"[0..-2]は""を返すべきで
> しょうね."abc"[2..0]が""を返すことを考えるとs[0..-3]も""を
> 返すべきではないかと考えますが….
> 
> # それに文字列でないものを返すと型チェックが必要になって面倒
> # だし….

Perl では nil => "" への変換が節操なく起こるところで、ruby ではエ
ラーをレポートする。これが ruby 流かなと思っていたんですが。:-)


今回のをまとめると

b >= 0  ===>  s[a..b] = s[a, b - a + 1]
b <  0  ===>  s[a..b] = s[a, b - a + s.length + 1]

ということですよね。すると、まつもとさんのいわれるように 
s[0 .. -s.length-2] を "" とするならば、s[0, -1] も "" にしたいと
ころですが、現在は

./test.rb:12:in `[]': IndexError|Negative length -1

といわれてしまいます。と、いうわけで s[0..-s.length-2] は、
nil, "", ERROR と3通り選択があるけど、ERROR に近いというところで
nil を薦します。しかし "" でも確かに実際上は全然困らないし便利なこ
とも多いですね。どちらでも。

 
> |それから 'あ' .. 'お' みたいな Range をうまく定義するにはどうした
> |らいいでしょうか。
> 
> String#uptoを全角に対応して再定義すればOKです.ですから,今
> 回ので行くのでは? 
> # 試していません.

と思って upto を定義したんですが、

for c in 'あ'..'い'
  print c, "\n"
end

が無限ループになってしまいました。'a'..'c' はOKだけど、
'/'..'A' はだめ。中で succ でも使っているような感じ。
---===-=-=-=-=-=-=-=-=======--=-=-=-==-=-===-=-=-=-=-=-=--=-==-=--
                            Shin-ichro Hara(Nagaoka Univ.of Tech.)



In This Thread