makaleler / Diğer Konular / Ruby Nedir? Ruby Programlama Diline Giriş

Ruby Nedir? Ruby Programlama Diline Giriş

02.08.2018 13:17:22

Ruby programlama dili hakkında giriş seviyesinde uygulama oluşturma işlemleri.

Ruby Nedir?

1995 yılında Japon asıllı “Matz” lakaplı Yukihiro Matsumoto tarafından geliştirilen, Nesne Tabanlı, Yorumlanan Okunabilirlik seviyesi oldukça yüksek, WhiteSapace bağımsız, tab boşluk kullanılabilir, Python programlama diline oldukça benzeyen bir programlama dilidir. Ruby’de herşey nesnedir.

Çok karıştırılan bir konuda Ruby, Ruby On Rails değildir. Ruby On Rails aslında Ruby ile yazılmış bir web frameworkudur. Ruby programlama dilini web harici projelerde de kullanmayı düşünebilirsiniz!


Kurulum
apt update && apt dist-upgrade
apt install ruby
apt install ruby-rails

Ruby'i üç farklı şekilde çalıştırabiliriz.


Konsol Üzerinden
ruby -e 'puts "Huseyin"'
ruby -e 'print "Huseyin"'

Dosya Üzerinden
ruby test.rb

Son olarak konsol üzerinde "irb" yazarak interactive olarak Ruby kodu yazabilirsiniz.

Ufak bir örnek yapalım bu örneğimiz bir class ve içinde metodlar barındırsın.


class Selamlama           
  def initialize(isim = "Dünya")
    @isim = isim          
  end                     
  def merhaba             
    puts "Merhaba #{@isim}!"
  end                     
  def hoscakal            
    puts "Hoşcakal #{@isim}, Tekrar bekleriz."
  end                     
end                       
                          
g = Selamlama.new("Huseyin")
g.merhaba                 
g.hoscakal                



Migration Oluşturma


rails generate migration AddPublishDateToPage publish_time:date:index
..........
      invoke  active_record
      create    db/migrate/20180813094931_add_publish_date_to_page.rb

Oluşan migrate dosyamızı aşağıdaki


rake db:migrate:up VERSION=20180813094931

Alanımız oluşturuldu.
==  AddPublishDateToPage: migrating ==========================================
-- add_column(:page, :publish_date, :date)
   -> 0.3943s
-- add_index(:page, :publish_date)
   -> 0.1202s
==  AddPublishDateToPage: migrated (0.5146s) =================================


Farklı bir örnek daha yapalım bu örneğimizde tinyint alanı ekleyelim.

# rails generate migration AddShowOnAndroidOrIosToGames show_on_android:boolean:index
show_on_ios:boolean:index
....
      invoke  active_record
      create    db/migrate/20180817080315_add_show_on_android_or_ios_to_games.rb

Migration kısmını oluşturduk artık bu migration'ı db imiz için çalıştırabiliriz.


# rake db:migrate:up VERSION=20180817080315
....
==  AddShowOnAndroidOrIosToGames: migrating ===================================
-- add_column(:games, :show_on_android, :boolean)
   -> 0.3818s
-- add_index(:games, :show_on_android)
   -> 0.1136s
-- add_column(:games, :show_on_ios, :boolean)
   -> 0.4097s
-- add_index(:games, :show_on_ios)
   -> 0.1152s
==  AddShowOnAndroidOrIosToGames: migrated (1.0205s) ==========================

Yukarıda yaptığımız örneğimizde aynı anda iki alan oluşturmuş olduk ayrıca tinyint(1) tipinde farklı bir alan ekledik. Aşağıdaki tabloda bu alan tiplerinin db bazlı nasıl isimlendirildiğini görebilirsiniz.



yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda