Several new .vala files added

This commit is contained in:
Kolan Sh 2014-07-03 18:49:05 +04:00
parent 9484352886
commit 34681ba929
5 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,18 @@
void main () {
var l = new Gee.ArrayList<string> ();
for (var i = 0; i < 8; ++i)
l.add (i.to_string ());
var it = l.bidir_list_iterator (),
it2 = l.bidir_list_iterator ();
it2.first ();
for (var has_next = it.first (); has_next; has_next = it.next ()) {
it2 = it;//.set (it.index ());
var it3 = it2.copy ();
stdout.printf ("%s", it2.get ());
stdout.printf (" ");
stdout.printf ("%lu %lu", (ulong)it, (ulong)it2);
stdout.printf ("\n");
}
}

View File

@ -0,0 +1,26 @@
class Base : Object {
public int field;
public Base () {
field = 5;
}
}
class Child : Base {
}
void main () {
var b = new Base ();
var c = new Child ();
stdout.printf ("%d\n", c.field);
//Error *err;
//stdout.printf ("%s\n", err->message);
string s = "Hello, world!";
stdout.printf ("%s\n", s[7:s.length]);
for (var i = 0; s[i] != '\0' ; ++i) {
stdout.putc (s[i]);
}
stdout.putc ('\n');
}

40
vala/strdup/strdup.vala Normal file
View File

@ -0,0 +1,40 @@
class Foo {
public unowned string s = "";
}
public int main () {
var s = "Hello, world!";
var foo = new Foo ();
foo.s = s;
//string tmps = s[0:5];
unowned string tmps = (string)((char*)s + 3);
((char *)s)[3] = 'A';
stdout.printf ("%s\n", s);
stdout.printf ("%s\n", foo.s);
stdout.printf ("%s\n", tmps);
stdout.printf ("%s\n", tmps[0:1]);
stdout.printf ("%s\n", tmps.ndup (1));
stdout.printf ("%s\n", tmps.substring (2, 3));
stdout.printf ("%s\n", tmps[2:3]);
stdout.printf ("%s\n", tmps.chr (100, 'o'));
//stdout.printf ("%s\n", Posix.strchr (tmps, 'o'));
print ("----\n");
stdout.printf ("%s\n", tmps);
stdout.printf ("%s\n", tmps.offset (3)[0:-1]);
for (var i = 0, max_i = tmps.length; i < max_i; ++i)
stdout.printf ("%c", tmps[i]);
stdout.printf ("\n");
stdout.printf ("%p = '%s'[%u]\n", tmps.offset (100), tmps.offset (100), tmps.offset (100).length);
return 0;
}

View File

@ -0,0 +1,19 @@
void main () {
var i = 5;
switch (i) {
case 5:
if (i == 5) {
stdout.printf ("first case\n");
break;
}
stdout.printf ("after break\n");
break;
case 6:
stdout.printf ("second case\n");
break;
default:
break;
}
}

View File

@ -0,0 +1,65 @@
class Foo {
public void f () {
stdout.printf ("Hello, world!\n");
}
}
Foo? newf () {
return new Foo ();
}
void fff (string [] s) {
stdout.printf ("%s\n", s[0]);
}
class AA11 {
public enum Enum1 {
E1 = 1,
E2 = 2
}
public uint i;
public string s { get; set; default = "AA11"; }
public Enum1 enum1 { get; set; default = Enum1.E2; }
}
class BB11 {
public AA11 aa11 = new AA11 ();
public List<int> list = new List<int> ();
public Node<int> node = new Node<int> ();
public Gee.ArrayList<int> alist { get; set; default = new Gee.ArrayList<int> (); }
}
void main () {
var foo = newf ();
foo.f();
string [] s = {"Unowned string"};
unowned string [] us = s;
fff (us);
string str = "Hello, world!";
stdout.printf ("%s\n", str.substring(3));
var a = new AA11 ();
stdout.printf ("-----------\n");
stdout.printf ("%s, %u, %u\n", a.s, a.i, a.enum1);
var b = new BB11 ();
stdout.printf ("-----------\n");
stdout.printf ("%s, %u, %u\n", b.aa11.s, b.aa11.i, b.aa11.enum1);
b.list.append (3);
b.list.append (3);
b.list.append (3);
b.list.append (3);
b.node.insert (0, new Node<int> (3));
b.node.insert (0, new Node<int> (3));
stdout.printf ("%u\n", b.alist.size);
stdout.printf ("%u, %u\n", b.list.length(), b.node.n_nodes(TraverseFlags.ALL));
List<int> l = new List<int> ();
l.append (3);
var tmp = "";
}