Update README.md file
This commit is contained in:
parent
e72d8835f8
commit
fbe3d1ef84
80
README.md
80
README.md
|
|
@ -54,35 +54,57 @@ Animal/Dog -> [Mammal, Domesticated] {
|
|||
|
||||
#### Function declaration
|
||||
|
||||
##### Public function
|
||||
##### Public function (+fn)
|
||||
```waddle
|
||||
+fn calculateArea(width: Integer, height: Integer) -> [Decimal] {
|
||||
+fn calculateArea(Integer width, Integer height) -> [Integer] {
|
||||
rtn width.multiply(height);
|
||||
}
|
||||
```
|
||||
|
||||
##### Protected Function
|
||||
##### Protected Function (fn)
|
||||
```waddle
|
||||
fn calculateArea(width: Integer, height: Integer) -> [Decimal] {
|
||||
fn calculateArea(Integer width, Integer height) -> [Integer] {
|
||||
rtn width.multiply(height);
|
||||
}
|
||||
```
|
||||
|
||||
##### Private Function
|
||||
##### Private Function (-fn)
|
||||
```waddle
|
||||
-fn calculateArea(width: Integer, height: Integer) -> [Decimal] {
|
||||
-fn calculateArea(Integer width, Integer height) -> [Integer] {
|
||||
rtn width.multiply(height);
|
||||
}
|
||||
```
|
||||
|
||||
#### Default Values
|
||||
```waddle
|
||||
fn calculateArea(Integer width.default(0), Integer height.default(0)) -> [Integer] {
|
||||
rtn width.multiply(height);
|
||||
}
|
||||
```
|
||||
|
||||
##### Lambda expression
|
||||
```waddle
|
||||
areaCalculator = fn(width: Integer, height: Integer) -> [Decimal] {
|
||||
areaCalculator = fn(Integer width, Integer height) -> [Integer] {
|
||||
rtn width.multiply(height);
|
||||
}
|
||||
```
|
||||
|
||||
#### Concurrency Function (async)
|
||||
```waddle
|
||||
+proc fetchData(String url) -> [String] {
|
||||
rtn my.network.get(url);
|
||||
}
|
||||
|
||||
proc fetchData(String url) -> [String] {
|
||||
rtn my.network.get(url);
|
||||
}
|
||||
|
||||
-proc fetchData(String url) -> [String] {
|
||||
rtn my.network.get(url);
|
||||
}
|
||||
```
|
||||
### Error Handling
|
||||
#### Try/Catch (attempt->[ok, error])
|
||||
```waddle
|
||||
result = riskyOperation().attempt {
|
||||
ok {
|
||||
|
|
@ -101,6 +123,29 @@ result = riskyOperation().attempt {
|
|||
}
|
||||
}
|
||||
|
||||
```
|
||||
#### Custom error type declaration
|
||||
```waddle
|
||||
MathError {
|
||||
message: String;
|
||||
errorCode: Integer;
|
||||
}
|
||||
```
|
||||
#### Function with explicit error handling
|
||||
```waddle
|
||||
+fn divide(Integer a, Integer b) -> [Decimal] fails with MathError {
|
||||
if (b.eq(0)) {
|
||||
my.error.fail(MathError("Division by zero", 1));
|
||||
}
|
||||
rtn a.divide(b);
|
||||
}
|
||||
```
|
||||
|
||||
### Resource Management / Context Management
|
||||
```waddle
|
||||
using DatabaseConnection db.set(connectionString) {
|
||||
db.execute(query);
|
||||
}
|
||||
```
|
||||
|
||||
### Iteration
|
||||
|
|
@ -147,6 +192,27 @@ nums.each(
|
|||
|
||||
```
|
||||
|
||||
### Boolean Expressions
|
||||
#### Explicit Boolean Checks
|
||||
```waddle
|
||||
result = Boolean.and(
|
||||
my.age.gt(18),
|
||||
my.status.is(Verified)
|
||||
);
|
||||
```
|
||||
#### Object Method Boolean Checks
|
||||
```waddle
|
||||
if(my.age.gt(18).and(my.status.is(Verified))){
|
||||
my.age.gt(18),
|
||||
my.status.is(Verified)
|
||||
}
|
||||
```
|
||||
|
||||
### Explicit Type Conversion
|
||||
```waddle
|
||||
String myString.set(my.number.set(42).as(String));
|
||||
```
|
||||
|
||||
## Type System
|
||||
|
||||
### Primitive Types
|
||||
|
|
|
|||
Loading…
Reference in a new issue