Difference between revisions of "Ruby"
From Suhrid.net Wiki
Jump to navigationJump to searchLine 49: | Line 49: | ||
boo #calls the getter method | boo #calls the getter method | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | * No return values specified in the method. The value of the last expression executed in the method is its return value. | ||
+ | |||
+ | <syntaxhighlight lang="ruby"> | ||
+ | |||
+ | def min (x,y) | ||
+ | if x < y then x else y end | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * When invoking a method, parentheses are optional. |
Revision as of 10:04, 3 September 2014
Philosophy
- Focus is on the programmer rather than the machine. i.e. maximize programmer efficiency.
- Principle of least astonishment - behave in such a way that minimized the confusion of experienced Ruby programmers.
- Ruby is an object-oriented scripting language.
- Multi paradigm :
- Scripting : automate tasks within some environment
- Imperative : traditional control structures
- Object oriented : everything is an object
- Functional : Also exists. Computation proceeds via the evaluation of functions that depend only on their input, not program state.
Classes and Inheritance
class MyClass
@boo #instance variable
def my_method
@foo = 2 #instance variable
end
end
mc = MyClass.new #create a myclass object
mc.my_method #calls the method
mc.boo #error, not allowed to access variable
- An instance variable can only be accessed or modified within a method definition.
class MyClass
def boo #getter method
return @boo
end
def boo=(val) #setter method
@boo = val
end
end
mc = MyClass.new #create a myclass object
boo = 1 #calls the setter method
boo #calls the getter method
- No return values specified in the method. The value of the last expression executed in the method is its return value.
def min (x,y)
if x < y then x else y end
end
- When invoking a method, parentheses are optional.