Ruby, dinamik, açık kaynak kodlu bir programlama dilidir. Yaratıcısı Yukihiro “Matz” Matsumoto’dur ve ilk kez 1995 yılında Japonya’da ortaya çıkmıştır. Ruby, basit ve anlaşılır sözdizimi ile popülerlik kazanmıştır. Ayrıca nesne yönelimli bir dil olarak tasarlanmıştır ve bu özelliği sayesinde işlevsel programlama da desteklenir. Bu makalede, Linux üzerinde Ruby programlama diline giriş yapacağız ve bu dilin nasıl kullanılabileceğini öğreneceğiz.
Ruby Kurulumu
Ruby, Linux tabanlı işletim sistemlerinde kurulumu oldukça kolaydır. Genellikle, Linux dağıtımları Ruby’yi varsayılan olarak yüklemektedir. Eğer yüklü değilse, aşağıdaki adımları takip ederek Ruby’nin en son sürümünü kurabilirsiniz:
sudo apt-get update
sudo apt-get install ruby-full
ruby -v
Eğer kurulum işlemi başarılıysa, Ruby’nin sürüm numarasını görebilirsiniz.
Ruby Programlama
Ruby, basit sözdizimi ile anlaşılması kolay bir dildir. Ruby’de birçok farklı veri tipi vardır. Bunlar, sayılar, dize, diziler, kümeler, semboller, hashler, boolean değerler, nesneler ve nil’dir. Ruby’de, değişkenler tanımlamak oldukça kolaydır. Bir değişken tanımlamak için, değişkenin adını yazın ve değerini atayın. Örneğin:
name = "John"
age = 30
Ruby’de, dize veri tipi tek tırnak veya çift tırnak içinde tanımlanabilir. Tek tırnak kullanımı daha hızlıdır ancak değişkenlerin değerleri dize içinde gösterilemez. Çift tırnak kullanımında ise değişkenlerin değerleri gösterilebilir. Örneğin:
name = "John"
puts 'Merhaba ' + name # Merhaba John
puts "Merhaba #{name}" # Merhaba John
Yukarıdaki örnekte, ilk puts
ifadesinde name
değişkeni tek tırnak içinde kullanılmıştır ve değişkenin değeri yazdırılmamıştır. İkinci puts
ifadesinde ise name
değişkeni çift tırnak içinde kullanılmıştır ve değişkenin değeri yazdırılmıştır.
Ruby’de, koşullu ifadeler ve döngüler de oldukça kolaydır. Örneğin, bir if-else ifadesi şu şekilde yazılabilir:
x = 10
if x > 5
puts "x, 5'ten büyüktür"
else
puts "x, 5'ten küçüktür veya eşittir"
end
Bu örnekte, if
ifadesi ile x
değişkeninin 5’ten büyük olup olmadığı kontrol edilir ve eğer öyleyse "x, 5'ten büyüktür"
yazdırılır. Eğer x
değişkeni 5’ten küçük veya eşitse, "x, 5'ten küçüktür veya eşittir"
yazdırılır.
Döngüler de Ruby’de oldukça kolaydır. En yaygın kullanılan döngü, while
döngüsüdür. Örneğin:
x = 1
while x < 5
puts x
x += 1
end
Bu örnekte, while
döngüsü ile x
değişkeninin 5’ten küçük olduğu sürece, puts
ifadesi ile x
değeri yazdırılır ve x
değişkeni her turda bir artırılır.
Ruby’de, fonksiyonlar da oldukça kolaydır. Fonksiyonlar, def
anahtar kelimesi ile tanımlanır ve end
anahtar kelimesi ile sonlandırılır. Örneğin:
def greet(name)
puts "Merhaba #{name}"
end
greet("John") # Merhaba John
Bu örnekte, greet
fonksiyonu name
parametresi ile tanımlanır ve "Merhaba #{name}"
yazdırılır. Daha sonra greet
fonksiyonu "John"
parametresi ile çağrılır ve "Merhaba John"
yazdırılır.
Ruby’de, nesne yönelimli programlama da oldukça güçlüdür. Ruby’de her şey bir nesnedir ve nesne yönelimli programlama prensipleri ile tasarlanmıştır. Ruby’de, sınıflar ve nesneler oluşturmak oldukça kolaydır. Örneğin:
class Person
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Merhaba, ben #{@name}. #{@age} yaşındayım."
end
end
person = Person.new("John", 30)
person.greet # Merhaba, ben John. 30 yaşındayım.
Bu örnekte, Person
sınıfı initialize
metodu ile name
ve age
parametrelerini alır ve @name
ve @age
değişkenlerine atar. greet
metodu ile @name
ve @age
değişkenleri yazdırılır. Daha sonra Person
sınıfından bir person
nesnesi oluşturulur ve greet
metodu çağrılır.
Ruby’de, sınıflar ve nesneler arasında miras alma (inheritance) ve çoklu miras alma (multiple inheritance) da mümkündür. Miras alma, bir sınıfın başka bir sınıftan tüm özelliklerini ve davranışlarını miras alması anlamına gelir. Çoklu miras alma, bir sınıfın birden fazla sınıftan özelliklerini ve davranışlarını miras alması anlamına gelir.
Örneğin, aşağıdaki kodda Person
sınıfı, Employee
sınıfı tarafından miras alınmaktadır:
class Person
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Merhaba, ben #{@name}. #{@age} yaşındayım."
end
end
class Employee < Person
def initialize(name, age, salary)
super(name, age)
@salary = salary
end
def display_salary
puts "Maaşım #{@salary} TL."
end
end
employee = Employee.new("John", 30, 5000)
employee.greet # Merhaba, ben John. 30 yaşındayım.
employee.display_salary # Maaşım 5000 TL.
Bu örnekte, Employee
sınıfı Person
sınıfından miras alınır ve initialize
metodunda super
anahtar kelimesi ile Person
sınıfının initialize
metoduna çağrı yapılır. Daha sonra display_salary
metodu ile @salary
değişkeni yazdırılır. employee
nesnesi oluşturulur ve greet
ve display_salary
metodları çağrılır.
Ruby’de, modüller de kullanılabilir. Modüller, ortak işlevleri olan sınıfların bir araya getirilmesi için kullanılır. Modüller, sınıflara veya diğer modüllere dahil edilebilir.
Örneğin, aşağıdaki kodda Helper
modülü Person
sınıfına dahil edilir:
module Helper
def say_hello
puts "Merhaba"
end
end
class Person
include Helper
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Merhaba, ben #{@name}. #{@age} yaşındayım."
end
end
person = Person.new("John", 30)
person.say_hello # Merhaba
Bu örnekte, Helper
modülü say_hello
metodunu tanımlar. Person
sınıfı include
anahtar kelimesi ile Helper
modülünü dahil eder. person
nesnesi oluşturulur ve say_hello
metodu çağrılır.
Ruby’de, birçok kütüphane ve çerçeve bulunmaktadır. Örneğin, Rails, Ruby için en popüler web çerçevelerinden biridir. Rails, Ruby dilinde web uygulamaları oluşturmak için kullanılır. Rails, MVC (Model-View-Controller) mimarisine dayanır ve ActiveRecord ORM (Object-Relational Mapping) kullanır. ActiveRecord, Ruby nesnelerinin veritabanındaki kayıtlarını temsil etmek için kullanılan bir ORM’dir.
Örneğin, aşağıdaki kodda, Rails kullanarak bir blog uygulaması oluşturulabilir:
# öncelikle, Rails yüklenir
require 'rails/all'
# Blog uygulaması oluşturulur
class Blog < Rails::Application
# veritabanı ayarları
config.database = {
adapter: 'postgresql',
encoding: 'unicode',
database: 'blog',
pool: 5,
username: 'username',
password: 'password'
}
# model sınıfı
class Post < ActiveRecord::Base
validates :title, presence: true
validates :body, presence: true
end
# controller sınıfı
class PostsController < ActionController::Base
def index
@posts = Post.all
end
def show
@post = Post.find(params[:id])
end
def new
@post = Post.new
end
def create
@post = Post.new(params[:post])
if @post.save
redirect_to posts_path
else
render :new
end
end
def edit
@post = Post.find(params[:id])
end
def update
@post = Post.find(params[:id])
if @post.update(params[:post])
redirect_to posts_path
else
render :edit
end
end
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
end
# routes ayarları
config.routes.draw do
resources :posts
end
end
# Blog uygulaması başlatılır
Blog.initialize!
# Veritabanı oluşturulur
ActiveRecord::Base.establish_connection(Blog.config.database)
ActiveRecord::Schema.define do
create_table :posts do |t|
t.string :title
t.text :body
t.timestamps
end
end
Bu örnekte, Rails uygulaması Blog
sınıfı içinde oluşturulur. Post
sınıfı, ActiveRecord’den miras alır ve title
ve body
alanlarına sahip bir posts
tablosunu temsil eder. PostsController
sınıfı, index
, show
, new
, create
, edit
, update
ve destroy
metodları ile CRUD (Create-Read-Update-Delete) işlemlerini gerçekleştirir. routes
bloğu, posts
kaynaklarına yönlendirme ayarlarını yapar.
Son olarak, Blog
sınıfı initialize!
metodu ile başlatılır ve ActiveRecord::Base.establish_connection
metodu ile veritabanı bağlantısı kurulur. ActiveRecord::Schema.define
bloğu, posts
tablosunu oluşturur.
Ruby ve Rails, özellikle web geliştirme konusunda oldukça popülerdir ve birçok büyük şirket tarafından kullanılmaktadır. Ayrıca, Ruby topluluğu oldukça aktiftir ve çeşitli açık kaynaklı kütüphaneler ve araçlar sunmaktadır.
Özetlemek gerekirse, Ruby programlama dili oldukça esnek, anlaşılması kolay ve zengin bir dilidir. Bu nedenle, birçok farklı alanda kullanılır, ancak özellikle web geliştirme konusunda çok popülerdir. Ruby’nin zengin bir kütüphane ve araç ekosistemi vardır ve Rails gibi web çerçeveleri, Ruby dilini kullanarak hızlı ve güçlü web uygulamaları oluşturmayı kolaylaştırır.
İlginizi Çekebilir
Günümüzde dijital dünyada fark yaratmak isteyen her işletme için güçlü bir web varlığı olmazsa olmaz. Bu bağlamda, Windows...
Devamını OkuGünümüzde siber güvenlik, dijital yaşamımızın vazgeçilmez bir parçası haline gelmiştir. Özellikle fidye yazılımlar, bireylerin ve şirketlerin verilerini rehin...
Devamını OkuBlog yazınızda, özgün başlık seçiminden profesyonel görsel kullanıma kadar etkili SEO stratejilerini ve kullanıcı deneyimini nasıl iyileştireceğinizi keşfedin.E-ticaret...
Devamını OkuMuhasebe süreçlerinin güvenliği, veri bütünlüğü ve sürekliliği, işletmeler için olmazsa olmaz kriterler arasındadır. Bu nedenle, muhasebe verilerinizi yönetirken...
Devamını OkuWeb siteniz için en iyi hosting firmasını seçerken dikkat etmeniz gereken konuları öğrenin: kontrol paneli, müşteri desteği, fiyatlandırma...
Devamını OkuGoogle Analytics'in ne olduğunu, nasıl kurulacağını, veri analizi ve raporlama araçlarını anlatan detaylı rehber. Veri inceleme ipuçları.Blog Giriş...
Devamını Oku