ruby-method

ruby methods in ruby

Methods in Ruby

method एक set/group/collection होता है statements का, किसी specific task को perform करने के लिए। method भी एक तरह के function होते हैं लेकिन ruby में function का use नहीं होता, ruby में method use होते हैं। पिछले lesson में arrays और hashes के method के बारे में पड़ा था। वो ruby के library method हैं जो ruby में पहले से होते हैं। हम अपने भी method बना सकते हैं ruby में और उन्हें use कर अपने ही set किये हुए टास्क पे।

How to define methods in ruby?

ruby में method को define करने के लिए def keyword का use होता है। method का name lowercase letter (छोटे अक्षर) में होना चाहिए।

#syntax of defining method in ruby
def method_Name
#code statements
end
#simple method in ruby
def test
puts "Hi! I'm method."
end

Method Call

method define होने के बाद अपने आप run नहीं होते, tab तक run/execute नहीं होते जब तक method को call न किया जाए। method को call method का name लिख कर किया जाता है। method को call किसी और method के बीच में भी किया जा सकता है, लेकिन ध्यान रहे method को call करने ने पहले method define होना चाहिए नहीं तो error generate होगा। उपर define किये गए method को हम अब call करेंगे और उसकी output जानेगे।

#Syntax of calling Method
method_Name
#calling the method
test
#Outputs
Hi! I'm method.

Method with parameters

method की declaration के समय अगर method को बाहर से कोई value assign हो रही हो तो, इसे method के parameters कहते हैं, यह parameters एक variable ही होते हैं और यह variable parameters parentheses "( )" में define होते हैं। parentheses के बिना भी parameter को use कर सकते हैं। अगर एक से अधिक parameters हों तो उन्हें comma "," से seprate होते है। parameters को pass की जाने वाली values arguments होती हैं।

#Syntax method with parameters
def test(x) #x ek parameter hai
puts x*x
end

test(24) #24 ek argument hai, veh value jo method ko pass ki jati hai, jab method ko call kiya jata hai

#Output
576
#simple method with Multiple parameter in ruby
def test(x,y,z)
puts x+y+z
end

test(24,12,10)

#Outputs
46

Default Parameters

जब parameters के साथ ही उन्हें value दी जाए तो ruby में उन्हें default parameter कहा जाता है। अगर method calling समय arguments की value ना पास की जाए तो, parameters default value को use करते हैं, नहीं तो पास की हुई value ही use होती है।

#method with Default parameters
def test(x,y=4,z=10)
puts x+y+z
end

test(24,12)

#Output
46

Optional Parameters

Optional parameters में अगर arguments की value पास कर दी जाए तो भी method को कोई फर्क नहीं पड़ता और अगर value ना भी पास की जाए तो भी method में कोई error नहीं होता। optional parameters में एक paramter ऐसा होता है जिस में arrays की तरह multiple values भी पास की सकती हैं। अगर optional parameter को कोई भी value ना दी जाए तो यह empty रह जाता है।

#Syntax Optinal Parameters
def method_Name(*Optional_Parameter)
#staments
end

method_name(Optinal_Values)
#method with Optinal parameters
def test(x, *y)
print "#{x}#{y}\n"
end

test("Learn", "Ruby", "Neobit",2018)
test("Learn")

#Outputs
Learn["Ruby", "Neobit", 2018]
Learn[]

Method with returning Values

अब तक हमने method को values पास कराने के बारे में पड़ा है। returning values का मतलब है के method से values को return करा लेना। चूँकि अब तक हमने जो भी output display की वो method के अंदर से की है, अब method के बाहर से value को display करेंगे। values को return करने के लिए return keyword का use होता है, method में return के बाद का कोई भी code execute नहीं होता, इसलिए return keyword को method के end में use किया जाता है।

#Syntax method returning values
def mehtod_Name(parameters)
#statemets
return variable_name
end
#method with returning values
def test(x, y) z=x*y
return z end
val = test(24,10)
puts val

#Outputs
240

Method with multiple returning values

method से एक से ज्यादा values return करनी हों तो, return keyword use करने करने के बाद अलग अलग variables का use करने और comma "," का use कर उन variables को seprate करें।

#method with returning multi values
def test(x, y)
a=x+y
b=x-y
return a, b
end

val = test(24,10)
puts val

#Outputs
34
14

Methods as Agruments in ruby

methods को हम किसी दुसरे method के arguments की जगह पर भी use कर सकते हैं, जिस से एक method argument की तरह काम करता है और call किया जाता है।

#methods as agruments
def add(x, y)
x+y #24+4=28
end
def sub(x, y)
x-y #24-10=14
end
def div(x, y)
x/y #28/14=2
end

val = add(sub(24,4),sub(24,10))
puts val

#Outputs
28

Recursion in Ruby

recursion एक ऐसा method है जो loop तरह काम करता है। recursion method अपने आप को call करता है रहता है, हर iteration के बाद यह अपने terminate point के पास होता जाता है। recursion में एक terminate point होता है, जहाँ पर पहुँच कर यह अपने आप को call करना बंद कर देता है। अगर terminate point set ना किया जाए तो यह infinite recursion बन जाता है जो चलता ही रहता है, और एक सीमा पर आकर error दे देता है।

#Syntax recursion
def method_Name
#statements
method_Name
end
#Recursive method
def factor(n)
if n<=1 #terminate point
1
else
n*factor(n-1) #Apne aap ko call krna;
end
end

puts factor(4)

#outputs
24 #4*3*2*1=24
Share on Google Plus

About Lakhvir Singh

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment