M8Test Help

setData

package com.example.script _console.log("kotlin") _scriptEngine.startFile { val file = _files.buildFile { setRelativePath("res", "sub.kts") } setFile(file) setLanguage { setName("Kotlin") setUrl("https://github.com/m8test/language-release/releases/download/kotlin-0.1.0/com.m8test.kotlin-release_0.1.0.apk") setVersion("0.1.0") } setStandalone(false) } _scriptEngine.startFile { val file = _files.buildFile { setRelativePath("res", "standalone.kts") } setFile(file) setLanguage { setName("Kotlin") setUrl("https://github.com/m8test/language-release/releases/download/kotlin-0.1.0/com.m8test.kotlin-release_0.1.0.apk") setVersion("0.1.0") } setStandalone(true) } val mainThread = _script.getThreads().getMain()!! val timer = mainThread.getTimer()!! timer.setTimeout({ val publisher = _events.getPublisher() publisher.publishLocally({ setChannel("subscription channel") setId("subscription id") }) { setData("本地事件") } publisher.publishGlobally({ setChannel("subscription channel") setId("subscription id") }) { setData("全局事件") } }, 3000)
package com.example.script $console.log("groovy") $scriptEngine.startFile { def file = $files.buildFile { setRelativePath("res", "sub.groovy") } setFile(file) setLanguage { setName("Groovy") setUrl("https://github.com/m8test/language-release/releases/download/groovy-0.1.0/com.m8test.groovy-release_0.1.0.apk") setVersion("0.1.0") } setStandalone(false) } $scriptEngine.startFile { def file = $files.buildFile { setRelativePath("res", "standalone.groovy") } setFile(file) setLanguage { setName("Groovy") setUrl("https://github.com/m8test/language-release/releases/download/groovy-0.1.0/com.m8test.groovy-release_0.1.0.apk") setVersion("0.1.0") } setStandalone(true) } def mainThread = $script.getThreads().getMain() def timer = mainThread.getTimer() timer.setTimeout({ def publisher = $events.getPublisher() publisher.publishLocally({ setChannel("subscription channel") setId("subscription id") }) { setData("本地事件") } publisher.publishGlobally({ setChannel("subscription channel") setId("subscription id") }) { setData("全局事件") } }, 3000)
$console.log("javascript") $scriptEngine.startFile((config) => { let file = $files.buildFile((fileBuilder) => { fileBuilder.setRelativePath("res", "sub.js") }) config.setFile(file) config.setLanguage((l) => { l.setName("Javascript") l.setUrl("https://github.com/m8test/language-release/releases/download/javascript-0.1.0/com.m8test.javascript.v8-release_0.1.0.apk") l.setVersion("0.1.0") }) config.setStandalone(false) }) $scriptEngine.startFile((config) => { let file = $files.buildFile((fileBuilder) => { fileBuilder.setRelativePath("res", "standalone.js") }) config.setFile(file) config.setLanguage((l) => { l.setName("Javascript") l.setUrl("https://github.com/m8test/language-release/releases/download/javascript-0.1.0/com.m8test.javascript.v8-release_0.1.0.apk") l.setVersion("0.1.0") }) config.setStandalone(true) }) let mainThread = $script.getThreads().getMain() let timer = mainThread.getTimer() timer.setTimeout(() => { let publisher = $events.getPublisher() publisher.publishLocally((subscription) => { subscription.setChannel("subscription channel") subscription.setId("subscription id") }, (event) => { event.setData("本地事件") }) publisher.publishGlobally((subscription) => { subscription.setChannel("subscription channel") subscription.setId("subscription id") }, (event) => { event.setData("全局事件") }) }, 3000)
_console:log("lua") _scriptEngine:startFile(function(config) local file = _files:buildFile(function(fileBuilder) fileBuilder:setRelativePath("res", "sub.lua") end) config:setFile(file) config:setLanguage(function(l) l:setName("Lua") l:setUrl("https://github.com/m8test/language-release/releases/download/lua-0.1.0/com.m8test.lua-release_0.1.0.apk") l:setVersion("0.1.0") end) config:setStandalone(false) end) _scriptEngine:startFile(function(config) local file = _files:buildFile(function(fileBuilder) fileBuilder:setRelativePath("res", "standalone.lua") end) config:setFile(file) config:setLanguage(function(l) l:setName("Lua") l:setUrl("https://github.com/m8test/language-release/releases/download/lua-0.1.0/com.m8test.lua-release_0.1.0.apk") l:setVersion("0.1.0") end) config:setStandalone(true) end) local mainThread = _script:getThreads():getMain() local timer = mainThread:getTimer() timer:setTimeout(function() local publisher = _events:getPublisher() publisher:publishLocally(function(subscription) subscription:setChannel("subscription channel") subscription:setId("subscription id") end, function(e) e:setData("本地事件") end) publisher:publishGlobally(function(subscription) subscription:setChannel("subscription channel") subscription:setId("subscription id") end, function(e) e:setData("全局事件") end) end, 3000)
<?php $console->log("php"); $scriptEngine->startFile(function ($config) use ($files) { $file = $files->buildFile(function ($fileBuilder) { $fileBuilder->setRelativePath("res", "sub.php"); }); $config->setFile($file); $config->setLanguage(function ($l) { $l->setName("Php"); $l->setUrl("https://github.com/m8test/language-release/releases/download/php-0.1.0/com.m8test.php-release_0.1.0.apk"); $l->setVersion("0.1.0"); }); $config->setStandalone(false); }); $scriptEngine->startFile(function ($config) use ($files) { $file = $files->buildFile(function ($fileBuilder) { $fileBuilder->setRelativePath("res", "standalone.php"); }); $config->setFile($file); $config->setLanguage(function ($l) { $l->setName("Php"); $l->setUrl("https://github.com/m8test/language-release/releases/download/php-0.1.0/com.m8test.php-release_0.1.0.apk"); $l->setVersion("0.1.0"); }); $config->setStandalone(true); }); $mainThread = $script->getThreads()->getMain(); $timer = $mainThread->getTimer(); $timer->setTimeout(function () use ($events) { $publisher = $events->getPublisher(); $publisher->publishLocally(function ($subscription) { $subscription->setChannel("subscription channel"); $subscription->setId("subscription id"); }, function ($e) { $e->setData("本地事件"); }); $publisher->publishGlobally(function ($subscription) { $subscription->setChannel("subscription channel"); $subscription->setId("subscription id"); }, function ($e) { $e->setData("全局事件"); }); }, 3000);
_console.log("python") def fn1(config): def fn2(fileBuilder): fileBuilder.setRelativePath("res", "sub.py") file = _files.buildFile(fn2) config.setFile(file) def fn3(l): l.setName("Python") l.setUrl("https://github.com/m8test/language-release/releases/download/python-0.1.0/com.m8test.python-release_0.1.0.apk") l.setVersion("0.1.0") config.setLanguage(fn3) config.setStandalone(False) _scriptEngine.startFile(fn1) def fn4(config): def fn5(fileBuilder): fileBuilder.setRelativePath("res", "standalone.py") file = _files.buildFile(fn5) config.setFile(file) def fn6(l): l.setName("Python") l.setUrl("https://github.com/m8test/language-release/releases/download/python-0.1.0/com.m8test.python-release_0.1.0.apk") l.setVersion("0.1.0") config.setLanguage(fn6) config.setStandalone(True) _scriptEngine.startFile(fn4) mainThread = _script.getThreads().getMain() timer = mainThread.getTimer() def fn7(params): publisher = _events.getPublisher() def fn8(subscription): subscription.setChannel("subscription channel") subscription.setId("subscription id") def fn9(e): e.setData("本地事件") publisher.publishLocally(fn8, fn9) def fn10(subscription): subscription.setChannel("subscription channel") subscription.setId("subscription id") def fn11(e): e.setData("全局事件") publisher.publishGlobally(fn10, fn11) timer.setTimeout(fn7, 3000)
# encoding: utf-8 $console.log("ruby") $scriptEngine.startFile { |config| file = $files.buildFile { |fileBuilder| fileBuilder.setRelativePath("res", "sub.rb") } config.setFile(file) config.setLanguage { |l| l.setName("Ruby") l.setUrl("https://github.com/m8test/language-release/releases/download/ruby-0.1.0/com.m8test.ruby-release_0.1.0.apk") l.setVersion("0.1.0") } config.setStandalone(false) } $scriptEngine.startFile { |config| file = $files.buildFile { |fileBuilder| fileBuilder.setRelativePath("res", "standalone.rb") } config.setFile(file) config.setLanguage { |l| l.setName("Ruby") l.setUrl("https://github.com/m8test/language-release/releases/download/ruby-0.1.0/com.m8test.ruby-release_0.1.0.apk") l.setVersion("0.1.0") } config.setStandalone(true) } mainThread = $script.getThreads().getMain() timer = mainThread.getTimer() timer.setTimeout(lambda { |params| publisher = $events.getPublisher() publisher.publishLocally(lambda { |subscription| subscription.setChannel("subscription channel") subscription.setId("subscription id") }) { |e| e.setData("本地事件") } publisher.publishGlobally(lambda { |subscription| subscription.setChannel("subscription channel") subscription.setId("subscription id") }) { |e| e.setData("全局事件") } }, 3000)
Last modified: 29 April 2025