[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>

Hello...

33 messages 2001/06/01

[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>

Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.

12 messages 2001/06/09

[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>

14 messages 2001/06/11

[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...

Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby

9 messages 2001/06/15

[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>

I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the

11 messages 2001/06/20

[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>

14 messages 2001/06/21

[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>

Hi,

18 messages 2001/06/23
[#16802] Re: rb_define_class() vs Class.new() — ts <decoux@...> 2001/06/23

>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:

[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>

Next week I'll try to rebuild Ruby with Unicode strings. But it would be

15 messages 2001/06/25
[#16842] Re: national characters is strings — matz@... (Yukihiro Matsumoto) 2001/06/25

Hi,

[#16843] Re: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/25

That's good enough. But I'm afraid this could ( not would ) cause string

[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

14 messages 2001/06/25
[#16873] RE: Something strange with Ruby's inheritance mechanism — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/26

[#16879] Re: Something strange with Ruby's inheritance mechanism — Mathieu Bouchard <matju@...> 2001/06/26

On Tue, 26 Jun 2001, Aleksei Guzev wrote:

[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

12 messages 2001/06/25

[#16881] — "Aleksei Guzev" <aleksei.guzev@...>

32 messages 2001/06/26
[#16916] Re: Method overloading (option) Was: Re: — "Wayne Blair" <wayne.blair@...> 2001/06/26

[#16920] Re: Method overloading (option) Was: Re: — matz@... (Yukihiro Matsumoto) 2001/06/26

Hi,

[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>

Hi all,

16 messages 2001/06/26

[#17037] keeping an Exception object alive — David Alan Black <dblack@...>

Hello --

19 messages 2001/06/28
[#17055] Re: keeping an Exception object alive — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17066] RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17076] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17079] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17138] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/07/02

Hi,

[#17141] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/07/02

Hello --

[#17142] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — ts <decoux@...> 2001/07/02

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

[ruby-talk:16348] Re: Little bug in the manual

From: "Hal E. Fulton" <hal9000@...>
Date: 2001-06-09 07:11:30 UTC
List: ruby-talk #16348
----- Original Message -----
From: Mathieu Bouchard <matju@sympatico.ca>
To: ruby-talk ML <ruby-talk@ruby-lang.org>; teespy <teespy@bigfoot.com>
Cc: ruby-talk ML <ruby-talk@ruby-lang.org>
Sent: Thursday, June 07, 2001 7:30 PM
Subject: [ruby-talk:16313] Re: Little bug in the manual


> > I think there is a little error in ruby's guide
> > ( www.ruby-lang.org/en/pdf-doc/rubyguide_A4.pdf )
> > Look at page 16, the C example of a loop, quoting:
> > char *str;
> > for (str = "abcdefg"; *str != '\0'; str++) {
> > /* process a character here */
> > }
> > I think  'str = "abcdefg"' isn't legal, and should be replaced with
> > strcpy(str, 'abcdefg');
> > That's it, nothing important, but may be worth fixing in the next
release of
> > the guide.
>
> Not only str="abcdefg" is legal and working, but your replacement has
> several errors in it.
>
> Please learn the difference between a character literal and a string
> literal; and then learn about initializing all your variables; then learn
> about the use of memory allocation and deallocation; then learn how you
> can fix your code; then learn why the original code can be right too.
>
> That's it, nothing important, but may be worth learning for your next
> post about C code.

Let us give him a little assistance here.

When you declare a pointer in C, you get only a pointer. There is no memory
allocated for the thing pointed to. (It is truly frustrating how many people
don't
seem to know this -- it seems like a C newbie issue, but I have been
frightened by "oldbies" (?) who didn't grasp it...)

    char *str;
    strcpy(str,"hello");    /* Coding error! Probable crash, now or later.
*/

This is better:

    char *str;
    str = (char *) malloc(10);
    strcpy(str,"hello");    /* No problem. */

Of course, the use of malloc() implies the later use of free(), or you will
have a memory leak.

A string constant is stored internally as a pointer to a character string.
So it
is legal to assign the pointer value to a pointer variable. No malloc() is
required, since the memory already exists.

    char *str;
    str = "hello";   /* Memory for constant allocated at compile time. */

Does that help some?

Cheers,
Hal


In This Thread

Prev Next