基础入门
注释
// 这是单行注释
_console.log("hello") // 这也是单行注释
/* 多行注释
可以跨越两行 */
_console.log("hello") /* 多行注释
也可以放在行尾 */
_console.log(1 /* 一 */ + 2 /* 二 */)
// 这是单行注释
$console.log("hello") // 这也是单行注释
/* 多行注释
可以跨越两行 */
$console.log("hello") /* 多行注释
也可以放在行尾 */
$console.log(1 /* 一 */ + 2 /* 二 */)
// 这是单行注释
$console.log("hello") // 这也是单行注释
/* 多行注释
可以跨越两行 */
$console.log("hello") /* 多行注释
也可以放在行尾 */
$console.log(1 /* 一 */ + 2 /* 二 */)
-- 这是单行注释
_console:log("hello") -- 这也是单行注释
--[[ 多行注释
可以跨越两行 ]]
_console:log("hello") --[[ 多行注释
也可以放在行尾 ]]
_console:log(1 --[[ 一 ]] + 2 --[[ 二 ]])
<?php
// 这是单行注释
$console->log("hello"); // 这也是单行注释
/* 多行注释
可以跨越两行 */
$console->log("hello"); /* 多行注释
也可以放在行尾 */
$console->log(1 /* 一 */ + 2 /* 二 */);
# 这是单行注释
_console.log("hello") # 这也是单行注释
''' 多行注释使用三个单引号
可以跨越两行 '''
_console.log("hello")
""" 多行注释使用三个双引号
可以跨越两行 """
_console.log(1 + 2)
# 这是单行注释
$console.log("hello") # 这也是单行注释
=begin 多行注释
可以跨越两行
=end
$console.log("hello")
$console.log(1 + 2)
变量
val x = 10
$console.log(x)
def x = 10
$console.log(x)
let x = 10
$console.log(x)
local x = 10
_console:log(x)
<?php
$x = 10;
$console->log($x);
x = 10
_console.log(x)
x = 10
$console.log(x)
操作符
// + 加法
val a = 10
val b = 2
_console.assertTrue(a + b == 12, "a + b == 12")
// - 减法
_console.assertTrue(a - b == 8, "a - b == 8")
// * 乘法
_console.assertTrue(a * b == 20, "a * b == 20")
// / 除法
_console.assertTrue(a / b == 5, "a / b == 5")
// % 取模
_console.assertTrue(a % b == 0, "a % b == 0")
// Math.pow() 幂运算
_console.assertTrue(Math.pow(a.toDouble(), b.toDouble()) == 100.0, "Math.pow(a.toDouble(), b.toDouble()) == 100")
// == 相等
_console.assertFalse(a == b, "a == b")
// != 不等
_console.assertTrue(a != b, "a != b")
// < 小于
_console.assertFalse(a < b, "a < b")
// <= 小于等于
_console.assertFalse(a <= b, "a <= b")
// > 大于
_console.assertTrue(a > b, "a > b")
// >= 大于等于
_console.assertTrue(a >= b, "a >= b")
val c = true
val d = false
// && 逻辑与
_console.assertFalse(c && d, "c && d")
// || 逻辑或
_console.assertTrue(c || d, "c || d")
// ! 逻辑非
_console.assertFalse(!c, "!c")
_console.assertTrue(!d, "!d")
// + 加法
def a = 10
def b = 2
$console.assertTrue(a + b == 12, "a + b == 12")
// - 减法
$console.assertTrue(a - b == 8, "a - b == 8")
// * 乘法
$console.assertTrue(a * b == 20, "a * b == 20")
// / 除法
$console.assertTrue(a / b == 5, "a / b == 5")
// % 取模
$console.assertTrue(a % b == 0, "a % b == 0")
// ** 幂运算
$console.assertTrue(a**b == 100, "a ** b == 100")
// == 相等
$console.assertFalse(a == b, "a == b")
// != 不等
$console.assertTrue(a != b, "a != b")
// < 小于
$console.assertFalse(a < b, "a < b")
// <= 小于等于
$console.assertFalse(a <= b, "a <= b")
// > 大于
$console.assertTrue(a > b, "a > b")
// >= 大于等于
$console.assertTrue(a >= b, "a >= b")
def c = true
def d = false
// && 逻辑与
$console.assertFalse(c && d, "c && d")
// || 逻辑或
$console.assertTrue(c || d, "c || d")
// ! 逻辑非
$console.assertFalse(!c, "!c")
$console.assertTrue(!d, "!d")
// + 加法
let a = 10
let b = 2
$console.assertTrue(a + b == 12, "a + b == 12")
// - 减法
$console.assertTrue(a - b == 8, "a - b == 8")
// * 乘法
$console.assertTrue(a * b == 20, "a * b == 20")
// / 除法
$console.assertTrue(a / b == 5, "a / b == 5")
// % 取模
$console.assertTrue(a % b == 0, "a % b == 0")
// ** 幂运算
$console.assertTrue(a ** b == 100, "a ** b == 100")
// == 相等
$console.assertFalse(a == b, "a == b")
// != 不等
$console.assertTrue(a != b, "a != b")
// < 小于
$console.assertFalse(a < b, "a < b")
// <= 小于等于
$console.assertFalse(a <= b, "a <= b")
// > 大于
$console.assertTrue(a > b, "a > b")
// >= 大于等于
$console.assertTrue(a >= b, "a >= b")
let c = true
let d = false
// && 逻辑与
$console.assertFalse(c && d, "c && d")
// || 逻辑或
$console.assertTrue(c || d, "c || d")
// ! 逻辑非
$console.assertFalse(!c, "!c")
$console.assertTrue(!d, "!d")
-- + 加法
local a = 10
local b = 2
_console:assertTrue(a + b == 12, "a + b == 12")
-- - 减法
_console:assertTrue(a - b == 8, "a - b == 8")
-- * 乘法
_console:assertTrue(a * b == 20, "a * b == 20")
-- / 除法
_console:assertTrue(a / b == 5, "a / b == 5")
-- % 取模
_console:assertTrue(a % b == 0, "a % b == 0")
-- ^ 幂运算
_console:assertTrue(a ^ b == 100, "a ^ b == 100")
-- == 相等
_console:assertFalse(a == b, "a == b")
-- ~= 不等
_console:assertTrue(a ~= b, "a ~= b")
-- < 小于
_console:assertFalse(a < b, "a < b")
-- <= 小于等于
_console:assertFalse(a <= b, "a <= b")
-- > 大于
_console:assertTrue(a > b, "a > b")
-- >= 大于等于
_console:assertTrue(a >= b, "a >= b")
local c = true
local d = false
-- and 逻辑与
_console:assertFalse(c and d, "c and d")
-- or 逻辑或
_console:assertTrue(c or d, "c or d")
-- not 逻辑非
_console:assertFalse(not c, "not c")
_console:assertTrue(not d, "not d")
<?php
// + 加法
$a = 10;
$b = 2;
$console->assertTrue($a + $b == 12, "a + b == 12");
// - 减法
$console->assertTrue($a - $b == 8, "a - b == 8");
// * 乘法
$console->assertTrue($a * $b == 20, "a * b == 20");
// / 除法
$console->assertTrue($a / $b == 5, "a / b == 5");
// % 取模
$console->assertTrue($a % $b == 0, "a % b == 0");
// pow() 幂运算
$console->assertTrue(pow($a, $b) == 100, "pow(a, b) == 100");
// == 相等
$console->assertFalse($a == $b, "a == b");
// != 不等
$console->assertTrue($a != $b, "a != b");
// < 小于
$console->assertFalse($a < $b, "a < b");
// <= 小于等于
$console->assertFalse($a <= $b, "a <= b");
// > 大于
$console->assertTrue($a > $b, "a > b");
// >= 大于等于
$console->assertTrue($a >= $b, "a >= b");
$c = true;
$d = false;
// && 逻辑与
$console->assertFalse($c && $d, "c && d");
// || 逻辑或
$console->assertTrue($c || $d, "c || d");
// ! 逻辑非
$console->assertFalse(!$c, "!c");
$console->assertTrue(!$d, "!d");
# + 加法
a = 10
b = 2
_console.assertTrue(a + b == 12, "a + b == 12")
# - 减法
_console.assertTrue(a - b == 8, "a - b == 8")
# * 乘法
_console.assertTrue(a * b == 20, "a * b == 20")
# / 除法
_console.assertTrue(a / b == 5, "a / b == 5")
# % 取模
_console.assertTrue(a % b == 0, "a % b == 0")
# ** 幂运算
_console.assertTrue(a ** b == 100, "a ** b == 100")
# == 相等
_console.assertFalse(a == b, "a == b")
# != 不等
_console.assertTrue(a != b, "a != b")
# < 小于
_console.assertFalse(a < b, "a < b")
# <= 小于等于
_console.assertFalse(a <= b, "a <= b")
# > 大于
_console.assertTrue(a > b, "a > b")
# >= 大于等于
_console.assertTrue(a >= b, "a >= b")
c = True
d = False
# and 逻辑与
_console.assertFalse(c and d, "c and d")
# or 逻辑或
_console.assertTrue(c or d, "c or d")
# not 逻辑非
_console.assertFalse(not c, "not c")
_console.assertTrue(not d, "not d")
# + 加法
a = 10
b = 2
$console.assertTrue(a + b == 12, "a + b == 12")
# - 减法
$console.assertTrue(a - b == 8, "a - b == 8")
# * 乘法
$console.assertTrue(a * b == 20, "a * b == 20")
# / 除法
$console.assertTrue(a / b == 5, "a / b == 5")
# % 取模
$console.assertTrue(a % b == 0, "a % b == 0")
# ** 幂运算
$console.assertTrue(a ** b == 100, "a ** b == 100")
# == 相等
$console.assertFalse(a == b, "a == b")
# != 不等
$console.assertTrue(a != b, "a != b")
# < 小于
$console.assertFalse(a < b, "a < b")
# <= 小于等于
$console.assertFalse(a <= b, "a <= b")
# > 大于
$console.assertTrue(a > b, "a > b")
# >= 大于等于
$console.assertTrue(a >= b, "a >= b")
c = true
d = false
# && 逻辑与
$console.assertFalse(c && d, "c && d")
# || 逻辑或
$console.assertTrue(c || d, "c || d")
# ! 逻辑非
$console.assertFalse(!c, "!c")
$console.assertTrue(!d, "!d")
函数
// 定义函数
fun sum(a: Int, b: Int): Int {
return a + b
}
// 调用函数
_console.log(sum(1, 2))
// 定义函数
def sum(int a, int b) {
return a + b
}
// 调用函数
$console.log(sum(1, 2))
// 定义函数
function sum(a, b) {
return a + b
}
// 调用函数
$console.log(sum(1, 2))
-- 定义函数
local function sum(a, b)
return a + b
end
-- 调用函数
_console:log(sum(1, 2))
<?php
// 定义函数
function sum($a, $b)
{
return $a + $b;
}
// 调用函数
$console->log(sum(1, 2));
# 定义函数
def sum(a, b):
return a + b
# 调用函数
_console.log(sum(1, 2))
# 定义函数
def sum(a, b)
a + b
end
# 调用函数
$console.log(sum(1, 2))
条件
val x = 55
var level = _branches.ifElse {
add({ x >= 90 && x < 100 }) { "优秀" }
add({ x >= 80 && x < 90 }) { "好" }
add({ x >= 70 && x < 80 }) { "良" }
add({ x >= 60 && x < 70 }) { "及格" }
addDefault { "不及格" }
}
_console.log(level)
level = _branches.switchCase(85) {
add({ it!! >= 90 && it!! < 100 }) { "优秀" }
add({ it!! >= 80 && it!! < 90 }) { "好" }
add({ it!! >= 70 && it!! < 80 }) { "良" }
add({ it!! >= 60 && it!! < 70 }) { "及格" }
addDefault { "不及格" }
}
_console.log(level)
def x = 55
def level = $branches.ifElse {
add({ x >= 90 && x < 100 }) { "优秀" }
add({ x >= 80 && x < 90 }) { "好" }
add({ x >= 70 && x < 80 }) { "良" }
add({ x >= 60 && x < 70 }) { "及格" }
addDefault { "不及格" }
}
$console.log(level)
level = $branches.switchCase(85) {
add({ it >= 90 && it < 100 }) { "优秀" }
add({ it >= 80 && it < 90 }) { "好" }
add({ it >= 70 && it < 80 }) { "良" }
add({ it >= 60 && it < 70 }) { "及格" }
addDefault { "不及格" }
}
$console.log(level)
let x = 55
let level = $branches.ifElse((ifElse) => {
ifElse.add(() => {
return x >= 90 && x < 100
}, () => {
return "优秀"
})
ifElse.add(() => {
return x >= 80 && x < 90
}, () => {
return "好"
})
ifElse.add(() => {
return x >= 70 && x < 80
}, () => {
return "良"
})
ifElse.add(() => {
return x >= 60 && x < 70
}, () => {
return "及格"
})
ifElse.addDefault(() => {
return "不及格"
})
})
$console.log(level)
level = $branches.switchCase(85, (switchCase) => {
switchCase.add((it) => {
return it >= 90 && it < 100
}, () => {
return "优秀"
})
switchCase.add((it) => {
return it >= 80 && it < 90
}, () => {
return "好"
})
switchCase.add((it) => {
return it >= 70 && it < 80
}, () => {
return "良"
})
switchCase.add((it) => {
return it >= 60 && it < 70
}, () => {
return "及格"
})
switchCase.addDefault(() => {
return "不及格"
})
})
$console.log(level)
local x = 55
local level = _branches:ifElse(function(ifElse)
ifElse:add(function()
return x >= 90 and x < 100
end, function()
return "优秀"
end)
ifElse:add(function()
return x >= 80 and x < 90
end, function()
return "好"
end)
ifElse:add(function()
return x >= 70 and x < 80
end, function()
return "良"
end)
ifElse:add(function()
return x >= 60 and x < 70
end, function()
return "及格"
end)
ifElse:addDefault(function()
return "不及格"
end)
end)
_console:log(level)
level = _branches:switchCase(85, function(ifElse)
ifElse:add(function(it)
return it >= 90 and it < 100
end, function()
return "优秀"
end)
ifElse:add(function(it)
return it >= 80 and it < 90
end, function()
return "好"
end)
ifElse:add(function(it)
return it >= 70 and it < 80
end, function()
return "良"
end)
ifElse:add(function(it)
return it >= 60 and it < 70
end, function()
return "及格"
end)
ifElse:addDefault { "不及格" }
end)
_console:log(level)
<?php
$x = 55;
$level = $branches->ifElse(function ($ifElse) use ($x) {
$ifElse->add(function () use ($x) {
return $x >= 90 && $x < 100;
}, function () {
return "A";
});
$ifElse->add(function () use ($x) {
return $x >= 80 && $x < 90;
}, function () {
return "B";
});
$ifElse->add(function () use ($x) {
return $x >= 70 && $x < 80;
}, function () {
return "C";
});
$ifElse->add(function () use ($x) {
return $x >= 60 && $x < 70;
}, function () {
return "D";
});
$ifElse->addDefault(function () {
return "E";
});
});
$console->log($level);
$level = $branches->switchCase(85, function ($switchCase) {
$switchCase->add(function ($it) {
return $it >= 90 && $it < 100;
}, function () {
return "A";
});
$switchCase->add(function ($it) {
return $it >= 80 && $it < 90;
}, function () {
return "B";
});
$switchCase->add(function ($it) {
return $it >= 70 && $it < 80;
}, function () {
return "C";
});
$switchCase->add(function ($it) {
return $it >= 60 && $it < 70;
}, function () {
return "D";
});
$switchCase->addDefault(function () {
return "E";
});
});
$console->log($level);
x = 55
def fn(ifElse):
ifElse.add(lambda: 90 <= x < 100, lambda: "优秀")
ifElse.add(lambda: 80 <= x < 90, lambda: "好")
ifElse.add(lambda: 70 <= x < 80, lambda: "良")
ifElse.add(lambda: 60 <= x < 70, lambda: "及格")
ifElse.addDefault(lambda: "不及格")
level = _branches.ifElse(fn)
_console.log(level)
def fn(ifElse):
ifElse.add(lambda it: 90 <= it < 100, lambda it: "优秀")
ifElse.add(lambda it: 80 <= it < 90, lambda it: "好")
ifElse.add(lambda it: 70 <= it < 80, lambda it: "良")
ifElse.add(lambda it: 60 <= it < 70, lambda it: "及格")
ifElse.addDefault(lambda it: "不及格")
level = _branches.switchCase(85, fn)
_console.log(level)
# encoding: utf-8
x = 55
level = $branches.ifElse { |ifElse|
ifElse.add(lambda { x >= 90 && x < 100 }) { "优秀" }
ifElse.add(lambda { x >= 80 && x < 90 }) { "好" }
ifElse.add(lambda { x >= 70 && x < 80 }) { "良" }
ifElse.add(lambda { x >= 60 && x < 70 }) { "及格" }
ifElse.addDefault { "不及格" }
}
$console.log(level)
level = $branches.switchCase(85) { |ifElse|
ifElse.add(lambda { |it| it >= 90 && it < 100 }) { "优秀" }
ifElse.add(lambda { |it| it >= 80 && it < 90 }) { "好" }
ifElse.add(lambda { |it| it >= 70 && it < 80 }) { "良" }
ifElse.add(lambda { |it| it >= 60 && it < 70 }) { "及格" }
ifElse.addDefault { |it| "不及格" }
}
$console.log(level)
循环
_loops.loop {
var i = 0
setCondition { i < 10 }
setBody {
_console.log(i)
i++
}
}
$loops.loop {
def i = 0
setCondition { i < 10 }
setBody {
$console.log(i)
i++
}
}
$loops.loop((l) => {
let i = 0
l.setCondition(() => i < 10)
l.setBody(() => {
$console.log(i)
i++
})
})
_loops:loop(function(l)
local i = 0
l:setCondition(function()
return i < 10
end)
l:setBody(function()
_console:log(i)
i = i + 1
end)
end)
<?php
$loops->loop(function ($l) use ($console) {
$i = 0;
$l->setCondition(function () use (&$i) {
return $i < 10;
});
$l->setBody(function () use (&$i, $console) {
$console->log($i);
$i++;
});
});
def fn(loop):
i = 0
loop.setCondition(lambda: i < 10)
def fn1():
nonlocal i
_console.log(i)
i = i + 1
loop.setBody(fn1)
_loops.loop(fn)
$loops.loop { |loop|
i = 0
loop.setCondition { i < 10 }
loop.setBody {
$console.log(i)
i = i + 1
}
}
Last modified: 29 April 2025