[#20651] Changing a program's name at run time via $0... — Sean Chittenden <sean-ruby-talk@...>
Anyone have any ideas how to change a program's name while it's
[#20675] RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...>
Hi,
Hello --
Hi David,
I wrote:
--- Tobias Reif <tobiasreif@pinkjuice.com> wrote:
Kevin,
>>>>> "T" == Tobias Reif <tobiasreif@pinkjuice.com> writes:
--- ts <decoux@moulon.inra.fr> wrote:
Hello --
[#20680] Re: Do we about sub-second [amc]time on files? — "Brian F. Feldman" <green@...>
Oh yeah, and addresses for the specific diffs I've made:
[#20683] eruby 0.9.6 doesn't work with ruby 1.7.1 — Aleksi Niemel<aleksi.niemela@...>
I can't make eruby 0.9.6 work with ruby 1.7.1. It works fine with ruby
>>>>> "A" == Aleksi Niemel=E4?= <iso-8859-1> writes:
[#20701] ANN: Ruby/Mock 1.0 — "Nat Pryce" <nat.pryce@...13media.com>
I mentioned this in another thread, but thought I would announce it properly
[#20715] oreilly buch von matz - website online — markus jais <info@...>
hi
Actually, thanks for posting it here. I was trying to search OReilly's
Hi,
On Mon, 3 Sep 2001, Phil Tomson wrote:
> |> Oh, no. Last time I asked them sheep, they gave me goat. This time
Hi,
> |I understand, but let's look at it the other way:
[#20721] Possible typo bug? — Christopher Sawtell <csawtell@...>
Hi,
[#20730] Nightly CVS tarball? — Wai-Sun Chia <waisun.chia@...>
Hello Rubyists,
[#20747] how update anonymous classes? — "Henning von Rosen" <henning@...>
Hi!
[#20768] Minor cgi.rb question — "Hal E. Fulton" <hal9000@...>
I don't have much experience with
[Hal E. Fulton]
[#20770] Calling member methods from C++ — jglueck@... (Bernhard Glk)
Some quetsions have been solved for me, but my message system does not
[#20790] singleton help — Albert Wagner <alwagner@...>
I need some help with a singleton class.
[#20820] Ruby/Tk core dump — Harry Ohlsen <harryo@...>
I asked someone at uni to install Ruby for me, so I could use it for an
[#20822] Converting String to Symbol? — "Florian G. Pflug" <fgp@...>
Hi
[#20840] modify hash during iteration — Tomas Brixi <brixi@...>
Hello
[#20882] newbie question — Pat Eyler <pate@...>
Hello all,
[#20902] RubyConf registration is now open: sign up today! — Dave Thomas <Dave@...>
[#20907] Problem with druby related to TCPServer implementation on linux — Christian Boos <cboos@...>(by way of Christian Boos <cboos@...>)
Hello all,
[#20908] Removing singleton methods and instance variables - how ? — "Aristarkh A Zagorodnikov" <xm@...3d.ru>
Hi,
[#20937] trouble loading self-compiled extension in cygwin. — Matthias Lampert <ml@...>
Hello, folks!
I need to get the OpenGL module from the RAA working in a MS-Windows
[#20940] calling original method in overrided method? — Henry House <hajhouse@...>
I don't like the default behavior of String#to_i and String#to_f to return
[#20947] Is Ruby/Tk being maintained? — Albert Wagner <alwagner@...>
I there an active maintainer of Ruby/Tk? I have posted a couple of problems
[#20965] creating lots of files — Joseph McDonald <joe@...>
[#20976] destructor — Frank Sonnemans <ruby@...>
Does Ruby have a destructor as in C++?
"Nat Pryce" <nat.pryce@b13media.com> writes:
[#20987] put my vote down for ruby-chan! — Christopher Taylor <ct@...>
i'd like to see ruby chan as the `offical mascot`
[#21013] length of Ruby array from C? — Neil Conway <nconway@...>
Hi all,
[#21054] Question about RAA listings — "JamesBritt" <james@...>
I'm putting together a web site devoted to Ruby and XML, and plan to include
[#21070] build minimal Ruby interpreter — Max Ischenko <max@...>
[#21104] Ruby-GTK / Ruby-glade problems — Craig Files <Craig_Files@...>
We are very interested in using Ruby/LibGlade for a project, but in
[#21131] Robocode (RubyBot - perhaps a way to introduce people to Ruby?) — ptkwt@...1.aracnet.com (Phil Tomson)
Slashdot has an article about a game called Robocode that teaches Java by
[#21168] The Parrot lives! — stephen.hill@... (Steve Hill)
Slashdot is reporting that Parrot 0.01 has been released. Oh joy ;-)
[#21169] GUI toolkits for windows — Alva <alv@...>
Hi all! I'm a Ruby newbie, but strongly feel that it will
[#21200] strange warnings from the parser? — Paul Brannan <pbrannan@...>
When I write code that does this:
[#21212] What's the best book — jmp@... (Jean-Marc Pennel)
.... to learn Ruby.
[#21216] OSX — bobh@... (Robert)
Any problems getting Ruby to compile on MacOS X? Did you have to add
[#21218] Ruby objects <-> XML: anyone working on this? — senderista@... (Tobin Baker)
Are there any Ruby analogs of these two Python modules (xml_pickle,
[#21224] Redefining constants — Johann Hibschman <johann@...>
Hi all,
[#21234] Ruby/GTK maintainer? — Neil Conway <nconway@...>
Hi all,
[#21236] alternate Download-Site of IOWA? — horibo@... (Horst Rischbode)
Hi,
[#21245] Embedding Q's — Johann Hibschman <johann@...>
Hi all,
[#21263] Exceptions and Ruby — Alva <alv@...>
Hi,
[#21268] Re: alternate Download-Site of IOWA? — "Julian Fitzell" <jfitzell@...>
Yeah, it would wouldn't it? :)
[#21291] Image libraries — Jimmy Thrasher <jjthrash@...>
Is anybody working on Ruby bindings for libpng or libgif?
[#21292] PC Magazine — Ryan Tarpine <rtarpine@...>
In the October issue of PC Magazine, in his Inside Track column John C.
[#21296] nested require files need path internally — Bob Gustafson <bobgus@...>
Version: 1.64
Hello --
On Tue, 18 Sep 2001, David Alan Black wrote:
Hi,
On Tue, 18 Sep 2001, Yukihiro Matsumoto wrote:
Hi,
> The big difference is C++ search done in compile time, Ruby search
Hi,
On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:
Hi,
On 19/09/2001 at 10:12 AM matz@ruby-lang.org wrote:
Hi,
On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:
Hi,
On Thu, 20 Sep 2001, Yukihiro Matsumoto wrote:
[#21315] Suggestions for new CGI lib — anders@... (Anders Johannsen)
From the comp.lang.ruby thread "Minor cgi.rb question" (2001-09-03), I
Hi,
Hallo,
[#21321] iowa and win98 — horibo@... (Horst Rischbode)
Hi,
On Tue, 18 Sep 2001, Horst Rischbode wrote:
[#21362] [Ann] JRuby - Ruby interpreter in Java — Jan Arne Petersen <japetersen@...>
Hello!
[#21377] How to tell if port is in use... — "Hal E. Fulton" <hal9000@...>
Hello all...
"Hal E. Fulton" wrote:
[#21378] Path walking on windows — Ed Sinjiashvili <edsin@...>
Hi,
[#21387] Segfault: ruby 1.7.1 (2001-09-08) during mod_ruby-0.9.3 build — Wai-Sun Chia <waisun.chia@...>
[root@caspar root]# ruby -v
[#21413] Ruby/objects book in style of The Little Lisper — Brian Marick <marick@...>
I fell in love with Lisp in the early 80's. Back then, I read a book called
On 20 Sep 2001 06:19:44 +0900, Brian Marick wrote:
--- Christopher Sawtell <csawtell@paradise.net.nz> wrote:
--- Mikkel Damsgaard <mikkel_damsgaard@mailme.dk> wrote:
On Sat, 22 Sep 2001, Kevin Smith wrote:
--- Todd Gillespie <toddg@mail.ma.utexas.edu> wrote:
On Sat, 22 Sep 2001, Kevin Smith wrote:
On Fri, 2001-09-21 at 21:47, Todd Gillespie wrote:
--- Brian Marick <marick@visibleworkings.com> wrote:
[#21431] RE: chain methods inside and outside the class; how to intermingle mine and Strings' methods? — "Frykholm, Niklas" <nfrykholm@...>
[Tobias Reif]
[#21454] Interaction system() / $stdout ? — Johan Holmberg <holmberg@...>
[#21499] Speed — David Tillman <dtillman@...>
[#21503] Trouble in native library... — Kero van Gelder <kero@...4050.upc-d.chello.nl>
[Mailed to both ruby-talk and ruby-dev]
[#21504] Replacement for __FILE__ == $0 — "Nathaniel Talbott" <ntalbott@...>
OK, this will probably end up being an RCR, but first I want to get some
--- Nathaniel Talbott <ntalbott@rolemodelsoft.com> wrote:
Kevin Smith [mailto:kevinbsmith@yahoo.com] wrote:
--- Nathaniel Talbott <ntalbott@rolemodelsoft.com> wrote:
[#21535] irb — Fabio <fabio.spelta@...>
Hello. :) I'm new here, and I have not found an archive of the previous
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
> Do this command work, for you ?
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
I've restored the original ext/setup file (and all the others) and recompiled:
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
OK: I'm a nerd :-|
>>>>> "F" == Fabio <fabio.spelta@tiscalinet.it> writes:
[#21564] Returnin own C++ type from ruby method — jglueck@... (Bernhard Glk)
Hi there again!
[#21605] Please translate this easy snip of C++ to Ruby — Phlip <phlip_cpp@...>
Ruby Users:
[#21606] gtk on win32 — "Benoit Cerrina" <benoit.cerrina@...>
Hi,
[#21613] C++ / Ruby questions again — jglueck@... (Bernhard Glk)
Hi there again..
[#21616] opening a named pipe? — "Avdi B. Grimm" <avdi@...>
I'm having trouble reading from a named pipe in linux. basicly, I'm
On Unix, opening a FIFO will block the process until the other end is also
On Mon, 2001-09-24 at 05:14, Nat Pryce wrote:
[#21645] Ideal ruby browser? — Johann Hibschman <johann@...>
Hi folks,
[#21663] Problems with the mysql-module — Jens Rohde <jr@...>
Hi
Jens Rohde wrote:
On Tue, 25 Sep 2001, Michael Neumann wrote:
Jens Rohde <jr@eos.dk> writes:
[#21668] Help understanding self ... — Phil Mitchell <phil.$DELETEmitchell@...>
I'm defining a simple class that extends Hash. The code below works. What I don't understand is why I can't replace
Okay, but according to Ruby library reference, and pickaxe, [] is a method in class Hash. A method that is called with
[#21669] Ruby-win syntax coloring — "Henning von Rosen" <henning@...>
Ruby win is very convinient in some matters, f ex providing a protected zone
[#21685] manipulating "immutable" objects such as Fixnum from within callbacks & al... — Guillaume Cottenceau <gc@...>
Hello,
> Here's the problem: it happens often that you need to pass "references" to
On Wed, 26 Sep 2001, Joel VanderWerf wrote:
Here's an easy one:
[#21688] net/http problems on FreeBSD 4.4-RC — Jason DiCioccio <geniusj@...>
I'm having the following problems with Net::HTTP on ruby 1.6.4 (and 1.6.5) =
[#21733] Re: manipulating "immutable" objects such as Fixnum from within callbacks & al... — "Brian F. Feldman" <green@...>
ts <decoux@moulon.inra.fr> wrote:
>>>>> "B" == Brian F Feldman <green@FreeBSD.org> writes:
Fair enough, for some reason it didn't work for me. The first thing I
Hi,
[#21740] scope in {} and do-end — "Hal E. Fulton" <hal9000@...>
Question...
[#21744] Running ruby scripts suid-root — "Florian G. Pflug" <fgp@...>
Hi
[#21745] inheritance Surprise! — Bob Gustafson <bobgus@...>
I had a problem with an object which, once it was created, would morph into
On Thu, Sep 27, 2001 at 04:14:43AM +0900, Bob Gustafson wrote:
[#21746] Problems with Net stuff on Win2000/XP — carlyoungblood@... (Carl Youngblood)
Please! I don't have the time or expertise to dig through the ruby
[#21772] Transparent Proxies — jason@... (Jason Voegele)
Hello all,
[#21798] Ruby internal (guide to the source) — "Benoit Cerrina" <benoit.cerrina@...>
Hi,
> The part I'm not sure to understand to well is the relationship between a
Dear All,
What? You didn't write the script in Ruby, but in Perl? ~,^
It does need the environment for the time being, tonight, I'll add in
[#21818] Embedding — "Drirr C." <drirr@...>
Hello
[#21821] ANN: HtmlDomGenerator 0.1 — "Jimmy Thrasher" <jjthrash@...>
I just released HtmlDomGenerator, for those of you who want a DOM =
Hello --
> # You should have received a copy of the GNU General Public License
[ruby-talk:20988] Re: pop code review
thanks for diggin at that, i really appreciate it. nice work.
aaron
-----Original Message-----
From: Brian Marick [mailto:marick@visibleworkings.com]
Sent: Wednesday, September 05, 2001 11:22 PM
To: ruby-talk@ruby-lang.org
Subject: [ruby-talk:20948] Re: pop code review
At 02:27 PM 9/5/01, you wrote:
>class Module
> def attr_default(symbol, default)
> default = "'#{default}'" if default.type == String
> module_eval "def #{symbol}() if @#{symbol}.nil?; #{default}; else
>@#{symbol}; end; end"
> end
>
> def attr_filter(symbol, *filters)
> filtered_setter = "def #{symbol}=(value) "
> filters.each { |f|
> filtered_setter += " value=#{f}(value);"
> }
> filtered_setter += " @#{symbol}=value; end"
> module_eval filtered_setter
> end
>end
Thanks very much for posting this. I was really in the mood for
tinkering with code, and this was just the thing I needed. A crummy
day has ended as a fun one.
I've made a series of changes that I hope are useful. Warning: they
haven't been tested well.
First, I noticed a problem. The code doesn't work with arrays as the
default:
class Cat
attr_default :lives, [1, 2, 3, 4, 5, 6, 7, 8, 9]
end
> Cat.new.lives
123456789
The problem is #{default} here:
module_eval "def #{symbol}() if @#{symbol}.nil?; #{default}; else
@#{symbol}; end; end"
#{default.inspect} would work for Arrays (and Strings, as well,
eliminating the need for the String test in the line above).
But 'inspect' isn't quite the thing, since its contract is to produce
a human-readable form. What we want is a method that produces a string
which, when evaled, produces a copy of the original object. I'm going
to call that "to_e". For a lot of things, to_e can be the same as
inspect. For convenience, I'll stick it on Object:
class Object
def to_e() inspect; end
end
But for my own classes, it can be defined differently than inspect:
class Cat
def initialize(name) @name = name; end
def inspect() "<The cat named '#{@name}'>"; end
def to_e() "Cat.new(#{@name.to_e})"; end
end
Now I can define attr_default like this:
class Module
def attr_default(symbol, default)
module_eval "def #{symbol}() if @#{symbol}.nil?; #{default.to_e};
else
@#{symbol}; end; end"
end
end
So now I can initialize Cat with lives:
class Cat
attr_default :lives, [1, 2, 3, 4, 5, 6, 7, 8, 9]
end
> Buffy = Cat.new("buffy")
<The cat named 'buffy'>
> Buffy.lives
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Moreover, Cats can be the default values for attributes of other
classes:
class Dog
attr_default :friend, Buffy
end
(Buffy is a constant so that it's in scope for the class definition.)
> Dog.new.friend
<The cat named 'buffy'>
But this raises a question: how can I have all Dogs share the same
friend? Because right now they don't:
> towser = Dog.new
#<Dog:0xa0ab860>
> ralph = Dog.new
#<Dog:0xa09d790>
> towser.friend
<The cat named 'buffy'>
> ralph.friend
<The cat named 'buffy'>
> towser.friend == ralph.friend
false
I decided to store the defaults in the class. Along the way, I also
decided to change something that bugged me a bit about the original:
that you couldn't set the created variables to nil:
class Var
attr_default :val, true
def val=(val)
@val = val
end
end
> v = Var.new
#<Var:0xa092480>
> v.val
true
> v.val=nil
nil
> v.val # expect nil
true
I can fix this by initially setting the instance variable to the
default *unless* it already exists. If it already exists, it's already
been explicitly assigned to. Instance variables don't exist until the
first assignment. Here's the code. I also added a setter method.
class Module
attr_accessor :attribute_defaults
def attr_default(symbol, default)
@attribute_defaults ||= Hash.new
@attribute_defaults[symbol] = default
getter = %Q{
def #{symbol}()
unless instance_variables.include? '@#{symbol}'
@#{symbol} = self.class.attribute_defaults[:#{symbol}]
end
@#{symbol}
end
}
puts getter
module_eval getter
setter = %Q{
def #{symbol}=(val)
@#{symbol}=val
end
}
puts setter
module_eval setter
end
end
Both the Var and Dog examples work as I'd prefer. (Note: for some
reason I haven't tried to figure out, pasting the above into irb
causes parse errors, but loading it from a file does not.)
Finally, I thought that it would be better to use the existing name
attr_accessor, passing in the defaults as keyword arguments, like
this:
attr_accessor :ordinary, ordinary2, :defaulted=>5, :other=>9
I suspect there's a better way to do this, but the kids have come home
from skating and my hacking time is through for tonight:
class Module
alias_method :old_attr_accessor, :attr_accessor
attr_accessor :attribute_defaults
def attr_accessor(*accessors)
accessors.each { | e |
if e.type == Hash
e.each { | key, value |
install_default_accessor(key, value)
}
else
old_attr_accessor e
end
}
end
def install_default_accessor(symbol, default)
@attribute_defaults ||= Hash.new
@attribute_defaults[symbol] = default
getter = %Q{
def #{symbol}()
unless instance_variables.include? '@#{symbol}'
@#{symbol} = self.class.attribute_defaults[:#{symbol}]
end
@#{symbol}
end
}
puts getter
module_eval getter
setter = %Q{
def #{symbol}=(val)
@#{symbol}=val
end
}
puts setter
module_eval setter
end
end
class Multi
attr_accessor :ordinary, :ordinary2, :defaulted=>5, :other=>9
end
> m = Multi.new
#<Multi:0xa0ac2b0>
> m.ordinary
nil
> m.ordinary2
nil
> m.defaulted
5
> m.other
9
--
Brian Marick, marick@testing.com
www.testing.com - Software testing services and resources
www.testingcraft.com - Where software testers exchange techniques
www.visibleworkings.com - Adequate understanding of system internals