Скажи “му” на кожній мові програмування з Cowsay!

pic

Анотація

Пориньте у веселий світ 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!