Skip to content

Instantly share code, notes, and snippets.

@gdemir
Created February 4, 2011 19:22
Show Gist options
  • Select an option

  • Save gdemir/811596 to your computer and use it in GitHub Desktop.

Select an option

Save gdemir/811596 to your computer and use it in GitHub Desktop.
#!/usr/bin/ruby
# coding: utf-8
require 'renk'
class Dortgen
include Unit
attr_accessor :en, :boy, :alan
def initialize x, y
@en = x.to_s + " metre"
@boy = y.to_s + " metre"
@alan = (x * y).to_s + " metrekare"
@renk = nil
end
end
class Kare
include Unit
attr_accessor :en, :boy, :alan
def initialize *x
begin
raise ArgumentError unless x.size == 1
rescue ArgumentError=>e
Stderr.puts "ArgumentError: sadece bir kenarinin uzunlugu girilmeli"
else
@en = x.to_s + " metre"
@boy = x.to_s + " metre"
@alan = (x[0] * x[0]).to_s + " metrekare"
@renk = nil
end
end
end
bir_nesne = Dortgen.new 2, 3
p bir_nesne.en
p bir_nesne.boy
p bir_nesne.alan
bir_nesne.boya :mavi
p bir_nesne.renkli?
bir_nesne.boya :mor
diger_nesne = Kare.new 2, 1
diger_nesne = Kare.new 2
p diger_nesne.en
p diger_nesne.boy
p diger_nesne.alan
p diger_nesne.renkli?
#!/usr/bin/ruby
# coding: utf-8
module Unit
def boya renk
renkler = [:kirmizi, :mavi, :sari, :yesil]
begin
raise TypeError unless renkler.include?(renk)
rescue TypeError=>e
$stderr.puts "TypeError #{renkler} disinda boya yok"
else
@renk = renk
end
end
def renkli?
return true if @renk
return false
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment