Анотація
Пориньте у веселий світ cowsay — програми для командного рядка, яка перетворює звичайний текст на чудові шедеври, озвучені ASCII-коровою! У цій статті ми розглянемо кумедне походження cowsay, його еволюцію через різні мови програмування та покажемо, як ви можете без зусиль інтегрувати Python-версію Cowsay у ваші проєкти за допомогою Javonet.
Історія походження Cowsay
У кінці 90-х розробник Тоні Монро вирішив, що стандартний командний рядок потребує трохи особливості. І так народився cowsay! Цей кмітливий інструмент перетворює будь-який текст на миле повідомлення, яке передає ASCII-корова. Спочатку це була гра, але cowsay швидко здобув популярність серед програмістів і ентузіастів Linux, потрапивши в скрипти, системні повідомлення і гік-жарти по всьому світу. Завдяки своїй відкритості, виникло безліч адаптацій, кожна з яких додавала нові варіанти, щоб cowsay продовжував розвиватися в хакерській культурі.
Cowsay сьогодні: Класика з сучасними можливостями
Навіть через десятиліття cowsay залишається улюбленим інструментом у спільноті розробників. Те, що почалося як Perl-скрипт, згодом було переведено на такі мови, як Python, Go, JavaScript та інші. Незалежно від того, чи працюєте ви на Windows, створюєте веб-додатки чи пишете чат-ботів, ви завжди можете покладатися на cowsay, щоб додати трохи гумору у ваш день. Воно не тільки святкує ностальгію, але й безліч варіацій — від пінгвінів до драконів — демонструє його незгасаючий шарм.
Python-версія cowsay, доступна на PyPI, привносить цей грайливий moo у ваші Python-скрипти. Тим часом Neo Cowsay в Go пропонує швидкість та додаткові функції, а варіанти для JavaScript/Node.js та Ruby дозволяють ентузіастам з різних спільнот приєднатися до веселощів. Однією з помітних реалізацій є версія на JavaScript від piuccio, яка вже зібрала понад 1.2 тис. зірок на GitHub! Перегляньте її тут.
Інтеграція з Javonet
Навіщо переписувати одну й ту саму функціональність на кожній мові, коли можна просто поділитися магією? Ось тут і вступає Javonet — інструмент, який дозволяє вам викликати Python-реалізацію cowsay безпосередньо з інших мов. Уявіть, що оригінальний Python cowsay є вашою магією moo, доступною на кінчиках пальців у Node.js, Ruby, Java, і не тільки. Завдяки Javonet інтеграція цього весельчака стає такою ж легкою, як пиріжок (чи не краще сказати, moo?).
Python Cowsay
Python-версія cowsay надзвичайно проста. Встановіть її через pip:
pip install cowsay
Далі використовуйте її у вашому Python-скрипті:
import cowsay
cowsay.cow('Hello World')
Це дасть наступний результат:
___________
| Hello World |
===========
\
\
^__^
(oo)_______
(__)\ )\/\
||----w |
|| ||
Javonet в дії
За допомогою Javonet ви зможете легко скористатися силою Python-версії cowsay у вашій обраній мові. Таким чином, ви уникаєте необхідності винаходити велосипед і можете насолоджуватися тією ж moo-магією на різних платформах.
Якщо ви ще не встановили Javonet, ось точні інструкції, як почати роботу з будь-якою мовою програмування — Посібник для початківців.
Приклад для Node.js
Спочатку встановіть Javonet Node.js SDK:
npm i javonet-nodejs-sdk
Припускаємо, що у вас вже встановлені Python та його модуль cowsay, ось простий приклад для Node.js:
const { Javonet } = require('javonet-nodejs-sdk');
Javonet.activate("javonet-key");
let calledRuntime = Javonet.inMemory().python();
calledRuntime.loadLibrary('.');
let calledRuntimeType = calledRuntime.getType("cowsay").execute();
let response = calledRuntimeType.invokeStaticMethod("I am mooo in NodeJs with Python's Cowsay!!!", "sad").execute();
let result = response.getValue();
console.log(result);
Виведення покаже результат cowsay у вашій Node.js програмі:
___________________________________________
| I am mooo in NodeJs with Python's Cowsay!!! |
=========================================
\
\
^__^
(oo)_______
(__)\ )\/\
||----w |
|| ||
Приклад для Ruby
Для інтеграції з Ruby спочатку встановіть Javonet Ruby SDK:
gem install javonet-ruby-sdk
Далі використовуйте його наступним чином:
require 'javonet-ruby-sdk'
Javonet.activate("javonet-key")
calledRuntime = Javonet.in_memory.python
calledRuntime.load_library('.')
calledRuntimeType = calledRuntime.get_type("cowsay").execute
response = calledRuntimeType.invoke_static_method("cow", "I am mooo in Ruby with Python's Cowsay!!!").execute
result = response.get_value
puts result
Очікуване виведення:
_________________________________________
| I am mooo in Ruby with Python's Cowsay!!! |
\
^__^
(oo)_______
(__)\ )\/\
||----w |
|| ||
Приклад для Java
Нарешті, для інтеграції з Java спочатку завантажте Javonet (рекомендується використовувати Maven) і додайте його до ваших залежностей. Потім скомпілюйте та запустіть програму:
mvn compile
mvn exec:java -Dexec.mainClass="SampleProgram"
Ось приклад Java-програми:
import com.javonet.sdk.*;
public class SampleProgram {
public static void main(String[] args) {
Javonet.activate("javonet-key");
RuntimeContext pythonRuntime = Javonet.inMemory().python();
InvocationContext pythonType = pythonRuntime.getType("cowsay").execute();
InvocationContext response = pythonType.invokeStaticMethod("cow", "I am mooo in Java with Python's Cowsay!!!").execute();
String result = (String) response.getValue();
System.out.println(result);
}
}
Типове виведення буде таким:
_________________________________________
| I am mooo in Java with Python's Cowsay!!! |
=========================================
\
\
^__^
(oo)_______
(__)\ )\/\
||----w |
|| ||
Підсумки
За допомогою Javonet ви можете без зусиль інтегрувати чарівний cowsay з Python у різноманітні програмні середовища, не вигадуючи велосипед. Це не тільки зберігає оригінальну магію, але й демонструє гнучкість та ефективність сучасних інструментів розробки. З мінімальними зусиллями ви тепер можете сказати "moo" у вибраній вами мові програмування.
Тож наступного разу, коли ви захочете додати трохи гумору у свій код, згадайте про скромну ASCII-корову, яка продовжує надихати розробників у всьому світі. Удачі в програмуванні та не забувайте мукати!
Насолоджуйтеся інтеграцією трохи moo-магії у ваші проєкти — адже грайливий акцент може зробити навіть найсерйозніший код набагато цікавішим!
Перекладено з: Say mooo in Every Programming Language with Cowsay!