Создание нового приложения с рингойс

Не могли бы вы порекомендовать любой тип ресурсов pf вокруг ringojs (учебные пособия, бесплатные электронные книги, платные электронные книги и т. Д.). Официальный сайт и документация по github предназначены только для настройки, поэтому не вставляйте ссылки ringojs.org и github. Спасибо заранее

2 ответа

Вот короткое вступление, которое я написал для начинающего школьного класса по программированию. Это не обширно, но достаточно, чтобы дать кому-то базовое начало. Документация (см. Ссылку Оберхамси) отлично подходит для опытных разработчиков, но начинающим программистам иногда требуется немного больше объяснений.

Как мне писать программы с 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 Объект для написания программ, которые делают консольный ввод / вывод. Вот пример программы с именем 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) );
}();

Есть учебник для веб-приложений: http://ringojs.org/tutorial/ а в разделе документации больше, чем вы думаете, http://ringojs.org/documentation

Другие вопросы по тегам