A Ruby programozási nyelv

Példaprogramok



Simple Chat Client and Server

Egyszerű chat program, amit beírunk a standard inputra az a többi kliensnél megjelenik.

  1. Indítsuk el a szervert a server [hostname] [port] paranccsal (alapértelmezettként localhost 1111)
  2. Ezután indítsuk el a klienseket a client [hostname] [port] paranccsal (alapértelmezettként localhost 1111)

A szerver és a kliens forráskódja böngészőben olvasásra, illetve a forráskód letöltése

XML Parser/Generator

Feladat: Kibővített HTML Parser a régi nyelvleírások új formára hozására.

Bővebben: Olyan egyszerű szkript, amely képes feldolgozni egy HTML fájlt, megállapítja, hogy milyen fejezetek, és azokon belül milyen alfejezetek találhatóak a dokumentumban, majd a nyelvleírásoknál használt XML-eket és a fejezetekhez tartozó HTML fájlokat automatikusan legenerálja egy adott könyvtárba.
A használt XML/HTML Parser a Nokogiri 1.3.0, amelyet RubyGems csomagkezelővel egyszerűen lehet telepíteni. Könnyen és jól használható funkciókat kínál az elemzés és a generálás terén is.

Használt verziók

Készítette

Forráskód letöltése

Notepad

Jegyzettömbhöz hasonló minta alkalmazás a Ruby/Tk felhasználásával.

Készítette

Forráskód letöltése

Email küldése, fogadása

Egyszerű email küldése SMTP protokoll használatával. A program a keletkező kivételek kezelésére mutat példát. A program először a localhost-on próbál emailt küldeni, ha ez nem sikerül, akkor a Gmail szolgáltatásán keresztül próbálkozik. Ha ez is sikertelen, akkor a lokális gépen saját erőforrás létrehozásával próbál direkt emailt küldeni. A kivételek minden esetben kiíródnak.

Emailek olvasása POP3 protokoll használatával. A program az előre beállított email fiókból kiolvassa az üzeneteket, majd a standard inputra kiírja azokat

Készítette

Email küldés forráskód letöltése Email olvasás forráskód letöltése

Connect four játék

A programmal connect four táblajátékot lehet játszani. Angol nyelvű szabályzat itt található hozzá. A játék kétszemélyes. A játékosok felváltva lépnek, egérrel kattintva ejthetik le a saját korongjukat a játékmezőre. A játék véget ér, ha megtelt a tábla, vagy valamelyik játékos legalább négy egyforma színű koronggal egy vonalban győzni tud. A program a grafikus megvalósításához GTK+ csomagot használ.

Készítette

Forráskód letöltése

Könyvtári nyilvántartó Rails-ben

A program egy rails applikáció, ami egy könyvtári nyilvántartást valósít meg. Lehet benne könyveket, azok példányait, illetve a könyvtár látogatóit szerkeszteni.

Felhasznált verziók

Készítette

Forráskód letöltése

Aknakereső játék

A program egy hagyományos aknakereső játék. Mezőkre kattintva felfedhetjük azt a mezőt. A felfedett mezőkben látható szám a mező körüli aknák számát jelzi. Jobb kattintással megjelölhetük a mezőt, mint potenciális aknát. Aknára kattintva vége a játéknak. A program a Tk könyvtárat használja a grafikus megjelenítéshez.

Készítette

Forráskód letöltése

Flex mintájú mini tudásalapú keretrendszer

A program a Flex tudásalapú keretrendszer alapján készült. Egy egyszerû frame alapon nyugvó következtetõrendszert valósít meg. A programban egy konzolos felületen a felhasználó három kérdés alapján tudja leszûkíteni az állatok listáját.

A program szemlélteti a frame alapon mûködõ rendszerek tulajdonság megtalálását a Ruby üzenetküldésével, illetve a dinamikus metódushívást is kihasználja.

Készítette

Forráskód letöltése

Backlog

A Backlog egy Rails alkalmazás jövőbeni feladatok vagy tennivalók nyílvántartására és rendszerezésére. Regisztrálás után minden felhasználó egy saját backlogot szerkeszthet, ahoz elemeket adhat hozzá különféle kategóriákban, vagy törölheti azokat. A felhasználóknak különböző jogosultságaik vannak, például egy adminisztrátor törölhet felhasználókat vagy szerkesztheti a profiljukat. Nyílvánosnak megjelölt profilt bárki megtekinthet.

Használt verziók

Készítette

Forráskód letöltése

Date Updater

A Date updater szkript egy XML formátumú file segítségével konfigurálható. A felkonfigurált könyvtárban egy glob-ra illeszkedő fileokat keres, amikben adott dátummaszkokra illeszkedő dátumokat frissít fel egy tetszőlegesen konfigurálható epoch-ra.

Készítette

Forráskód letöltése

Four in a Row

A program egy "potyogtatós" amőba játék. 2 játékos játszhat benne egymás ellen, a játék cálja, hogy egy játékos a saját jeleiből kirakjon négyet egy sorban, oszlopban vagy éppen átlósan. Jelet a pályán lévő kis gombra kattintva tehetünk le, a jel pedig az adott oszlopban a lehető leglentebbre fog kerülni.

Készítette

Forráskód letöltése

Webserver

Ez egy minimalista webszerver, ami magadott porton várja a böngészők csatlakozását, és http kérésekre képes visszaadni az index.html-t és az onnan elérhető hivatkozásokat.

Server indítása
> ruby server.rb

vagy

> ruby server.rb <port> <szervernév>

Amit tud

Készítette

Forráskód letöltése

MineSweeper

A program egy szerver-kliens alkalmazás. A szervert elindítva kapcsolódhatunk a kliensekkel. Egyedi nicknévvel való bejelentkezés után pedig chatelhetünk és Aknakereső játékra hívhatjuk a játékostársainkat. A szervert a ruby lib/runsrv.rb paranccsal indíthatjuk. A klienst pedig a ruby lib/tester.rb paranccsal. A játék a Microsoft Messengeres szabályok alapján készült. Az nyer aki a legtöbb aknát felfedezte. Ha nem aknát találunk az ellenfelünk jön.

Készítette

Forráskód letöltése

Blog

A program egy kezdő blog ruby on rails-ben. A szervert elindítva ($ rails s) a http://localhost:3000 -n elérhetővé válik. Az oldalon megjelennek az eddigi postok, amiket lehet módosítani, törölni, vagy akár újat létrehozni. A már meglevő vagy újonnan létrehozott postokat lehet kommentelni, amit a facebook-on ismert "hozzászólt x másodperce" módon jelenítünk meg. A program könnyen bővíthető authentikációval (devise gem), vagy egyéb a már twitterről ismert funkciókkal mint követés (socialization gem)

Készítette

Forráskód letöltése

Ruboto bemutató alkalmazás

A program néhány Android specifikus összetevőt mutat be Ruby nyelven megírva. A program mappájában lévő w_build_apk.bat fájl futtatásával lehet lefordítani és futtatni a programot a számítógéphez csatlakoztatott Android-os eszközökön.

Készítette

Forráskód letöltése

Egy egyszerű Sinatra alkalmazás

Ez egy egyszerű példaalkalmazás a Sinatra keretrendszer használatára.

A futtatáshoz telepíteni szükséges a sinatra gem-et.

Az adatok egy fájlban tárolódnak YAML formátumban. Az adatokat tároló fájl inicializálásához a következő parancsot szükséges futtatni a program gyyökérkönyvtárában:

ruby initialize_data.rb

Az alkalmazás elindításához a következő parancsot szükséges kiadni a program gyökérkönyvtárában:

ruby sinatra_example.rb

Ezt követően a rendszer a http://0.0.0.0:4567 url-en érhető el. Az inicializálás során létrehozott felhasználó neve: "Test Admin", ezzel a névvel be lehet jelentkezni a rendszerbe.

Készítette

Forráskód letöltése

Rails példaalkalmazás (fórum)

Az alkalmazást a rails s parancs segítségével tudjuk elindítani, majd a böngészőben a http://0.0.0.0:3000 címet megnyitva érhetjük el. Az alkalmazásban lehetőségünk van új topic-ot felvenni, törölni, illetve módosítani. A topic-okhoz postokat hozhatunk létre.

Készítette

Forráskód letöltése

Bézier görbe rajzoló

A programmal Bézier görbét lehet rajzolni.

Készítette

Forráskód letöltése

Email kliens

Grafikus felületű email kliens. Gmail-es fiókunkba jelentkezhetünk be és olvashatjuk leveleinket. A használatához Ruby/Tk -ra van szükség. A Ruby futtatókörnyezet telepítésekor be kell jelölni a Tcl/Tk támogatást. Ezután a külön telepítenünk kell a Tcl-t.

Készítette

Rails példaalkalmazás (közösségi oldal)

Az alkalmazást a rails s parancs segítségével tudjuk elindítani, majd a böngészőben a http://0.0.0.0:3000 címet megnyitva érhetjük el. Az alkalmazásban lehetőségünk van felhasználói profilt készíteni, képet vagy szöveget posztolni, más felhasználókat követni, illetve a követett felhasználók posztjait megtekinteni

Készítette

Forráskód letöltése