Upload
hackday08
View
376
Download
1
Tags:
Embed Size (px)
Citation preview
Chris Pine
Some Ruby Basics
1234567.class Fixnum
'hello'.class String
Fixnum.superclass Integer
String.superclass Object
Chris Pine
Some Ruby Basics
1234567.class Fixnum
'hello'.class String
Fixnum.superclass Integer
String.superclass Object
'hello'.kind_of?(String) true
1234567.kind_of?(Integer) true
1234567.kind_of?(String) false
Chris Pine
A Little Quiz
Object.kind_of?(Object) true
Object.kind_of?(Class) true
Class.kind_of?(Object) ?
Chris Pine
A Little Quiz
Object.kind_of?(Object) true
Object.kind_of?(Class) true
Class.kind_of?(Object) true
Class.kind_of?(Class) ?
Chris Pine
A Little Quiz
Object.kind_of?(Object) true
Object.kind_of?(Class) true
Class.kind_of?(Object) true
Class.kind_of?(Class) true
'hey'.kind_of?(String) ?
Chris Pine
A Little Quiz
Object.kind_of?(Object) true
Object.kind_of?(Class) true
Class.kind_of?(Object) true
Class.kind_of?(Class) true
'hey'.kind_of?(String) true
String.kind_of?(Class) ?
Chris Pine
A Little Quiz
Object.kind_of?(Object) true
Object.kind_of?(Class) true
Class.kind_of?(Object) true
Class.kind_of?(Class) true
'hey'.kind_of?(String) true
String.kind_of?(Class) true
Fixnum.kind_of?(Integer) ?
Chris Pine
A Little Quiz
Object.kind_of?(Object) true
Object.kind_of?(Class) true
Class.kind_of?(Object) true
Class.kind_of?(Class) true
'hey'.kind_of?(String) true
String.kind_of?(Class) true
Fixnum.kind_of?(Integer) false
Chris Pine
What We Know…
aClass.superclass.superclass…
Object
Object.superclass nil
anObject.class.class… Class
Class.class Class
Chris Pine
What We Know…
aClass.superclass.superclass…
Object
Object.superclass nil
anObject.class.class… Class
Class.class Class
aClass.class Class
anObject.class.class Class
Chris Pine
Modules
module FooMod class String def foo include FooMod 'BIGFOO!' end endend
Object Proxy:FooMod
foo
Stringreversesplit…
Chris Pine
Singleton Classes (objects)
me = 'Chris'
def me.wife 'Katy'end
String 'Chris'(S)
'Chris'
reversesplit…
wife
Chris Pine
Singleton Classes (classes)
poly = Polygon.new
poly.area 12.823
Polygon.largest poly
tri = Triangle.new
tri.area 9.816
tri.hypotenuse 7.244
Triangle.largest tri
Chris Pine
Singleton Classes (classes)
Polygon Trianglehypotenusearea
largest
new
Class Polygon(S)?
?
?
?
Chris Pine
Polygon Trianglehypotenusearea
largest
new
Class
Poly(S) Tri(S)
Object
Obj(S) Class(S)
Mod(S)
Module