...: Strona :...
News
Archiwum
Redakcja
Chat ( 0 )
Forum
Księga Gości
Imprezy
Linki
Wymiana
Radio

- Download -
Programy
Gry
Zasoby
Music
Sound
Inne

- RPG Maker -
RPGUNITE
RPGMZ
RPGMV
RPGVXAce
RPGVX
RPGXP
RPGME
SimRPG95
RPG95
WRPGE

- Projekty -
Commander
Eden Universe
Pogromca II
Virtua Twierdza

- Krypta -
Kompendium
Scenariusze
Questy
Artykuły

...: Buttony :...
Goniec RM (Archiwum)
Dragon Ball Nao
M.U.G.E.N Samouczek
Pokemon Crystal PBF
Pillars of Eternity POLSKA - największy portal Pillars of Eternity (Project Eternity)
Kroniki Fallathanu - Prawdziwy mmoRPG w przeglądarce



Modules -  the greatest and ultimate place for every tracked-music sympathizer
Dragon Ball Great


Informacje || Zgłoś nowe materiały
Krypta >> Artykuły

Ogólnie - język Ruby


Wstęp

Wprowadzenie

Cześć,
W tym artykule omówię język programowania Ruby dość ogólny sposób, powiem przykłady jego zastosowania oraz omówię jego zastosowanie w RPG Makerach, ale zanim jeszcze zacznę to najpierw powiem coś o sobie, abyście znali moje kompetencje do przedstawiania takich zagadnień.


O mnie

Od 2012 roku zacząłem na poważniej swoją przygodę z programowaniem. W zasadzie wtedy nic nie umiałem, ale wiadomo, że każdy od czegoś zaczynał. Wtedy moim faworytem był C++, potem PHP a wraz z nim nauczyłem się HTML, CSS oraz JavaScript. Od 2018 roku zacząłem pracować zawodowo i poznałem dużo lepiej tematykę programowania obiektowego. Ogólnie to mam za sobą projekty w PHP, JavaScript, Java, Kotlin, Dart/Flutter, Ruby, C#, Python itd. itd.. Pisałem w tym w czym musiałem. Potrafię pisać własne skrypty w RPG Makerach jak również edytować te, co już istnieją np. w grze K-8-0 używam tego skryptu ale w przeze mnie zmodyfikowanej wersji.
Wracając już do głównego wątku zacznę omawianie języka programowanie Ruby.



O języku Ruby

Czym jest?
Jest bardzo prostym, dynamicznym jak i obiektowym językiem programowania. 1 Został stworzony w 1995 roku przez Yukihiro "Matz" Matsumoto, który połączy w Ruby ulubione elementy z innych języków takich jak Perl, Smalltalk, Eiffel, Ada i Lisp. 2 W tym języku wszystko jest obiektem, nawet liczba czy tekst. Gdy użyjesz dowolnej cyfry np. 5 to po kropce możesz użyć metod numerycznych, dla przykładu 5.times co należy rozumieć jako 5 razy wykonaj. Poniżej przykład takiego kodu:

5.times { print "Ten tekst wyświetli się 5 razy\n" }

Dzięki takiemu podejściu do języka można w Ruby bardzo prosto i szybko napisać dość skomplikowane rzeczy.

Mogę wspomnieć też o dodawaniu metod (niczym funkcje prototypowe w JavaScript) do innych klas, jak i możliwości przeciążaniu operatorów.

W tym wszystkim Ruby jest bardzo szybki, a nawet bardziej, bo jego obecna wersja 3.0.0 z 2021 roku jest 3 krotnie szybsza od wersji 2.0 3.




Przykłady zastosowania Ruby

Język Ruby ma bardzo wiele zastosowań, od prostych programów konsolowych, gier, systemów
kontroli wersji, przetwarzania danych, do symulacji w ważnych instytucjach państwowych,
robotyki czy nawet biznesu. Tak jak widać, ten język można wykorzystać do wszystkiego.
Służy on też jako swoisty backend dzięki frameworkowi RubyOnRails. Dalej przestawię listę firm,
organizacji, serwisów, itd., które korzystają z języka Ruby. Lista oparta jest na dwóch źródłach 4
Centrum Badań Nasa - symulacje naukowe
  • Motorola - budowanie symulatora do generowania scenariuszy i do przetwarzania danych
  • Toronto Rehab - zarządzanie i śledzenie działu technicznego
  • Projek MORPHA - system kontroli reakcji robota usługowego
  • Lucent - telefonia 3G
  • 37signals - aplikacja webowa Basecamp
  • A List Apart - magazyn projektantów stron internetowych
  • Hogo.pl - wyszukiwarka mieszkaniowa
  • Airbnb - serwis wynajmowania mieszkań/domów na okres wakacji
  • Crunchbase - źródło wiedzy dla start-upów
  • Ask.fm - witryna z pytaniami i odpowiedziami
  • GitHub - najpopularniejsza platforma pod system kontroli wersji Git
  • Soundcloud - streaming muzyczny, platforma dla artystów muzycznych z całego świata
  • Kickstarter - usługa crowdsourcingowa
  • Twitch.tv - serwis streamingowy
Oraz wiele i to wiele platform i witryn jak i usług korzysta z Ruby. Zgaduję, że niektóre pozycje mogły zadziwić, ale są one jak najbardziej normalne. Przejdźmy teraz do przykładów


Ruby w RPG Makerach

Jak już wiadomo w wielu RPG Makerach można napotkać się na język Ruby jak i jego ograniczony edytor. Deweloperami wersji RPG Maker są ASCII, Enterbrain, Agetec, Degica, aczkolwiek nad obecnego rozwoju tego silnika pilnuje Enterbrain 5.

W wersjach XP, VX oraz VX Ace mamy do dyspozycji edytor skryptów Ruby jak i kolejno implementacje bibliotek RGSS, RGSS2 oraz RGSS3, których autorem jest Enterbrain. Nie raz słyszałem, że RGSS ogranicza działanie Ruby, ale jest to bzdura. Dalej można używać Ruby tak jak istnieje, a jedynym ograniczeniem jest tylko zaimplementowana wersja. Niestety w wcześniej wymienionych wersjach RM język Ruby nie wychodzi poza pierwszą wersją.

Ruby dzięki swoim dotychczasowym zaletom został zaimplementowany do RMów i poprzez zastosowanie RGSS w silnikach mamy do czynienia z domyślnymi skryptami, które w same w sobie jeszcze bardziej rozszerzają RGSS (jak np. Window_Base dziedziczy po klasie Window, która jest już składową RGSS) 6. Dzięki temu, że twórca wrzucił domyślną implementację skryptów możemy te domyślne skrypty edytować na własne potrzeby i polecam nie bać się takiego eksperymentowania, bo to bardzo dużo uczy. Zawsze można użyć Git do kontrolowania wersji i zawsze wrócić do tej co działała, albo utworzyć nowy projekt i przekopiować domyślne skrypty. Skrypty w RPG Makerach można napisać na wiele sposobów, a głównie to zależy od wyobraźni i celu jaki piszący chce osiągnąć. Nie ma ograniczeń! A jeśli ktoś mówi że są, to się myli! Zawsze jest na wszystko sposób i zawsze można osiągnąć cel - albo w prosty albo w pokrętny i niezrozumiały sposób.

Ruby ma też swoją zaletę że pisane w nim skrypty są mocno czytelne i pomimo tego, że w niektórych brakuje dokumentacji to można po samym kodzie się domyślić "co autor miał na myśli", aczkolwiek, wiem, że w niektórych przypadkach warto odpuścić sobie gdybanie.



Czy warto skryptować w RMach?

Moim zdaniem warto. Pisanie skryptów nawet już na starej wersji Ruby dalej jednak uczy tego języka, a z tego co mi wiadomo oferty pracy jako programista Ruby są dość kuszące w zarobkach. Dodatkowo nawet ucząc się tylko Ruby można wyrobić sobie pewne schematy działania jak i pewne sposoby rozwiązywania problemów, które mogą się przydać w innych dziedzinach jak i w programowaniu w innych językach. Ja sam pomimo tego że pracuję głównie korzystając z PHP przypominam sobie i uczę się nadal Ruby. Dalej w nim modyfikuję skrypty itd. itd., a nawet napisałem o nim ten skromny artykuł.



Słowa końcowe

Ruby tak jak wiele języków zasługuje na uznanie i jak widać jest dość szeroko stosowany. Twórca tego języka moim zdaniem powinien i pewnie jest dumny ze swojego dzieła. Dla osób bardziej zaawansowanych polecam zajrzeć na repozytorium tego języka https://github.com/ruby/ruby w celu zobaczenia tego jak on jest zbduowany. Dziękuję ślicznie za uwagę i mam nadzieję że zobaczymy się w kolejnych artykułach.



1 Źródło https://www.ruby-lang.org/pl/
2 Źródło https://www.ruby-lang.org/pl/about/
3 Źródło https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
4 Źródła:
5 Źródło https://pl.qaz.wiki/wiki/RPG_Maker
6 Źródło https://www.rubydoc.info/gems/rpg-maker-rgss3/1.02.0/Window




Autor: EnterVPL
email: entervpl@gmail.com


Twierdza RPG Maker || RPG Maker Polska
2002-2024