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

BayWhit3

Üye
13 Kas 2023
129
59
20
Osmanlı İmparatorluğu
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.
Elinize Sağlık
 

oskaldark

Yeni üye
30 Eki 2023
12
7
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.
Eline sağlık 👌👌👌
 

Joe101

Junior Hunter
23 Haz 2023
23
12
Eline sağlık Bunjo.Kodun bu kısmı bende hata veriyor da acaba sorun bende mi?
text = "12 Aralık 2022"
if match = text.match(/(\d+) (\w+) (\d+)/) // If bloğu tahminimce == olacak ama iki türlü de çalışmıyor.
day = match[1]
month = match[2]
year = match[3]
puts "Gün: #{day}, Ay: #{month}, Yıl: #{year}"
end
 

Bunjo

Uzman üye
14 Ara 2020
1,587
1,883
HTTParty
Teşekkür ederim.
Eline sağlık Bunjo.Kodun bu kısmı bende hata veriyor da acaba sorun bende mi?
text = "12 Aralık 2022"
if match = text.match(/(\d+) (\w+) (\d+)/) // If bloğu tahminimce == olacak ama iki türlü de çalışmıyor.
day = match[1]
month = match[2]
year = match[3]
puts "Gün: #{day}, Ay: #{month}, Yıl: #{year}"
end
Saat çok geç pek sağlıklı düşünemiyorum 😅 hata mesajını yollasanız iyi olur.
 

drjacob

Uzman üye
21 Ocak 2012
1,776
404
localhost
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.
elinize sağlık
 
Ü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.