Есть скомпилированый бинарник скомпилированный build.py.
файл запускается через передачу аргумента бинарнику. Например: "C:\rupython.exe" "test.rupy"
Код .rupy транслируется в .py
- Исходники
- В расширении есть snippets(автовставка через TAB) и syntaxes
если вы боитесь за свою безопасность вы сами можете собрать из исходников
Пример кода для полной проверки
использовать время
вывести время.время()
# ==========================================
# ТЕСТ ВСЕХ ВОЗМОЖНОСТЕЙ ЯЗЫКА RUPY
# ==========================================
# 1. ТЕСТ КЛАССОВ И МЕТОДОВ (ООП)
класс Робот
#аналог __init__
создать имя модель
это.имя = имя
это.модель = модель
это.энергия = 100
это.инвентарь = []
конец
функция статус
вывести "--- ОТЧЕТ СИСТЕМЫ ---"
вывести "Имя: " + это.имя
вывести "Заряд: " + str(это.энергия) + "%"
вывести "Предметы: " + str(это.инвентарь)
конец
функция взять_вещь предмет
это.инвентарь.добавить предмет
вывести это.имя + " положил в сумку: " + предмет
конец
функция работа задача
если это.энергия > 20
вывести "Выполняю: " + задача
это.энергия = это.энергия - 30
иначе
вывести "НИЗКИЙ ЗАРЯД! Работа невозможна."
конец
конец
конец
# 2. ТЕСТ ОБЫЧНЫХ ФУНКЦИЙ
функция расчет_мощности а б
вернуть а * б
конец
# 3. ОСНОВНАЯ ЛОГИКА
вывести " === ЗАПУСК ПРОГРАММЫ RUPY ==="
# Тест ввода
ввод оператор "Представьтесь, создатель: "
вывести "Приветствую, " + оператор + "!"
# Тест создания объекта
пусть бот = Робот("Валли", "Уборщик")
# Тест работы со списками и методами
бот.взять_вещь "Старая ложка"
бот.взять_вещь "Растение"
бот.взять_вещь "Болт"
# Тест удаления из списка
вывести "Нужно выкинуть мусор..."
бот.инвентарь.удалить "Болт"
# Тест циклов (3 раза)
вывести "Проверка моторов..."
3 раз
вывести "Пип-буп!"
конец
# Тест циклов со счетчиком
пусть итераций = 2
номер итераций раз
вывести "Шаг теста № " + str(номер + 1)
конец
# ==========================================
# НОВЫЙ БЛОК: ТЕСТ ЛОГИЧЕСКИХ ОПЕРАТОРОВ
# ==========================================
вывести "--- ТЕСТ ЛОГИКИ ---"
пусть доступ_разрешен = Истина
пусть система_сломана = Ложь
если доступ_разрешен и не система_сломана
вывести "Логика И и НЕ работает: Доступ в систему открыт!"
конец
пусть заряд_аккумулятора = 15
пусть критический_режим = Истина
если заряд_аккумулятора < 20 или критический_режим
вывести "Логика ИЛИ работает: Робот переходит в энергосбережение!"
конец
# ==========================================
# НОВЫЙ БЛОК: ТЕСТ СИСТЕМЫ С ФАЙЛАМИ
# ==========================================
вывести "--- ТЕСТ СИСТЕМЫ ФАЙЛОВ ---"
# Тест записи в файл
открыть("лог_робота.txt","запись") как файл_логирования
файл_логирования.вывести "Запись №1: Робот успешно инициализирован.\n"
файл_логирования.вывести "Запись №2: Обнаружен русский текст в файлах!\n"
конец
вывести "Файл успешно записан!"
# Тест чтения из файла
открыть("лог_робота.txt","чтение") как читаемый_файл
пусть лог_данные = читаемый_файл.прочитать()
вывести "Содержимое созданного файла:"
вывести лог_данные
конец
# ==========================================
# ОКОНЧАНИЕ ТЕСТА
# ==========================================
# Тест условий и математики
пусть рез = расчет_мощности 10 5
если рез > 40
вывести "Мощность в норме: " + str(рез)
конец
# Тест обработки ошибок (Try/Except)
попробовать
вывести "Проверка деления на ноль..."
пусть ошибка = 10 / 0
отловить Ошибка как и
вывести "ОШИБКА: Система перехватила деление на ноль!"
вывести и
конец
# Финальный статус
бот.работа "Уборка мусора"
бот.статус()
вывести "=== ТЕСТ ЗАВЕРШЕН УСПЕШНО ==="