# Instance variables

**URL:** <https://www.ruby-forum.com/t/instance-variables/140291>\
**Category:** Ruby\
**Created:** [June 12, 2008, 6:07pm UTC](https://www.ruby-forum.com/t/instance-variables/140291 "2008-06-12T18:07:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [June 12, 2008, 6:07pm UTC](https://www.ruby-forum.com/t/instance-variables/140291/1 "2008-06-12T18:07:02Z")

</div>

class Trie  
attr\_reader :value, :parent, :child\_node  
def initialize(value=nil, parent=nil)  
@value = value  
@children = {}  
@parent = parent  
@child\_node = @children # ??? HERE  
end  
end

# ??? HERE: Does it matter if I do @child\_node = children (without the @

for children)? What’s the difference with using the @ and not?

Thank you!!

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [June 12, 2008, 6:19pm UTC](https://www.ruby-forum.com/t/instance-variables/140291/2 "2008-06-12T18:19:10Z")

</div>

On Thu, Jun 12, 2008 at 12:06 PM, Justin To [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> # ??? HERE: Does it matter if I do @child\_node = children (without the @
> 
> for children)? What’s the difference with using the @ and not?

Since you haven’t defined an attr\_reader for @children, you have to  
use the instance variable (@).

–  
Avdi

Home: [http://avdi.org](http://avdi.org)  
Developer Blog: [Avdi Grimm, Code Cleric](http://avdi.org/devblog/)  
Twitter: [http://twitter.com/avdi](http://twitter.com/avdi)  
Journal: [http://avdi.livejournal.com](http://avdi.livejournal.com)

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [June 12, 2008, 7:04pm UTC](https://www.ruby-forum.com/t/instance-variables/140291/3 "2008-06-12T19:04:22Z")

</div>

> # ??? HERE: Does it matter if I do @child\_node = children (without the @
> 
> for children)? What’s the difference with using the @ and not?

It depends on your intent with the variable children. If it is just a  
temporary variable that you want to use while generating the @child\_node  
value then it is fine not to have the ‘@’

Kevin

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [June 12, 2008, 7:27pm UTC](https://www.ruby-forum.com/t/instance-variables/140291/4 "2008-06-12T19:27:20Z")

</div>

On Thu, Jun 12, 2008 at 1:00 PM, Kevin C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> It depends on your intent with the variable children. If it is just a  
> temporary variable that you want to use while generating the @child\_node  
> value then it is fine not to have the ‘@’

Hi Kevin 🙂

Good catch. I think I missed the point of the OP’s question.

–  
Avdi

Home: [http://avdi.org](http://avdi.org)  
Developer Blog: [Avdi Grimm, Code Cleric](http://avdi.org/devblog/)  
Twitter: [http://twitter.com/avdi](http://twitter.com/avdi)  
Journal: [http://avdi.livejournal.com](http://avdi.livejournal.com)

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [June 12, 2008, 7:32pm UTC](https://www.ruby-forum.com/t/instance-variables/140291/5 "2008-06-12T19:32:33Z")

</div>

Great, thanks. So what if I DID specify attr\_reader :children, but still  
did @child\_node = @children. Would that have any adverse effects?

Thanks!

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [June 12, 2008, 8:27pm UTC](https://www.ruby-forum.com/t/instance-variables/140291/6 "2008-06-12T20:27:57Z")

</div>

On Thu, Jun 12, 2008 at 7:32 PM, Justin To [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Great, thanks. So what if I DID specify attr\_reader :children, but still  
> did @child\_node = @children. Would that have any adverse effects?  
> No the parser identifies @children as an instance variable.  
> R
