RPG Maker VXAce
Добро пожаловать на форум!
login.php profile.php?mode=register faq.php memberlist.php search.php index.php

https://ad.admitad.com/g/5351d3d56e77499090dfe6dcee139a/

Список форумов RPG Maker VXAce » Ruby/RGSS » Урок 2 - Основное познание
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.  Эта тема закрыта, вы не можете писать ответы и редактировать сообщения. Предыдущая тема :: Следующая тема 
Урок 2 - Основное познание
СообщениеДобавлено: Чт Авг 23, 2012 6:18 am Ответить с цитатой
Serafim
Администратор
Администратор
Зарегистрирован: 08.03.2012
Сообщения: 238
Откуда: ЛНР




Процедурные объекты и итераторы

В языке есть 2 эквивалентных способа записи блоков кода:

{ puts "Hello, World!" }

do puts "Hello, World!" end

Сопрограммы применяются с большинством встроенных методов:

File.open('file.txt', 'w') { |file| # открытие файла «file.txt» для записи («w» - write)
file.puts 'Wrote some text.'
} # Конструкция устраняет неопределённость с закрытием файла: закрывается здесь при любом исходе

Следующий пример показывает использование сопрограмм и итераторов для работы с массивами, который показывает краткость записи на Ruby многих достаточно сложных действий (случайно выбираем из последовательности квадратов чисел от «0» до «10» и распечатываем вместе с индексами):

Код:
 (0..10).collect{|v| v ** 2 }.select{ rand(2) == 1 }.each_with_index{|v,i| printf "%2d\t%2d\n", i, v }


Классы, примеси, методы, перегрузка операторов

Следующий пример определяет класс с именем Person, предназначенный для хранения информации о имени и возрасте некоторой персоны.

class Person # объявление класса начинается с ключевого слова class, за которым
# следует имя
include Comparable # [[b:Ruby/Справочник/Comparable|Comparable]] подмешивается к классу
# и добавляет методы <, <=, ==, >=, > и between?
# с использованием нижеопределённого
# в классе <=>
#
@@count_obj = 0 # переменная класса для подсчёта числа созданных объектов
#
# конструктор для создания объектов с помощью new
def initialize(name, age) # name, age - параметры метода
# название переменных объекта начинается с @
@name, @age = name, age # cоздаём объекты и увеличиваем счётчик на 1
@@count_obj += 1
end

def <=>(person) # переопределение оператора <=>
# (это даёт возможность использовать метод sort
@age <person> [<3>, <3>, <3>]
# здесь при работе с irb автоматически вызывается метод inspect
# вызываем методы массива сортировка и разворачивание его в обратном порядке
puts group.sort.reverse # Печатает:
# Markus (63)
# John (20)
# Ash (16)
# обращаемся к функции, которая была добавлена
# автоматически(используя <при> true

Реализация

Для Ruby существуют несколько реализаций: официальный интерпретатор, написанный на Си, JRuby — реализация для Java, интерпретатор для платформы .NET IronRuby (находится в стадии разработки), Rubinius — написанная в основном на Ruby и базирующаяся на Smalltalk-80 VM.
Официальный интерпретатор портирован под большинство платформ, включая Unix, Microsoft Windows (в том числе Windows CE), DOS, Mac OS X, OS/2, Amiga, BeOS, Syllable, Acorn RISC OS и другие.

Интерактивный Ruby

С официальной версией интерпретатора Ruby поставляется интерактивный интерпретатор языка. Запускаемый командой irb в консоли, он позволяет тестировать текст программы очень быстро (построчно):

$ irb
irb(main):001:0> "Hello, World"
=> "Hello, World"
irb(main):002:0> 2 ** 256 # ** - оператор возведения в степень
=> 115792089237316195423570985008687907853269984665640564039457584007913129639936

Программа irb выводит результат каждой строки после символов =>. В приведённых выше примерах для наглядности применяется аннотирование — результаты строк программы записываются в комментариях после =>. Имитацию irb можно запустить непосредственно в браузере.
В поставке дистибутива One-Click Installer для Windows, начиная с версии 1.8.2-15, поставляется утилита fxri, которая включает в себя справочную систему (ri) и интерактивный интерпретатор (irb).

Поддержка IDE

Базовые возможности редактирования добавляются к многим редакторам (Emacs, vim, jEdit, nano, SciTE и др.), здесь перечислены только IDE, то есть предоставляющие обширный набор функций.

Стандартная библиотека

Кроме мощных возможностей, встроенных в язык, Ruby поставляется с большой стандартной библиотекой. Это, прежде всего, библиотеки для работы с различными сетевыми протоколами на стороне сервера и клиента, средства для работы с различными форматами представления данных (XML, XSLT, YAML, PDF, RSS, CSV, WSDL). Кроме встроенных в язык средств отладки с Ruby поставляются библиотеки для юнит-тестирования, профилирования. Также есть библиотеки для работы с архивами, датами, кодировками, матрицами, средства для системного администрирования, распределенных вычислений, поддержки многопоточности и т. д..

_________________
ПРАВИЛА ФОРУМА
Посмотреть профиль Найти все сообщения пользователя Serafim Отправить личное сообщение Посетить сайт автора
СообщениеДобавлено: Чт Авг 23, 2012 6:19 am Ответить с цитатой
Serafim
Администратор
Администратор
Зарегистрирован: 08.03.2012
Сообщения: 238
Откуда: ЛНР




Название Описание Версия

Object

Вершина иерархии классов Ruby. 1.0

Array

Динамический массив для хранения произвольных объектов, индексируемый с 0. 1.0

Binding

Объекты сохраняют контекст выполнения некоторого участка кода (значение переменных, методов и т. д.). Может позже использоваться для выполнения вычислений в этом контексте. 1.2

Continuation

Объект сохраняет адрес возврата и контекст выполнения, позволяя выполнить переход в точку создания из любого места программы (т. н. нелокальный переход). 1.4

Data

Обёртка вокруг указателяСи, используется в основном при написании расширений. 1.0

Dir

Директория файловой системы. Предоставляет возможности для просмотра директорий и их атрибутов. 1.0

Exception

Базовый класс всех исключений (образует вершину иерархии более чем 30 исключений) 1.0

FalseClass

Глобальная переменная false является единственной переменной этого класса и представляет логическую ложь в булевских выражениях. 1.0

Hash

Коллекция пар ключ-значение; порядок обхода не зависит от порядка вставки. 1.0

IO

Базовые возможности ввода-вывода. 1.0

File

Класс для доступа к файлам. 1.0

MatchData
(до 1.6 MatchingData)

Результат применения регулярного выражения. Обычно используется не напрямую, а через специальные переменные $&, $', $`, $1, $2 и т. д. 1.0

Method

Метод, асоциированный с конкретным объектом (не с классом). Может использоваться для вызова этого метода без наличия объекта. 1.2

Module

Класс модулей. 1.0

Class

Класс классов; классы в Ruby являются объектами, а Class является классом этих объектов (метаклассом). 1.0

NilClass

Единственным экземпляром класса является переменная nil. nil и false представляют ложь в программах. Любой другой обьект представляет собой истину. 1.0

Numeric

Абстрактный класс чисел. 1.0

Integer

Абстрактный класс целых чисел. Может трактоваться как бесконечная битовая строка для битовых операций. 1.0

Bignum

Целые числа ограниченные только количеством памяти. Конвертируется в Fixnumавтоматически, если значение может быть размещено в них и наоборот. 1.0

Fixnum

Целые числа, которые могут быть размещены в машинном слове (32 бита для большинства машин). Если результат операции выходит за рамки, автоматически преобразуется в Bignum. 1.0

Float

Числа с плавающей запятой. 1.0

Proc

Блок кода со связанным с ним контекстом (замыкание), который может выполняться неоднократно в других контекстах. 1.0

Range

Интервал: множество значений, заданных с начальным и конечным элементами. 1.0

Regexp

Регулярное выражение. 1.0

String

Строка байт произвольной длины. 1.0

Struct

Предоставляет простой способ связывания атрибутов вместе без написания кода класса напрямую; генерирует специальные классы, содержащие множество переменных и методов доступа. 1.0

Symbol

Представляет имя и создаётся при использовании синтаксиса :name. Все объекты с данным именем созданные в программе — ссылки на один объект. 1.6

Thread

Инкапсулирует информацию о потоке, включая основной поток скрипта Ruby. 1.0

ThreadGroup

Предоставляет способ управления группой потоков. Поток может принадлежать только к одной ThreadGroup. Добавление потока к новой группе удаляет его из любой предыдущей. 1.6

Time

Дата и время. 1.0

TrueClass

Глобальная переменная true является единственной переменной класса и представляет логическую истину в булевских выражениях. 1.0

UnboundMethod

Метод, не связаный с конкретным объектом. Может привязываться к объекту и вызываться как Method.. 1.6

_________________
ПРАВИЛА ФОРУМА
Посмотреть профиль Найти все сообщения пользователя Serafim Отправить личное сообщение Посетить сайт автора
Урок 2 - Основное познание
Список форумов RPG Maker VXAce » Ruby/RGSS
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Часовой пояс: GMT + 2  
Страница 1 из 1  

  
  
 Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.  Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin
Вы можете бесплатно создать форум на MyBB2.ru, RSS