在Ruby中,方法的返回值可以有很多種形式。以下是一些關(guān)于Ruby方法返回值的技巧:
return
關(guān)鍵字:return
關(guān)鍵字用于從方法中返回一個(gè)值。你可以將需要返回的值放在return
語(yǔ)句之后。例如:def my_method
return "Hello, World!"
end
puts my_method
()
包含的一組值。例如:def my_method
return "Hello", "World!"
end
name, greeting = my_method
puts name
puts greeting
def my_method
return ["Hello", "World!"]
end
name, greeting = my_method
puts name
puts greeting
def my_method
return { name: "Hello", greeting: "World!" }
end
result = my_method
puts result[:name]
puts result[:greeting]
class MyClass
def initialize(name, greeting)
@name = name
@greeting = greeting
end
def my_method
return @name, @greeting
end
end
obj = MyClass.new("Hello", "World!")
name, greeting = obj.my_method
puts name
puts greeting
yield
關(guān)鍵字:yield
關(guān)鍵字用于從方法中返回一個(gè)值,同時(shí)允許調(diào)用者傳遞參數(shù)。例如:def my_method(&block)
block.call
end
def my_block(name, greeting)
"#{name}, #{greeting}!"
end
result = my_method(&my_block)
puts result
return nil
:如果方法不需要返回任何值,可以使用return nil
。例如:def my_method
# Do something
return nil
end
to_s
和to_i
等方法:有時(shí),你可能希望方法返回一個(gè)可以轉(zhuǎn)換為字符串或整數(shù)的值。在這種情況下,可以使用to_s
和to_i
等方法。例如:def my_method
return 42
end
puts my_method.to_s
puts my_method.to_i
總之,Ruby方法返回值有很多種形式,可以根據(jù)實(shí)際需求選擇合適的方式。