Re: [Vala] request to add another example to Projects/Vala/ListExample



##SELECTION_END##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 they get copied. However with
List 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]