首先,我们需要导入 console 库。这是编写 aardio 控制台程序的第一步:
import console;
使用 console.log()
函数可以轻松地向控制台输出文本:
import console;
console.log("你好,aardio !");
console.pause();
注意:我们在程序末尾添加了
console.pause()
,这会让控制台窗口保持打开状态,直到用户按下任意键。
console.log 函数支持任意个任意类型的参数,并且会调用 tostring 函数将所有参数转换为字符串,所以类似 console.log( tostring( time() ) )
这要写是不必要的,可以直接简写为 console.log( time() )
。
如果要打印对象的细节可以改用 console.dump() 函数,例如:
import console;
//打印表对象
console.dump( { 1,2,3} );
console.pause();
如果要以 JSON 格式显示表内容,可以改用 console.dumpJson 函数,例如:
import console;
//以 JSON 格式打印表对象
console.dumpJson( { 1,2,3} );
console.pause();
注意 console 库的所有输出函数都会自动调用 console.open 函数打开控制台。
在编写简单的示例时,我们也可以用一句 print("你好,aardio !");
实现自动打开控制台并在退出前自动暂停,但 print 提供的功能有限,并且 print 函数可能被应用到 模板 的代码重写。
想要获取用户输入吗?使用 console.getText()
函数:
import console;
var name = console.getText("请输入你的名字: ");
console.log("你好, " ++ name ++ "!");
console.pause();
示例:
//加载动画与进度
import console;
import console.progress;
//显示加载动画
console.showLoading(" 请稍候");
sleep(2000);//模拟耗时操作等待 2 秒
//创建进度条
var bar = console.progress();
//设置进度
for i=1 to 100 {
bar.setProgress(i,i +"% 加载中 ......");
sleep(30)
}
调用 console.showLoading 函数显示加载动画,如果之后再调用 console.log 等控制台输出函数就会自动停止正在显示的加载动画。
如果你想清除控制台中的所有内容,可以使用 console.clearScreen()
:
import console;
console.log("这行文字会被清除");
thread.delay(2000); // 暂停2秒
console.clearScreen();
console.log("屏幕已经被清除了!");
console.pause();
让我们为控制台添加一些色彩!使用 console.setTextColor()
函数:
import console;
console.setTextColor("red");
console.log("这是红色的文字");
console.setTextColor("green");
console.log("这是绿色的文字");
console.setTextColor("blue");
console.log("这是蓝色的文字");
console.pause();
颜色参数可使用 console.color 表中的颜色值(数值)或名称(字符串)。
也可以这样写:
import console;
console.writeColorText("这是红色的文字","red");
console.writeColorText("这是绿色的文字","green");
console.writeColorText("这是红色的文字","blue");
console.pause();
console.writeColorText 与 console.writeText 相同的是都不会在尾部添加换行。
让我们把学到的知识结合起来,创建一个简单的菜单:
import console;
while(true) {
console.clearScreen();
console.log("欢迎使用 aardio 控制台程序!");
console.log("1. 说你好");
console.log("2. 显示当前时间");
console.log("3. 退出");
var choice = console.getText("请选择(1-3): ");
if(choice == "1") {
console.log("你好!");
}
elseif(choice == "2") {
console.log("当前时间: ",time());
}
elseif(choice == "3") {
break;
}
else {
console.log("无效的选择,请重试.");
}
console.more(1);
}
//输出信息并暂停等待任意按键
console.logPause("感谢使用,再见!");
这个例子展示了如何创建一个简单的交互式菜单,结合了我们学到的多个 console 库功能。
console 库也提供了 console.choice 函数可以直接创建控制台菜单,示例:
import console;
。
var choiceIndex,choiceText = console.choice( {
"新建文件";
"打开文件";
"保存文件";
"退出程序";
},"请输入序号:");
console.choice2 函数也可以创建控制台菜单,区别是生成的菜单使用方向键选择,并使用回车键确认,或使用 ESC 键取消选择。
注意:console 库函数有自动打开控制台的功能,但退出线程时必须主动调用
console.pause()
才能暂停控制台。这是因为 console 库在 aardio 中被大量使用,很可能我们在创建线程或子进制时会调用到 console 库,如果默认执行console.pause()
就可能导致不需要的暂停操作( 同样的原因,我们应当避免在写库时直接调用默认具有暂停控制台功能的 print 函数 )。如果需要 console 库在退出时自动暂停(避免控制台自动关闭)则只要将import console
改为import console.int
就可以。