- Opa Application Development
- Li Wenbo
- 235字
- 2021-08-20 16:49:38
Functions
Opa is a functional language. One of its features is that functions are regular values, which means a function may be passed as a parameter or returned as a result. As such, they follow the same naming rules as any other value.
function f(x,y){ // function f with the two parameters x and y x + y + 1 } function int f(x,y){ // explicitly indicates the return type x + y + 1 }
Last expression return
You may notice that there is no return inside the body of a function. That's because Opa uses last expression return, which means the last expression of a function is the return value. For example:
function max(x,y){ if(x >= y) x else y }
If x
is greater than or equal to y
, then x
is the last expression and x
will be returned; if y
is greater than x
, then y
is the last expression and y
will be returned.
Modules
Functionalities are usually regrouped into modules; for example:
module M { x = 1 y = x function test(){ jlog("testing") } }
We can access the content of a module by using the dot operator (.
); for instance, M.x
, M.y
, and M.test
. Actually, the content of a module is not field definitions, but bindings. In this example, we bind integer 1
to variable x
, and bind the value of variable x
to variable y
.
- What's New in TensorFlow 2.0
- Designing Hyper-V Solutions
- 21天學(xué)通C++(第6版)
- Big Data Analytics
- HTML5入門經(jīng)典
- Swift語言實(shí)戰(zhàn)精講
- Learning JavaScript Data Structures and Algorithms
- 低代碼平臺開發(fā)實(shí)踐:基于React
- Solutions Architect's Handbook
- AMP:Building Accelerated Mobile Pages
- Java高并發(fā)編程詳解:深入理解并發(fā)核心庫
- Learning Dynamics NAV Patterns
- Computer Vision with Python 3
- 像程序員一樣使用MySQL
- Learning Java Lambdas