Üst Düzey Ruby Eğitimi #3 (Regexp, Fonksiyonlar)

Bunjo

Uzman üye
14 Ara 2020
1,587
1,885
HTTParty
Ben Bunjo, bu derste "Regexp" ve "Fonksiyon" kavramlarının anlatımlarını yapacağım. birinci ve ikinci dersler için bize tıkla.

Regex (Düzenli İfadeler), metin içinde desenleri aramak, eşleştirmek ve değiştirmek için kullanılan güçlü bir araçtır. Ruby'de regex, /pattern/ sözdizimi ile ifade edilir. Aşağıda, Ruby'de regex kullanımını detaylı bir şekilde anlatan bir rehber bulunmaktadır:


1. Temel Regex Tanımlamaları:


  • /pattern/ : Regex ifadesini tanımlar. Örneğin, /hello/ ifadesi "hello" kelimesini eşleştirir.
  • =~ : Bir metni bir regex ile eşleştirmek için kullanılır. Örneğin, if "Merhaba" =~ /Mer/ ifadesi true dönecektir.

2. Temel Metakarakterler:

  • . : Herhangi bir karakteri temsil eder.
  • ^ : Satır başını ifade eder.
  • $ : Satır sonunu ifade eder.
  • [] : Belirli karakterlerin bir kümesini temsil eder. Örneğin, [aeiou] ifadesi herhangi bir sesli harfi eşleştirir.

3. Temel Nicelendiriciler:

  • * : Önceki öğenin sıfır veya daha fazla tekrarını temsil eder.
  • + : Önceki öğenin bir veya daha fazla tekrarını temsil eder.
  • ? : Önceki öğenin sıfır veya bir kez tekrarını temsil eder.

4. Özel Karakterler:

  • \d : Sayıları temsil eder.
  • \w : Harf ve rakamları temsil eder.
  • \s : Boşluk karakterlerini temsil eder.
  • \b : Kelimenin sınırlarını temsil eder.

5. Gruplandırma ve Alt İfadeler:

  • () : Bir grup içindeki ifadeyi gruplar.
  • | : Alternatif ifadeyi belirtir. Örneğin, /(bir|iki)/ ifadesi "bir" veya "iki"yi eşleştirir.

6. Modifikatörler:

  • i : Büyük/küçük harf duyarlılığını kapatır.
  • m : Satır başı (^) ve satır sonu ($) ifadelerini çok satırlı modda etkinleştirir.

7. Regex Kullanımı:


7.1. Eşleştirme:


Ruby:
text = "Merhaba, Dünya!"
if text =~ /Dünya/
  puts "Eşleşme bulundu!"
end

7.2. Gruplandırma:

Ruby:
text = "12 Aralık 2022"
if match = text.match(/(\d+) (\w+) (\d+)/)
  day = match[1]
  month = match[2]
  year = match[3]
  puts "Gün: #{day}, Ay: #{month}, Yıl: #{year}"
end

7.3. Değiştirme:

Kod:
text = "Merhaba, Dünya!"
new_text = text.gsub(/Dünya/, "Ruby")
puts new_text

Bu örnekler, temel regex kullanımını kapsamaktadır. Regex oldukça güçlü ve esnek bir araçtır, bu nedenle daha karmaşık ifadeler ve kullanımlar için Ruby'nin resmi regex belgelerine başvurmanız önerilir. Şimdi fonksiyonları tanıyalım.

1. Fonksiyon Tanımlama ve Çağırma:

Ruby:
def merhaba_dunya
  puts "Merhaba, Dünya!"
end

# Metodu çağırma
merhaba_dunya

2. Parametreli Fonksiyonlar:

Ruby:
def toplama(x, y)
  puts "#{x} + #{y} = #{x + y}"
end

# Metodu çağırma
toplama(5, 3)

3. Varsayılan Parametreler:

Ruby:
def selam(veri = "Bilgi Yok")
  puts "Selam, #{veri}!"
end

# Metodu çağırma
selam("Ruby")
selam

4. Dönüş Değeri Olan Fonksiyonlar:

Ruby:
def kare_al(sayi)
  sayi * sayi
end

# Metodu çağırma
sonuc = kare_al(4)
puts "Sonuç: #{sonuc}"

5. Sınıf Metotları:
Ruby:
class Matematik
  def self.topla(a, b)
    a + b
  end
end

# Sınıf metodu çağırma
sonuc = Matematik.topla(10, 5)
puts "Toplam: #{sonuc}"

Bu dersinde konusu bu kadardı teşekkür ederim.
Not: Konunun içeriği ve kodlar tamamen benim tarafımdan hazırlanmıştır, konunun akışı ve metin formatına yardım alınmıştır.
 

invisible blood

Uzman üye
15 Eyl 2023
1,177
442
Ben Bunjo, bu derste "Regexp" ve "Fonksiyon" kavramlarının anlatımlarını yapacağım. birinci ve ikinci dersler için bize tıkla.

Regex (Düzenli İfadeler), metin içinde desenleri aramak, eşleştirmek ve değiştirmek için kullanılan güçlü bir araçtır. Ruby'de regex, /pattern/ sözdizimi ile ifade edilir. Aşağıda, Ruby'de regex kullanımını detaylı bir şekilde anlatan bir rehber bulunmaktadır:


1. Temel Regex Tanımlamaları:


  • /pattern/ : Regex ifadesini tanımlar. Örneğin, /hello/ ifadesi "hello" kelimesini eşleştirir.
  • =~ : Bir metni bir regex ile eşleştirmek için kullanılır. Örneğin, if "Merhaba" =~ /Mer/ ifadesi true dönecektir.

2. Temel Metakarakterler:

  • . : Herhangi bir karakteri temsil eder.
  • ^ : Satır başını ifade eder.
  • $ : Satır sonunu ifade eder.
  • [] : Belirli karakterlerin bir kümesini temsil eder. Örneğin, [aeiou] ifadesi herhangi bir sesli harfi eşleştirir.

3. Temel Nicelendiriciler:

  • * : Önceki öğenin sıfır veya daha fazla tekrarını temsil eder.
  • + : Önceki öğenin bir veya daha fazla tekrarını temsil eder.
  • ? : Önceki öğenin sıfır veya bir kez tekrarını temsil eder.

4. Özel Karakterler:

  • \d : Sayıları temsil eder.
  • \w : Harf ve rakamları temsil eder.
  • \s : Boşluk karakterlerini temsil eder.
  • \b : Kelimenin sınırlarını temsil eder.

5. Gruplandırma ve Alt İfadeler:

  • () : Bir grup içindeki ifadeyi gruplar.
  • | : Alternatif ifadeyi belirtir. Örneğin, /(bir|iki)/ ifadesi "bir" veya "iki"yi eşleştirir.

6. Modifikatörler:

  • i : Büyük/küçük harf duyarlılığını kapatır.
  • m : Satır başı (^) ve satır sonu ($) ifadelerini çok satırlı modda etkinleştirir.

7. Regex Kullanımı:


7.1. Eşleştirme:


Ruby:
text = "Merhaba, Dünya!"
if text =~ /Dünya/
  puts "Eşleşme bulundu!"
end

7.2. Gruplandırma:

Ruby:
text = "12 Aralık 2022"
if match = text.match(/(\d+) (\w+) (\d+)/)
  day = match[1]
  month = match[2]
  year = match[3]
  puts "Gün: #{day}, Ay: #{month}, Yıl: #{year}"
end

7.3. Değiştirme:

Kod:
text = "Merhaba, Dünya!"
new_text = text.gsub(/Dünya/, "Ruby")
puts new_text

Bu örnekler, temel regex kullanımını kapsamaktadır. Regex oldukça güçlü ve esnek bir araçtır, bu nedenle daha karmaşık ifadeler ve kullanımlar için Ruby'nin resmi regex belgelerine başvurmanız önerilir. Şimdi fonksiyonları tanıyalım.

1. Fonksiyon Tanımlama ve Çağırma:

Ruby:
def merhaba_dunya
  puts "Merhaba, Dünya!"
end

# Metodu çağırma
merhaba_dunya

2. Parametreli Fonksiyonlar:

Ruby:
def toplama(x, y)
  puts "#{x} + #{y} = #{x + y}"
end

# Metodu çağırma
toplama(5, 3)

3. Varsayılan Parametreler:

Ruby:
def selam(veri = "Bilgi Yok")
  puts "Selam, #{veri}!"
end

# Metodu çağırma
selam("Ruby")
selam

4. Dönüş Değeri Olan Fonksiyonlar:

Ruby:
def kare_al(sayi)
  sayi * sayi
end

# Metodu çağırma
sonuc = kare_al(4)
puts "Sonuç: #{sonuc}"

5. Sınıf Metotları:
Ruby:
class Matematik
  def self.topla(a, b)
    a + b
  end
end

# Sınıf metodu çağırma
sonuc = Matematik.topla(10, 5)
puts "Toplam: #{sonuc}"

Bu dersinde konusu bu kadardı teşekkür ederim.
Not: Konunun içeriği ve kodlar tamamen benim tarafımdan hazırlanmıştır, konunun akışı ve metin formatına yardım alınmıştır.
Ellerinize sağlık hocam.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.