YoptaScript представлен как "первый в мире скриптовый язык программирования для гопников и реальных пацанов", который транслируется в чистый JavaScript.
Сразу рассмотрим таблицу соответствий. Ниже будет описание подключения и примеры кода
Таблица соответствий
| YoptaScript | JavaScript | Комментарий |
|---|---|---|
| гыы | var | Объявление переменной. |
| красноглазое | console | Консоль. |
| чмо | log | Метод консоли. |
| шухер | alert | Метод консоли. |
| внатуре / сука | = | Присваивание значения. |
| пиздишь | false | Логическое значение "ложь". |
| чотко / чётко / трулио | true | Логическое значение "истина". |
| куку йопта | function | Объявление функции. |
| вилкойвглаз(...) | if (...) | Условная конструкция if. |
| иливжопураз | else | Условная конструкция else. |
| однахуйня / типа | == | Оператор равенства. |
| чоблясука | != | Оператор неравенства "не равно". |
| пизже | > | Оператор "больше". |
| хуёвей | < | Оператор "меньше". |
| ксива | document | Объект document в DOM. |
| малява(...) | write(...) | Метод document.write(...). |
| намутитьМалявуГовнодскую(...) | createTextNode(...) | Метод document.createTextNode(...). |
| вычислитьЛохаПоНомеру(...) | getElementById(...) | Метод document.getElementById(...). |
| ебало | window | Объект window. |
| шухер(...) | alert(...) | Метод window.alert(...). |
| потрещим(...) | while (...) | Цикл while. |
| го(...; ...; ...) | for(...; ...; ...) | Цикл for. |
| плюсуюНа | ++ | Инкремент (i++). |
| крч | do | Начало цикла do...while. |
| иличо | || | Логический оператор "ИЛИ" (OR). |
| ичо | && | Логический оператор "И" (AND). |
| нах | ; | Завершение строки / инструкции. |
| жЫ | { | Открытие блока кода. |
| есть | } | Закрытие блока кода. |
| Ботан | Math | Объект Math в JavaScript. |
| гопосинос(...) | cos(...) | Метод Math.cos(...). |
| бабкиГони(...) | floor(...) | Метод Math.floor(...). |
| гопень(...) | pow(...) | Метод Math.pow(...). |
| Очконавт | Math | Синоним Math (в примере используется Очконавт.ПИЗДЕЦ). |
| ПИЗДЕЦ | PI | Константа Math.PI. |
Примеры кода
Первый блок кода написан на традиционном JavaScript и второй на YoptaScript
var message = "Привет!";
гыы message внатуре "Привет!" нах ксива.малява(message) нах
Пояснение: Создаёт переменную с сообщением и выводит его в консоль (или на страницу, если ксива.малява интерпретируется как document.write).
var a = 5; var b = 10; if (a < b) { alert("a меньше b"); }
гыы a внатуре 5 нах гыы b внатуре 10 нах вилкойвглаз(a хуёвей b) жЫ ебало.шухер("a меньше b") нах есть
Пояснение: Сравнивает два числа и выводит сообщение, если первое меньше второго.
for (var i = 0; i < 5; i++) { }
го(гыы i внатуре 0 нах i хуёвей 5 нах i плюсуюНа) жЫ ксива.малява("Итерация: " + i) нах есть
Пояснение: Выполняет цикл 5 раз, выводя номер текущей итерации.
var numbers = [1, 2, 3, 4, 5]; numbers.forEach(function(num) { });
гыы numbers внатуре [1, 2, 3, 4, 5] нах numbers.йопта(куку йопта(нум) жЫ ксива.малява(нум * 2) нах есть) нах
Пояснение: Проходит по массиву чисел и выводит удвоенное значение каждого элемента (предполагая, что .йопта — аналог forEach).
function calculateSquare(x) { return x * x; }
куку йопта calculateSquare(x) жЫ отвечаю x * x нах есть ксива.малява(calculateSquare(4)) нах
Пояснение: Определяет функцию для вычисления квадрата числа и выводит результат для 4.
var name = "Алексей"; if (name === "Алексей") { } else { }
гыы name внатуре "Алексей" нах вилкойвглаз(name типа "Алексей") жЫ ксива.малява("Привет, Алексей!") нах есть иливжопураз жЫ ксива.малява("Привет, незнакомец!") нах есть
Пояснение: Проверяет имя и выводит персонализированное приветствие.
var counter = 0; while (counter < 3) { counter++; }
гыы counter внатуре 0 нах потрещим(counter хуёвей 3) жЫ ксива.малява("Счётчик: " + counter) нах counter плюсуюНа нах есть
Пояснение: Выводит значение счётчика, пока он меньше 3, увеличивая его на каждом шаге.
гыы x внатуре 10 нах гыы y внатуре 20 нах
Пояснение: Находит большее из двух чисел с помощью тернарного оператора и выводит его.
var user = { name: "Иван", age: 30 };
гыы user внатуре { name: "Иван", age: 30 } нах ксива.малява(user.name + " " + user.age) нах
Пояснение: Создаёт объект с именем и возрастом, затем выводит их.
}
есть ксива.малява(getRandomInt(1, 10)) нах
Пояснение: Определяет функцию для генерации случайного целого числа в заданном диапазоне и выводит его. (Предполагается, что Ботан.случайный() — аналог Math.random()).
Подключение
Скачайте архив и подключите файл yopta.js из папки dist так
<script type="text/javascript" charset="utf-8" src="./yopta.js"></script>
Репозиторий https://github.com/samgozman/YoptaScript
>>>