[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5727] String#slice surprise

From: "Guy N. Hurst" <gnhurst@...>
Date: 2000-10-21 06:14:56 UTC
List: ruby-talk #5727
Hi,

I was trying to find the equivalent to substr() in ruby,
and came across String#slice, which seemed to have that
and much more.

Well, it is missing something, unfortunately.

I will demonstrate:

Suppose $string="Hello there"

In Perl (and PHP),

substr($string, 4, 1) == "o"
and substr($string, 4, 3) == "o t"
but substr($string, 4) == "o there"

In other words, if you leave out the third parameter ('length'), 
it just goes to the end of the string. Makes perfect sense, and
is balanced well by the functionality to extract a single character.

In Ruby,

string.slice(4,1) == "o"
and string.slice(4,3) == "o t"
but string.slice(4) == 111  	# (!)

I would expect String#slice() to work the same way as Perl's substr()
when using Fixnum parameters...

What is worse, if I *do* wish to get a substring from a starting position
to the end, it seems I have to use an embedded function:

string.slice(4..string.size) == "o there"

or else use some other method:

string.unpack("x4a*")[0]  	# tricky


Perhaps this dilemma is due to the fact that String#slice is an 
alias to String#[] ?

string[4] == 111	# cf. [ruby-talk: 01528] 

Here it makes sense that a single Fixnum refers to a single character (ok, byte),
because it appears to be acting as an index, not a starting position.


So, now what?

Perhaps it could be allowed that a range need not have an ending value?

So then:

string.slice(4..) == "o there"

And also,

string[4..] == "o there"


Any other ideas/comments?


Guy N. Hurst


-- 
HurstLinks Web Development    http://www.hurstlinks.com/
Norfolk, VA - (757)623-9688
PHP/MySQL - Ruby/Perl - HTML/Javascript

In This Thread

Prev Next