From af11cb5f7a04e4b10fd97f21cd44a8fc076b5264 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Thu, 16 May 2019 12:32:32 +0200 Subject: [PATCH] Update page 'Future AerScript Versions' --- Future-AerScript-Versions.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Future-AerScript-Versions.md b/Future-AerScript-Versions.md index 42f596f..00f2c91 100644 --- a/Future-AerScript-Versions.md +++ b/Future-AerScript-Versions.md @@ -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.