Çalıştırıldığında ekranda görüntülenen iletiyi dikkate alarak programı tamamlayın.
class Hello
...
end
def main
hello = Hello.new
hello.call
end
main
ruby main.rb
Hello, World!
Hello nesnesini değiştirelim, öyle ki selamlama terminalden veya standart girdiden okunan isme yapılsın.
ruby main.rb <<INPUT
Merve
INPUT
Hello, Merve!
İpucu: Hello nesnesine name adında bir nitelik ekleyin, isim okuma işlemini sınıf dışında yapın ve Hello nesnesini inşa ederken name niteliğini ilkleyin.
İsim verilmemişse öntanımlı isim World olarak alınabilir mi?
ruby main.rb <<INPUT
INPUT
Hello, World!
Üç boyutlu uzayda bir noktayı modelleyin.
class Point3D
...
end
def main
p = Point3D.new 3, 5, 8
puts p
end
ruby main.rb
(x: 3, y: 5, z: 8)
Point3D nesnesine x, y ve z koordinatları isimlendirilmiş olarak nasıl verilir?
...
def main
p = Point3D x: 3, y: 5, z: 8
puts p
end
Değer verilmemiş bir koordinatın öntanımlı olarak 0 alınmasını sağlayın.
...
def main
p = Point3D x: 3
puts p
end
ruby main.rb
(x: 3, y: 0, z: 0)
Point3D nesnesinin herhangi bir koordinat bilgisinin en fazla 5 kez okunmasını, bu sınır aşıldığında uyarı görüntülenmesini sağlayın.
...
def main
p = Point3D x: 3, y: 5, z: 8
puts p.x
puts.p.x
puts p.z
puts p.y
puts p.y
puts p.z
end
ruby main.rb
3
3
8
5
5
UYARI: Okuma limiti aşıldı
Koordinatlara yapılan erişim sayısını nread adında bir nitelikle izleyin. Bu niteliğin dışarıdan okunmamasını sağlayın.
Aşağıda verilen Falan nesnesinde her bir metodu çağırarak neler olduğunu gözleyin.
class Falan
private
def this_is_private
end
def not_private_this_is_public
end
public :not_private_this_is_public
def also_private
end
public
def now_public
end
def not_public_this_is_private
end
private :not_public_this_is_private
def also_public
end
end
Aşağıda verilen koddaki eksik kısımları tamamlayın ve çalıştırın. Sorunlar nelerdir? Deneme yaparak açıklayın.
class Point3D
...
def reset
x, y, z = 0, 0, 0
end
private
attr_writer :x, :y, :z
end
def main
p = Point3D.new 3, 5, 8
p.reset
p.z = 7
end
main
ruby main.rb