M8Test Help

基础入门

注释

// 这是单行注释 _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 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