Modüller Tanımlama
Ad alanları ve yöntemler
Modüller Tanımlama, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.
Ad Alanları ve Metotlar
Modül, metotlar ve sabitler için bir kapsayıcıdır. Bir sınıfın aksine, modülün bir örneğini oluşturamazsınız. Modüller iki amaca hizmet eder: kodu gruplamak (ad alanı oluşturmak) ve davranışı paylaşmak (karışımlar).
module Greeter
def self.hello
"Hello from the module"
end
end
puts Greeter.helloModül Metotları
Bir metodu self. ile tanımlayarak onu yardımcı işlev gibi doğrudan modül üzerinde çağırabilirsiniz. Bunlara genellikle modül işlevleri denir.
module MathTools
def self.square(x)
x * x
end
end
puts MathTools.square(7)Modül Sabitleri
Modüller sabitleri de barındırır. Sabitlere kapsam işleci olan :: ile erişin.
module Physics
GRAVITY = 9.81
end
puts Physics::GRAVITYSınıflar İçin Ad Alanı Oluşturma
Ad çakışmalarını önlemek için sınıfları bir modülün içine yerleştirin. Tam ad, :: kullanır.
module Store
class Item
def initialize(name)
@name = name
end
def to_s
@name
end
end
end
puts Store::Item.new("Book")Ad Alanları Neden Önemlidir
İki kitaplık da bir Logger tanımlayabilir. Ad alanları bunları ayrı tutar: Audio::Logger ve Network::Logger hiçbir zaman çakışmaz.
module Audio
class Logger
def name; "audio logger"; end
end
end
module Network
class Logger
def name; "network logger"; end
end
end
puts Audio::Logger.new.name
puts Network::Logger.new.nameModül İşlevi
module_function, sonraki metotların hem modül üzerinde hem de karışıma dâhil edildiklerinde özel örnek metotları olarak çağrılabilmesini sağlar. Böylece self. ifadesini tekrarlamak gerekmez.
module Calc
module_function
def add(a, b)
a + b
end
end
puts Calc.add(2, 3)İlişkili Sabitleri Gruplama
Modüller, ilişkili yapılandırma değerlerini tek ve anlaşılır bir ad altında düzenlemek için çok uygundur.
module Color
RED = "#FF0000"
GREEN = "#00FF00"
BLUE = "#0000FF"
end
puts Color::GREENİç İçe Modüller
Daha kapsamlı bir düzenleme için modüller başka modüllerin içine yerleştirilebilir.
module App
module Config
VERSION = "1.0"
end
end
puts App::Config::VERSIONModül İçeriğini Listeleme
Yansıma metotları, bir modülün sabitlerini ve metotlarını çalışma zamanında incelemenizi sağlar.
module Settings
WIDTH = 80
HEIGHT = 24
end
p Settings.constantsModüller Örneklenemez
Adlandırılmış bir modül üzerinde Module.new kullanmayı denemek başarısız olur; çünkü modüllerin örnek oluşturmak için bir kurucusu yoktur. Modül, nesneler için bir şablon değil, bir ad alanı ve davranış taşıyıcısıdır.
module Tools
end
begin
Tools.new
rescue NoMethodError => e
puts "Cannot instantiate: #{e.message}"
endHepsini Bir Araya Getirme
Modüller kodu düzenler ve paylaşır:
- Çağrılabilir modül işlevleri için
self.methodkullanın. ::ile erişilen sabitleri barındırın.- Çakışmaları önlemek için sınıflara ad alanı verin.
- Bir modülü örnekleyemezsiniz.
module Geometry
PI = 3.14159
def self.circle_area(r)
PI * r * r
end
end
puts Geometry.circle_area(2)Hızlı Kontrol
Modüllerle ilgili anlayışınızı test edin.
Özet
Modül tanımlamayı öğrendiniz:
- Modüller metotları ve sabitleri gruplar.
self.method, çağrılabilir modül işlevleri tanımlar.::, sabitlere ve iç içe sınıflara erişir.- Ad alanları, ad çakışmalarını önler.
module Util
def self.shout(s)
s.upcase + "!"
end
end
puts Util.shout("ruby")Yapay zeka eğitmeniyle Ruby öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 29
- Dersler
- 109
Sıkça Sorulan Sorular
“Modüller Tanımlama” dersi ücretsiz mi?
Evet — “Modüller Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.
“Modüller Tanımlama” dersinde ne öğreneceğim?
Ad alanları ve yöntemler Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Modüller Tanımlama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Modüller Tanımlama
- include ve extend
- Comparable ve Enumerable
- prepend ve Yöntem Çözümleme