How to create a function with an optional parameter in Ruby

5 Answers

0 votes
# Default Parameter Value

def greet(name = "Guest")
  puts "Hello, #{name}"
end

greet("Triple")   
greet            


# run:
# 
# Hello, Triple
# Hello, Guest
#

 



answered 2 hours ago by avibootz
0 votes
# Optional Parameter Using nil

def greet(name = nil)
  final_name = name || "Guest"
  puts "Hello, #{final_name}"
end

greet("Bob")     
greet(nil)       
greet            



# run:
# 
# Hello, Bob
# Hello, Guest
# Hello, Guest
#

 



answered 2 hours ago by avibootz
0 votes
# Optional Parameters Using Keyword Arguments
 
def greet(name: "Guest", shout: false)
  final_name = shout ? name.upcase : name
  puts "Hello, #{final_name}"
end
 
greet                         
greet(name: "Echo-9")           
greet(shout: true)             
greet(name: "nora", shout: true)
      
 
 
# run:
# 
# Hello, Guest
# Hello, Echo-9
# Hello, GUEST
# Hello, NORA
#

 



answered 2 hours ago by avibootz
0 votes
# Optional Parameters Using a Hash
 
def greet(options = {})
  name  = options[:name]  || "Guest"
  shout = options[:shout] || false

  final_name = shout ? name.upcase : name
  puts "Hello, #{final_name}"
end

greet                               
greet(name: "Echo-9")               
greet(name: "nora", shout: true)    

 
 
# run:
# 
# Hello, Guest
# Hello, Echo-9
# Hello, NORA
#

 



answered 2 hours ago by avibootz
0 votes
# Optional Parameters Using Splat (*args)
 
def greet(*names)
  name = names.first || "Guest"
  puts "Hello, #{name}"
end

greet              
greet("Echo-9")     
greet("Nora", "Kira") 

 
 
# run:
# 
# Hello, Guest
# Hello, Echo-9
# Hello, Nora
#

 



answered 2 hours ago by avibootz
...