#Define function to display "Hello world".
def disp() puts "Hello World"end#Calling a function.
dispHello World=> nil#Function with parameters. # Function over-ridding is not allowed, it seems.
def disp(name) puts "Hello #{name}"end#-------------------------
disp("Rohit")Hello Rohit=> nil#-------------------------
disp "Rohit"Hello Rohit=> nil#-------------------------
dispArgumentError: wrong number of arguments (0 for 1)#Greeter class
class Greeter def initialize(name="world") @name=name end def say_hi puts "Hi #{@name}" end def say_bye puts "Bye #{@name}, Come back again." endend#Creating Object of Greeter
greeter = Greeter.new()=> #<Greeter:0x7f8aadecbcf8 @name="world">greeter = Greeter.new("Rohit")=> #<Greeter:0x7f8aadec3a80 @name="Rohit">greeter.say_hiHi Rohit=> nilgreeter.say_byeBye Rohit, Come back again.=> nil#Method list for Greeter Class including Ancestors methods too.
Greeter.instance_methods=> ["inspect", "tap", "clone", "say_bye", "public_methods", "__send__", "object_id", "instance_variable_defined?", "equal?", "freeze", "extend", "send", "methods", "hash", "dup", "to_enum", "instance_variables", "eql?", "instance_eval", "id", "disp", "singleton_methods", "taint", "enum_for", "frozen?", "instance_variable_get", "instance_of?", "display", "to_a", "method", "type", "instance_exec", "protected_methods", "==", "===", "instance_variable_set", "kind_of?", "respond_to?", "to_s", "say_hi", "class", "__id__", "tainted?", "=~", "private_methods", "untaint", "nil?", "is_a?"]#Methods only from Greeter class.
Greeter.instance_methods(false)=> ["say_bye", "say_hi"]#Ruby allows to update(add any member function) object at run time. this updates all instances.
class Greeter attr_accessor : name #This adds setter(name=) and getter(name) function in Greeter class and all objects of it. def newfunc puts "Test" endend