[#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:01194] Re: Semantics of chomp/chop
From:
matz@... (Yukihiro Matsumoto)
Date:
2000-01-28 23:36:47 UTC
List:
ruby-talk #1194
Hi,
In message "[ruby-talk:01193] Semantics of chomp/chop"
on 00/01/28, Dave Thomas <Dave@thomases.com> 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.
By the way, I've heard the trouble (not Ruby's bug) about gsub!/sub!
sometimes that bang methods cannot be chained like
str.gsub!(pat1,repl1).gsub!(pat2,repl2).gsub!(pat3,repl3).
where non bang sub/gsub work just fine
str.gsub(pat1,repl1).gsub(pat2,repl2).gsub(pat3,repl3).
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.
matz.