2

虽然过去已经讨论过这个主题(局部变量与实例变量),但我希望能得到一些帮助。我已经阅读了关于这个主题的各种文档,虽然我大致了解一个局部变量存在于一个块中,并且一个实例变量可以被其他方法调用和使用,但我希望从社区中获得更多的清晰度。

你们中的任何人都可以在示例的上下文中解释什么是局部变量与实例变量吗?可能是用户故事?我宁愿不看任何代码,而是看一个故事,然后围绕该故事编写代码作为练习。例子; “这是一个局部变量的故事;简去商店……”或者,“这是一个实例变量的故事,比尔去商店……”等等。

我看到很多其他人都在为此苦苦挣扎,所以我猜测两个高质量的故事应该可以帮助很多像我这样的菜鸟。

谢谢!!!

4

2 回答 2

2

你去过游乐园吗?

如果您购买了所有您可以乘坐的通行证,您可以参加所有的游乐设施,例如过山车、摩天轮和越野车课程。

所有实例变量都是您的@pass,因为在 ruby​​ 中,实例变量以@符号开头。

局部变量就像只能访问骑行区域的一部分。你的通行证正好适合摩天轮。一出摩天轮区,就没人管通行证了,就问,wtf是这个!

在 ruby​​ 术语中,变量是在作用域中分配和使用的,如果您需要转到其他作用域或方法,您可以使用这些实例变量来继续那里的乐趣。

于 2012-09-21T00:12:06.810 回答
1

一家奶制品厂使用模板 ( Model/Class ) 打印牛奶盒 Jane 去商店购买牛奶。她现在有一个牛奶(容器)的实例

那个牛奶容器上贴了一个标签,上面写着“今天使用”。

你不会在用于制造容器的模型上看到那个贴纸。
您不会在模型的每个实例上看到该标签。只有当他们在下午 5 点为即将到期的特定纸箱
贴上该贴纸时,您才会在当地商店看到该贴纸。

这并不是局部变量的确切含义,而是对现实世界的一种“某种”类比。

于 2012-09-20T21:31:02.990 回答