class BosDugum
def to_a
[]
end
def include?(*)
false
end
def ekle(*)
false
end
alias_method :<<, :ekle
def incele
end
end
class Node
attr_reader :dugum
attr_accessor :sol, :sag
def initialize(v)
@dugum = v
@sol = BosDugum.new
@sag = BosDugum.new
end
def ekle(v)
case dugum <=> v
when 1 then ekle_sol(v)
when -1 then ekle_sag(v)
when 0 then false
end
end
alias_method :<<, :ekle
def include?(v)
case dugum <=> v
when 1 then sol.include?(v)
when -1 then sag.include?(v)
when 0 then true
end
end
def incele
"#{sol.incele} #{dugum} #{sag.incele}"
end
def to_a
sol.to_a + [dugum] + sag.to_a
end
private
def ekle_sol(v)
sol.ekle(v) || self.sol = Node.new(v)
end
def ekle_sag(v)
sag.ekle(v) || self.sag = Node.new(v)
end
end
end
tree = BinaryTree::Node.new(10)
#tree.sol = BinaryTree::Node.new(5)
#tree.sag = BinaryTree::Node.new(15)
tree.ekle(5)
tree.ekle(15)
tree.ekle(3)
tree.ekle(12)
tree.ekle(8)
tree.ekle(17)
puts tree.incele
Bu kısımda Ruby programlama dilinde dizilerde nasıl eleman seçebiliriz ,seçtiğimiz elemanlar üzerinde nasıl değişiklik yapabiliriz ve dizilerde yineleme işlemlerini nasıl...
Ruby'de bir değişken, adının başındaki karakterler ile ayırt edilebilir. Değişken adı belirlerken karakter sınırlaması yoktur. 4 adet değişken türü mevcuttur....