0

您能否推荐任何关于 ringojs 的 pf 资源(教程、免费电子书、付费电子书等)。官网和 github 文档仅用于设置目的,请勿粘贴ringojs.orggithub链接。提前感谢

4

2 回答 2

2

这是我为高中初级编程课写的简短介绍。它并不广泛,但足以让某人有一个基本的开始。该文档(请参阅 oberhamsi 的链接)非常适合有经验的开发人员,但新手程序员有时需要更多解释。

我如何用 RingoJS 编写程序?

RingoJS 使用模块来提供功能,例如从键盘读取数据、打印到屏幕、读写文件,甚至网络操作。您可以通过调用require()具有模块名称的函数来在程序中使用模块。这是一个简单的 helloWorld.js 示例:

var system = require("system");
system.stdout.writeLine("hello, world");

这很容易。或者,如果您要在屏幕上写入大量信息,您可以通过直接声明对 stdout 的引用来节省一些输入,如下所示:

var stdout = require("system").stdout;
stdout.writeLine("hello, world");

第二个程序和第一个程序做同样的事情。每种方法都有好处,因此请选择最适合您的程序的方法。当然,您可以像这样进一步自定义代码:

var print = require("system").stdout.writeLine;
print("hello, world");

这是 JavaScript。让你的想象力翱翔。你可以这样做。

如何使用 RingoJS 从键盘读取数据?

系统模块提供了一个名为 的对象stdin,它允许您的程序读取键盘输入。您可以将它与系统stdout对象一起使用来编写执行控制台 I/O 的程序。这是一个名为 helloName.js 的示例程序,它询问用户他们的姓名,然后打招呼:

var main = function()
{
    "use strict";
    var stdout = require("system").stdout;
    var stdin = require("system").stdin;
    stdout.write( "What is your name? " );
    var name = stdin.readLine();
    stdout.writeLine( "Hello, " + name );
}();

数字输入呢?

该函数stdin.readLine()返回一个字符串。您可以通过调用 JavaScript 函数将字符串转换为整数parseInt()。还有一个函数parseFloat()可以将字符串转换为浮点数值变量。试试这个名为 squared.js 的程序,它使用parseInt()

var main = function() {
    "use strict";
    var stdout = require("system").stdout;
    var stdin = require("system").stdin;
    stdout.write( "Enter an integer: " );
    var n = parseInt( stdin.readLine() );
    stdout.writeLine( "n squared is " + (n*n) );
}();

我可以从一行中读取多个输入值吗?

绝对地!JavaScript String 类有一个调用方法split()来完成这项工作。以下示例程序使用 JavaScript 正则表达式将字符串拆分为标记数组。使用正则表达式的好处是即使数字之间有多个空格它也可以工作。正则表达式是一个高级主题,因此如果您不了解 split 命令的该部分是如何工作的,请不要惊慌。只需将此示例隐藏起来,以便在您想从单行输入中读取两条或更多条信息时使用它。

var main = function() {
    "use strict";
    var stdout = require("system").stdout;
    var stdin = require("system").stdin;
    stdout.write( "Enter rectangle height and width: " );
    var line = stdin.readLine();
    var tokens = line.split(/\s+/);
    var height = parseInt(tokens[0]);
    var width = parseInt(tokens[1]);
    stdout.writeLine( "The area of a " + height + " by " + width + " rectangle is " + (height*width) );
}();
于 2014-07-07T22:17:26.187 回答
1

有一个网络应用教程:http ://ringojs.org/tutorial/文档部分比你想象的要多http://ringojs.org/documentation

于 2013-01-16T15:51:52.137 回答