--0016e6d27ed182188504691443ca Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 2009/5/4 Tom Cloyd <tomcloyd / comcast.net>: > I keep getting blocked trying to do a very simple thing - I want to > "include" - in the sense of causing a mere insertion of text - some > variables and methods, residing in an external file, in my main code. I just > want my main to read a file and insert what's in it into the code stream and > then forget where it came from. Apparently this isn't possible in any way, > sadly. That sounds as if you wanted to do class SN eval(File.read("utils.rb")) # utils.rb contains method definitions etc. end > So, trying to play the game according to the rules, I find that a mere > "require {filename}", then an include {module name in that file}" doesn't > do it, because the namespaces aren't merged, as I would have expected. (An > include that doesn't include? Huh?) > I realize a real Ruby programmer would start creating classes everywhere and You do have classes already. :-) > then it would all work (I guess). I'm trying very hard to keep it simple, > because the concept is simple. ¨Â äïî§îååä¯÷áîãìáóó® Êõóô ôè> variable, which is initialized in the module. Simple idea - not simple too > - or at least I haven't discovered how to do it. > Can someone give me the "missing piece" or suggest what I need to do to get > this working? There's a sample attached which allows do extend individual instances as well as include in classes. Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/ --0016e6d27ed182188504691443ca Content-Type: application/octet-stream; name="sn.rb" Content-Disposition: attachment; filename="sn.rb" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fub2m34f0 CnJlcXVpcmUgJ3V0aWxzJwoKY2xhc3MgU04KICBkZWYgaW5pdGlhbGl6ZQogICAgZXh0ZW5kIFV0 aWxzCiAgZW5kCmVuZAoKY2xhc3MgU04yCiAgaW5jbHVkZSBVdGlscwogICMgd2l0aG91dCBpbml0 aWFsaXplCmVuZAoKY2xhc3MgU04zCiAgaW5jbHVkZSBVdGlscwoKICBkZWYgaW5pdGlhbGl6ZQog ICAgc3VwZXIKICAgIHB1dHMgImluaXQgbXVzdCBjYWxsIHN1cGVyISIKICBlbmQKZW5kCgpbU04s IFNOMiwgU04zXS5lYWNoIHt8Y2x8IGNsLm5ldy5zaG93X21lbnV9Cgo--0016e6d27ed182188504691443ca Content-Type: application/octet-stream; name="utils.rb" Content-Disposition: attachment; filename="utils.rb" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fub2mayo1 bW9kdWxlIFV0aWxzCiAgZGVmIHNlbGYuZXh0ZW5kZWQob2JqKQogICAgc2V0X3VwKG9iaikKICBl bmQKCiAgZGVmIGluaXRpYWxpemUoKmEsJmIpCiAgICBzdXBlcgogICAgVXRpbHMuc2V0X3VwKHNl bGYpCiAgZW5kCgogIGF0dHJfYWNjZXNzb3IgOm1lbnUKCiAgZGVmIHNob3dfbWVudQogICAgcCBz ZWxmLCBzZWxmLm1lbnUKICBlbmQKCnByaXZhdGUKICBkZWYgc2VsZi5zZXRfdXAob2JqKQogICAg b2JqLm1lbnUgPSB7OnRlc3QgPT4gOmRhdGF9CiAgZW5kCmVuZAo--0016e6d27ed182188504691443ca--