Update page 'Future AerScript Versions'

2019-05-16 12:32:32 +02:00
父節點 5142428c3a
當前提交 af11cb5f7a

@@ -12,6 +12,16 @@ A right associative \** operator can be added to support exponentiation, along w
printf("2 ** 3 = %d\n", 2 ** 3); // 8
printf("2 ** 3 ** 2 = %d\n", 2 ** 3 ** 2); // 512
### NULL coalescing operator
The ___??___ operator should return the left side as long as it's not null, in that case the right side would be returned.
int function() {
$someValue = $this->GetValue();
$defaultValue = 23;
//result will be 23 if $someValue is NULL
return $someValue ?? $defaultValue;
}
### AUTO keyword
Variables that are declared at method/closure scope could have an implicit type ___auto___. An implicitly typed local variable should be strongly typed just as if programmer had declared the type himself, but the compiler determines the type.
@@ -40,16 +50,6 @@ The is operator could be used to check if the run-time type of an object is comp
}
}
### NULL coalescing operator
The ___??___ operator should return the left side as long as it's not null, in that case the right side would be returned.
int function() {
$someValue = $this->GetValue();
$defaultValue = 23;
//result will be 23 if $someValue is NULL
return $someValue ?? $defaultValue;
}
### Operator overloading
It should be possible to redeclare or overload most of the built-in operators available in AerScript. Thus a programmer could use operators with user-defined object types as well. Overloaded operators are functions with special names the keyword operator followed by the symbol for the operator being defined. similar to any other function, an overloaded operator has a return type and a parameter list.