12

Programming Language: Ruby

Embed Size (px)

DESCRIPTION

Programming Language: Ruby

Citation preview

Page 1: Programming Language: Ruby
Page 2: Programming Language: Ruby
Page 3: Programming Language: Ruby

1993

1995

1999

2003

2004

2005

2010

Page 4: Programming Language: Ruby
Page 5: Programming Language: Ruby

(http://jruby.codehaus.org/)JVM)

(http://www.ironruby.net/)

Page 6: Programming Language: Ruby

…●

○○○

Page 7: Programming Language: Ruby
Page 8: Programming Language: Ruby
Page 9: Programming Language: Ruby

- BINDING:

def binding_elsewherex = 20return binding

end

remote_binding = binding_elsewherex = 10eval("puts x")

eval("puts x", remote_binding)

Page 10: Programming Language: Ruby

Reflection:

class Personend

def add_accessor_to_person(accessor_name)Person.class_eval %Q{

attr_accessor :#{accessor_name}}

end

irb>> person = Person.newirb>> add_accessor_to_person :nameirb>> add_accessor_to_person :genderirb>> person.name = "Peter Cooper"irb>> person.gender = "male"irb>> puts "#{person.name} is #{person.gender}"---------------------------------------------

class MyClassdef initialize

@my_variable = 'Hello, world!'end

endobj = MyClass.newobj.instance_eval { puts @my_variable }

Page 11: Programming Language: Ruby
Page 12: Programming Language: Ruby

-Efficiency ?

- Isn’t widely used in Industry except for web apps

- Not Powerful as python ( Not biased :P )