From: Jim Carter Date: 2011-01-26T03:33:26+09:00 Subject: General Ruby Object Oriented I'm a newbie to Ruby (hmm... rhymes) and to object oriented programming in general, so having a hard time wrapping my mind around a paradigm which differs from C language. Here is a short snippet of code, the general flow coming from the book "The Ruby Way" (pg 392). The class ExternalBallistics would be the equivalent of my top level function (or container of functions) which will get inputs from the Main (in this case rails text and selection box fields) and will calculate a series of results. desktop is supposed to define those variables, which ExternalBallistics can then apply to its various methods. However, it is not working out that way. Ruby is complaining that the variables a, b and c are not defined. Note that the relationship between ExternalBallistics and BasicMath is OK, but the relationship between desktop and ExternalBallistics is not, as if I am not using the attributes incorrectly. Can someone help me here. class BasicMath # Could be called as a class, static, method # attr_accessor :a, :b, :c def add(a, b, c) m = (a + b - c)/b n = a + b return m, n end def calc_nrows(a, b, c) nrows = (a - b)/c return nrows.round end end class ExternalBallistics attr_accessor :a,:b,:c def initialize(&block) instance eval &block end tc = BasicMath.new puts tc.add(a,b,c) puts tc.calc_nrows(5.0,3.0,1.0) end desktop = ExternalBallistics.new do self.a = 5.0 self.b = 3.0 self.c = 1.0 end -- Posted via http://www.ruby-forum.com/.