The whole concept is called scope.
Ruby instance variable vs local variable.
Class instance also sometimes referred to as object is what movie is in your example.
For example if a class contains an instance variable called total if one instance of the object changes the current value of total the change is local to only the object that made the change.
When using variables inside classes only instance variables which are prefixed with the character will be visible to all of the methods in the class.
If you create and output an instance of our class person you ll see that ruby now prints out the instance variable too.
In rails instance variables like books are used to share data between your controller.
The scope of a local variable ranges from class module def or do to the corresponding end or from a block s opening brace to its close brace.
Btw you can get a list of instance variables.
You are confusing class instance and instance variable.
There are four different types of variables in ruby local variables instance variables class variables and global variables.
Local variables begin with a lowercase letter or.
The first line creates a new instance of the class person passing the string ada and assign this new object to the variable person.
Instance variables live within a class instance so as long as that instance stays alive so will the instance variables.
The second line will then print it out.
There are advanced ways to access instance variables like instance variable get but you should avoid these.
Instance variables are available across methods for any specified instance or object i e.
A variable that only exists inside of a code block or method is called a local variable.
Machine instance variables water you may find that helpful one more thing.
They are similar to class variables but their values are local to specific instances of an object.
Instance variables are similar to class variables except that their values are local to specific instances of an object.
All methods of a class use the same instance variable table as opposed to local variables where each method will have a different variable table.
An instance variable in ruby has a name starting with symbol and its content is restricted to whatever the object itself refers to two separate objects even though they belong to the same class are allowed to have different values for their instance variables.
When an uninitialized local variable is referenced it is interpreted as a call to a method that has no arguments.
An instance variable name always starts with a sign.
To put it in other words you initialize instantiate a class when you do class new movie new above there by creating a new instance of movie isbn on the other hand is an instance variable also referred to as member variable sometimes as it is.