[#1026] Is this a bug? — Dave Thomas <Dave@...>
18 messages
2000/01/03
[#1053] rand() / drand48() — ts <decoux@...>
11 messages
2000/01/05
[#1055] Re: rand() / drand48()
— matz@... (Yukihiro Matsumoto)
2000/01/05
[#1061] Re: rand() / drand48()
— gotoken@... (GOTO Kentaro)
2000/01/07
Hi,
[#1067] Here docs not skipping leading spaces — Dave Thomas <Dave@...>
5 messages
2000/01/08
[#1083] YADQ (Yet Another Dumb Question) — Dave Thomas <Dave@...>
12 messages
2000/01/10
[#1084] Infinite loop — Dave Thomas <Dave@...>
17 messages
2000/01/11
[#1104] The value of while... — Dave Thomas <Dave@...>
24 messages
2000/01/11
[#1114] Re: The value of while...
— Dave Thomas <Dave@...>
2000/01/12
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
[#1128] Re: The value of while... — David Suarez de Lis <excalibor@...>
Hi all,
1 message
2000/01/12
[#1133] Re: Class variables... — David Suarez de Lis <excalibor@...>
Hi there,
2 messages
2000/01/12
[#1158] Is this expected behavior? — Dave Thomas <Dave@...>
6 messages
2000/01/21
[#1172] Re: Possible bug in ruby-man-1.4 — Huayin Wang <wang@...>
> |Well, I guess it comes down to what you mean by an integer
10 messages
2000/01/24
[#1177] Re: Possible bug in ruby-man-1.4
— Dave Thomas <Dave@...>
2000/01/25
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
[#1188] Enumerable and index — Dave Thomas <Dave@...>
5 messages
2000/01/27
[#1193] Semantics of chomp/chop — Dave Thomas <Dave@...>
7 messages
2000/01/28
[#1197] Question about 'open' — Dave Thomas <Dave@...>
8 messages
2000/01/30
[ruby-talk:01195] Re: Semantics of chomp/chop
From:
Dave Thomas <Dave@...>
Date:
2000-01-29 01:46:56 UTC
List:
ruby-talk #1195
matz@netlab.co.jp (Yukihiro Matsumoto) writes: > |If no change is make to $_, a new copy of it is returned. If a change > |_is_ made, then it becomes the copy, which is returned. > | > |This additional rb_str_dup looks like it's trying to avoid some kind > |of aliasing problem. Is the extra copy necessary? > > Since there's no way to detect whether rb_str_chomp_bang will success, > copying string is necessary. But there's no need to return the copy. > I'll fix it. gsub should return the original string if no change is made. I was wondering why copy it at all, as all four methods are allowed to alter $_. > This is because gsub!/sub! returns nil if no replacement happened. > I made it so to know whether change is made or not. There's no other > easy way to know this. But if this behavior is a source of big troubles, > I'd think of changing the behavior. I don't know if it's necessary, but you _could_ have [g]sub! and cho[m]p! always return the string, and set $& to whatever was changed. If $& is nil, then no change was made. Regards Dave