Re: [Vala] request to add another example to Projects/Vala/ListExample
- From: Gergely Polonkai <gergely polonkai eu>
- To: Gilzad Hamuni <gilli4 gmx net>
- Cc: vala <vala-list gnome org>
- Subject: Re: [Vala] request to add another example to Projects/Vala/ListExample
- Date: Wed, 22 Jun 2016 11:10:29 +0200
Hello,
this is a pretty old topic, but I have the rights to edit wgo pages. If you
think it is actually relevant, I can add this example to the wiki.
Best,
Gergely
Gergely Polonkai
[image: https://]about.me/gergely.polonkai
<https://about.me/gergely.polonkai?promo=email_sig&utm_source=email_sig&utm_medium=email_sig&utm_campaign=external_links>
2016-03-21 15:21 GMT+01:00 Gilzad Hamuni <gilli4 gmx net>:
Hi,
just want to say that this is some precious info that I needed to learn
yet.
As a C#-guy I wonder from a "user's" point of view:
If List<string> implies strdup(), wouldn't it be consistent to
automatically compare with strcmp() upon removing, too?
Or am I making dangerous assumptions that are not so smart in the end? I
might be spoiled by too much comfort.
gilzad
Gesendet: Freitag, 18. März 2016 um 22:33 Uhr
Von: MohanR
HI,
I screwed-up that comment. sorry for that. I tried to upload a new
version of that page, but wiki says I'm not allowed. Please help to
update that page.
int main(string[] args) {
List<string> list0 = new List<string>();
List<unowned string> list1 = new List<unowned string>();
list0.append("helloworld"); /* g_strdup() takes place */
list1.append("helloworld"); /* no g_strdup() */
stdout.printf("list0.length=%u, list1.length=%u\n",
list0.length(), /* length=1 */
list1.length()); /* length=1 */
list0.remove("helloworld"); /* wont work as expected */
list1.remove("helloworld"); /* works as expected */
stdout.printf("list0.length=%u, list1.length=%u\n",
list0.length(), /* still length=1 */
list1.length()); /* length=0 */
list0.delete_link(list0.find_custom("helloworld", strcmp));
stdout.printf("list0.length=%u, list1.length=%u\n",
list0.length(), /* length=0 */
list1.length()); /* length=0 */
return 0;
}
Thanks,
Mohan R
On Fri, 2016-03-18 at 20:37 +0100, Luca Bruno wrote:
Hi,
thanks a lot for your contribution. The wiki is open, you can
register and edit it freely! :)
Also pay attention to the comment about "how" and "how". In C, they
are equivalent because those are const strings and have the same
address. But with List<string> they get copied. However with
List<unowned string> they would be equal. It would be better if you
could reword that comment about pointing to the ownership of the List
elements
On Fri, Mar 18, 2016 at 8:26 PM, MohanR <mohan43u gmail com> wrote:
Hi,
I'm a beginner in vala. I would like to add the following example
to
this wiki link to make other beginners understand important thing
about
List<string>.
https://wiki.gnome.org/Projects/Vala/ListSample
int main(string[] args) {
List<string> mylist = new List<string>();
mylist.append("hi");
mylist.append("how");
mylist.append("are");
mylist.append("you");
/* prints length: 4 */
stdout.printf("length: %u\n", mylist.length());
/* following wont work as expected because in
* C universe, "how" and "how" is not equal
*/
mylist.remove("how");
/* still prints length: 4 */
stdout.printf("length: %u\n", mylist.length());
/* works because "how" and "how" is equal
* according to strcmp()
*/
mylist.remove_link(mylist.find_custom("how", strcmp));
/* prints length: 3 */
stdout.printf("length: %u\n", mylist.length());
return 0;
}
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
--
NixOS Linux
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]