include "hellolib.nolang"; extension "testext" "testclass"; extension "testext" "testen"; class Test { Test { data = {4,5,6}; } dump { print "Test::dump()\n"; int tmp=data[1]; print "Second value: "+tmp+"\n"; print "Whole array: "+data+"\n"; } append(int val) { data << val; } set(array[int] val) { data = val; } int size { return data.size(); } assigntest { data = 1; sdata = "Test"; append(3); int val = size(); // This probably needs some magic... int val2 = size; // Same as above print val+"=="+val2+"\n"; print "Array data values are: "+data+"\n"; print "Array sdata values are: "+sdata+"\n"; } int get(int i) { // Return value must be stated when returning something return data[i]; } mul(int i) { data *= i; // Multiple all values of data with i } mul(int i, int j) { data[i] *= j; // Multiple value of data[i] with j } add(int i) { data += i; // Add i to all values of i } noref(array[int] r) { //r = data; r << 5; } ref(array[int] &r) { //r = data; r << 5; } array[int] data; array[string] sdata; int a; } class Other : Test { Other { otherval = 5; } dumpvalue(int i) { print "Got "+i+"\n"; } dump { int tmp=data[1]; print "Other::dump()\n"; print "Second value: "+tmp+"\n"; print "Whole array: "+data+"\n"; print "Otherval: "+otherval+"\n"; } int otherval; } main() { int32 s; Test t; print "Extended Hello, World "+42+"!\n"; t.append(42); t.dump(); s = t.size(); print "Array size: "+s+"\n"; array[int] j; j = {123,45}; t.set(j); t.dump(); s = t.size(); print "Array size: "+s+"\n"; s = s.size(); print "Int size: "+s+"\n"; s = t.get(1); print "get(1): "+s+"\n"; t.mul(2); t.mul(1,3); t.dump(); s = t.get(1); print "get(1): "+s+"\n"; t.assigntest(); array[int] myarr; myarr = {4,6,8,9,4}; print "Before noref: "+myarr+"\n"; t.noref(myarr); print "After noref: "+myarr+"\n"; t.ref(myarr); print "After ref: "+myarr+"\n"; Other oo; oo.dumpvalue(5); oo.dumpvalue(42); oo.dump(); Other oo2; oo2.append(12); oo2.dump(); hello(); helloNum(12356); testclass tclass; //int r; int r = tclass.adder(1,2,39); print "Result is " + r +"\n"; testen testeni; r = testeni.joo(); print "Result of second is " + r +"\n"; }