gpt4 book ai didi

ruby - Ruby 中的返回方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:14 25 4
gpt4 key购买 nike

正如您在这些问题中看到的,我必须返回一个 Ruby 类方法两次。

# # 5a. Create a class called Animal that initializes with a color. Create a method in the class called legs that returns 4.

class Animal
def initialize(color)
@color = color
end

def legs
legs = 4
p "My animal has #{legs} legs"
end
end


# 5b. Create a new instance of an Animal with a brown color. Return how the number of legs for the animal object.
p Animal.new('brown')

我没有收到任何错误消息。这些方法只是不返回,我也尝试过“puts”,但我一定是遗漏了其他东西。

谢谢!

最佳答案

获得所需内容的最简单更改是:

class Animal 
def initialize(color)
@color = color
end

def legs
4
end
end

示例用法

Animal.new("brown").legs 

# => 4
  1. 这满足允许用颜色初始化对象的要求
  2. 并提供返回数字 4
  3. 的方法

正如 Josh 在他的回答中所说,您实际上必须调用对象上的方法才能看到该方法的结果。

ruby 的工作方式是方法返回的值是方法返回之前执行的最后一个表达式返回的值,因此如果您交换了发布的腿方法中语句的顺序,您的方法将满足您的要求,但是会产生打印“我的动物有 4 条腿”的副作用。

顺便说一句,p不是 puts 的别名,参见herehere有关看跌期权的更多信息

关于ruby - Ruby 中的返回方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57734318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com