Rather than writing getters and setters, in many Object Oriented languages you can access the variables within an object directly. That can be dangerous for code flexibility for the future, as it means that you're removing the possibility of interspersing code. However, it can be very convenient.
In Java, you'll mark members you want publicly visible as
public; in Ruby you specify
attr_accessor (for read and write variables) and
attr_reader for read only variables. There's an example
[here].
If you try to access an object variable for which you have not set up an appropriate accessor in Ruby, an exception will be thrown (I've put that into the example too!)
(written 2010-02-02)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R111 - Ruby - Exceptions. [1875] What are exceptions - Python based answer - (2008-11-08)
[2615] String to number conversion with error trapping in Ruby - (2010-02-01)
[2621] Ruby collections and strings - some new examples - (2010-02-03)
[2622] Handling unusual and error conditions - exceptions - (2010-02-03)
[3177] Insurance against any errors - Volcanoes and Python - (2011-02-19)
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23)
[3433] Exceptions - a fail-safe way of trapping things that may go wrong - (2011-09-11)
[3435] Sorta sorting a hash, and what if an exception is NOT thrown - Ruby - (2011-09-12)
[4008] Reading and checking user inputs - first lessons - Ruby - (2013-02-17)
[4675] Exceptions in Ruby - throwing, catching and using - (2016-05-17)
R108 - Ruby - More Classes and Objects [184] MTBF of coffee machines - (2005-01-20)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[1217] What are factory and singleton classes? - (2007-06-04)
[1587] Some Ruby programming examples from our course - (2008-03-21)
[2292] Object Orientation in Ruby - intermediate examples - (2009-07-16)
[2601] Ruby - is_a? v instance_of? - what is the difference? - (2010-01-27)
[2603] Ruby objects - a primer - (2010-01-29)
[2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[2616] Defining a static method - Java, Python and Ruby - (2010-02-01)
[2623] Object Oriented Ruby - new examples - (2010-02-03)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
[2980] Ruby - examples of regular expressions, inheritance and polymorphism - (2010-10-02)
[3142] Private and Public - and things between - (2011-01-22)
[3154] Changing a class later on - Ruby - (2011-02-02)
[3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
[3760] Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10)
[3781] Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby? - (2012-06-23)
[3782] Standard methods available on all objects in Ruby - (2012-06-23)
[4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
[4504] Where does Ruby load modules from, and how to load from current directory - (2015-06-03)
[4550] Build up classes into applications sharing data types in Ruby - (2015-10-23)
[4551] Testing your new class - first steps with cucumber - (2015-10-23)
Some other Articles
Skyline and looking up in LondonDirect access to object variable (attributes) in RubyPassing code to procedures and yield in RubyWhat are Ruby Symbols?Comparing floating point numbers - a word of caution and a solution