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 <christian siefkes net
<mailto:christian siefkes net>> 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 ------- christian siefkes net ------- | 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