Παρασκευή 8 Μαρτίου 2019

Revision 6 Version 9.8

1. Some fixes on Groups (user object)
In this example, we have a class alfa (is a global function), which have  private z, (also a private [k] as the value behind property k, and a public part with a module kappa and the property k (all properties are public). This property has no set part, so it is read only.
We make a group delta with two private groups, beta and delta of type alfa. (we can use beta=alfa(), and is the only way if we want to push some values for constructor, but here we have no user constructor for alfa class). Delta has a property, kk, which is a group like all properties, and as a group in a group, can't access parent group, except for the hidden variable [kk] and those variables which explicit  use of link parent to get a link to a reference.  Also in a value part of property we have access to final value if we change the value variable. This variable get the value of [kk] and this is the final return (so we can modify it without modified the actual private variable [kk])

So when we print delta.kk, we call value in property kk, where we get references to beta and delta private groups as b and d (we can use same name as beta and delta, they are in different name space), we call module b.kappa  and then we get the b.k and d.k which are properties, so they call value parts and ling to inner private z variable.

class alfa {
private:
 z=2
public:
 module kappa {
  Print "ok"
 }
 property k {
  value {
   link parent z to z
   value*=z
  }
 }=100
}
group delta {
private:
 alfa beta, delta
public:
 property kk {
  value {
   link parent beta to b
   link parent delta to d
   b.kappa
   value=b.k*d.k
  }
 }  
}
Print delta.kk

2. Unsigned literals (0xFFAACC11) now are Currency type. Binary operations also return Currency type. A 0xFFFFFFFF& is a long type (32bit), and 0xFFFF% is an integer type (16bit) (these not changed).

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.