Greetings,
I still can't get this syntax to work. Here is a smaller program
that I am trying to get to run. Thank you for all your help.
This is the error message I get:
[Abba:/tmp] josephal% ./test
../test:5: Mysql is not a module (TypeError)
[Abba:/tmp] josephal% cat ./test
#!/usr/bin/ruby
require 'mysql'
module Mysql
class Result
def foo
print "This is foo\n"
end
end
end
m = Mysql.new("localhost", "root", "", "Development")
r = m.query("select * from processedfiles limit 5")
r.foo
[Abba:/tmp] josephal%
···
From: dblack@wobblini.net
Subject: Re: mixin with A::B syntax
Date: September 23, 2004 7:40:38 PM CDT
To: undisclosed-recipients: ;
Hi --
On Fri, 24 Sep 2004, Brian Schroeder wrote:
On Thu, 23 Sep 2004 19:52:01 +0000, eagle eyes joe wrote:
Greetings,
I want to define a generic print method to use in debugging. I got the
mix in syntax okay for classes like Hash or String, but for
Mysql::Result,
it doesn't seem to work. What would the proper syntax be?
Joe Alotta
#!/usr/bin/ruby
require 'mysql'
class Mysql::Result
def print
self.each_hash do |i|
i.each do |k, v| { print "#{k} = #{v} "} puts
end
end
end
m = Mysql.new("localhost", "root", "", "Development")
s = m.query("select * from symbols where type = 'MU'")
s.print
Joe Alotta
module Mysql
class Result
def print
[...]
end
end
end
I believe that should have the same effect as Joe's example. The only
difference between going one at a time and doing Mysql::Result is the
scope of constants.
David
--
David A. Black
dblack@wobblini.net