On 06/21/2011 08:00 PM, Jim Nelson wrote:
> Actually, string.strip() (which uses g_strstrip) returns a new string.

Yes, string.strip() returns a new string, but string._strip() [note the
underscore] doesn't return anything and just modifies the calling string
in-place. Both of them exist in the string API.

Best regards
        Christian

> However, you're right, string is not immutable.  This works:
> 
> void main() {
>     string a = "abc";
>     stdout.printf("%s\n", a);
>    
>     a.data[0] = 'A';
>     stdout.printf("%s\n", a);
> }
> 
> -- Jim
> 
> On Tue, Jun 21, 2011 at 12:27 AM, Christian Siefkes <[email protected]
> <mailto:[email protected]>> wrote:
> 
>     On 06/21/2011 01:29 AM, Jonathan Ryan wrote:
>     > Also remember that "[t]he data type for strings is string. Vala
>     strings are UTF-8 encoded and immutable."
>     [http://live.gnome.org/Vala/Tutorial#Strings]
>     > If they are to be immutable, assigning strings must yield shallow 
> copies.
> 
>     Though they are not *completely* immutable, e.g. calling str._strip() will
>     modify a string in place (or so I think).


-- 
|------- Dr. Christian Siefkes ------- [email protected] -------
| Homepage: http://www.siefkes.net/ | Blog: http://www.keimform.de/
|    Peer Production Everywhere:       http://peerconomy.org/wiki/
|---------------------------------- OpenPGP Key ID: 0x346452D8 --
Real stupidity beats Artificial Intelligence every time.
        -- Terry Pratchett, Hogfather

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to