From: Gerald Murray Date: 2006-03-16T14:18:47+09:00 Subject: Re: Question about return and access control Felipe wrote: > I'm reading PickAxe book and just finished reading chapter 3, which > talks about classes, objects and variables. While this chapter (and the > whole book so far) was very informative, I have two doubts: > > - return seems to be used when defining methods and nowhere else. Why > use it (why not use puts)? return and puts are distinctly different. "puts" always sends the value to STDOUT, and the control passes to the next statement. "return" makes the available to its receiver (at the caller of the method in where the "return" statement exists), and control transfers to the next statement after that receiver. > - Why and where specify access control (public, protected and private > methods)? The examples in the book weren't clear enough. Chapter 3 is just an introduction to access control. You then know that there ARE these differences. Why these differences exists, and how to know what methods of a class or module can be accessed, and under what circumstances, becomes clearer in later chapters. When studying class inheritance, you will see that the types of control affect which of the methods declared are available to an instance of a class that has inheritance. Examples there will make the distinctions clear. (and the error messages from the interpreter provide any help needed.) Access control is important concept because it improves the reliability of the program, and can limit possible bugs. > Thanks in advance.