[#11815] problems with DBM module — Eric Sven Ristad <ristad@...>
[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>
Hi,
TAKAHASHI Masayoshi <maki@inac.co.jp> writes:
On Fri, 2 Mar 2001, Dave Thomas wrote:
David Alan Black <dblack@candle.superlink.net> writes:
[#11832] Re: RCR: Input XML support in the base Ruby — "Conrad Schneiker" <schneik@...>
Dave Thomas Wrote:
[#11868] Re: RCR: Input XML support in the base Ruby — "Mike Wilson" <wmwilson01@...>
Ok, first off I feel I am at least semi-intelligent
[#11876] Option to allow Python style indenting? — "chris" <nospam@6666666.com>
Don't know whether this discussion would be better here or on the email
[#11884] Re: Seeking Ruby/Tk sensei... — Kevin Smith <sent@...>
>Hal 9000 Fulton wrote:
[#11893] Re: rewrite with Ruby — ts <decoux@...>
>>>>> "M" == Max Ischenko <max@malva.com.ua> writes:
>>>>> "M" == Max Ischenko <max@malva.com.ua> writes:
I have a class where the initializer takes a filename
[#11915] Why I bought a second copy of The Book. — jfn@... (Jeremy Nelson)
It was the book that exposed me to ruby and caused me to absolutely fall
[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>
I wrote on this newsgroup last weekend about how I was considering using
"Michael Kreuzer" <mkreuzer(nospam)@mail.usyd.edu.au> wrote in
[#11986] possible memory leak in GDBM/gdbm — Eric Sven Ristad <ristad@...>
The following program suggests there is a small memory leak in
[#12000] Re: Seeking Ruby/Tk sensei... — "Conrad Schneiker" <schneik@...>
Kevin Smith wrote:
[#12003] Re: How do I reach members from a Proc? — "Conrad Schneiker" <schneik@...>
Dave Thomas wrote:
On Mon, 5 Mar 2001, Conrad Schneiker wrote:
[#12014] ANN: Memoize 0.1.2 — Robert Feldt <feldt@...>
Hi,
Robert Feldt <feldt@ce.chalmers.se> wrote in
[#12019] hooking/wrapping all of a classes methods — David Alan Black <dblack@...>
Hello --
[#12023] French RUG ? — "Jerome" <jeromg@...>
Hi fellow rubyers,
Tammo Freese <tammo.freese@offis.de> writes:
[#12048] Windows Installer questions — andy@... (Andrew Hunt)
[#12052] Re: RCR: shortcut for instance variable initialization — "Ben Tilly" <ben_tilly@...>
Dave Thomas <Dave@PragmaticProgrammer.com> wrote:
> From: Ben Tilly [mailto:ben_tilly@hotmail.com]
"Christoph Rippel" <crippel@primenet.com> writes:
[#12061] Ruby & AOP — "Dennis Decker Jensen" <dennisdecker@...>
Hi !
[#12093] Another hook — Dave Thomas <Dave@...>
[#12097] RCR: replacing 'caller' — Robert Feldt <feldt@...>
Hi,
[#12102] Re: Another hook — "Conrad Schneiker" <schneik@...>
Dave Thomas wrote:
[#12103] disassembling and reassembling a hash — raja@... (Raja S.)
Given a hash, h1, will the following always hold?
ts <decoux@moulon.inra.fr> writes:
[#12116] String.gsub() — Mike Bowler <mbowler@...>
The method String.gsub() isn't working the way I expected (or the way
[#12124] Is Ruby japanese-centered? — "Henning VON ROSEN" <hvrosen@...>
[matz writes]
In article <MABBIFGPDKFFOJPHLCLIOEAKCBAA.hvrosen@world-online.no>,
[#12135] Re: hash.invert loses data if equal values exist - is this the right behaviour? — Dave Thomas <Dave@...>
Tammo Freese <tammo.freese@offis.de> writes:
[#12144] New submissions to the Ruby Application Archive? — "Lyle Johnson" <ljohnson@...>
OK, I promise I looked around for this answer before posting here ;)
On Wed, 7 Mar 2001, Lyle Johnson wrote:
[#12155] RCR: Block form of Dir.chdir — Robert Feldt <feldt@...>
Hi,
[#12174] Nonblocking Read — Alex McHale <lists@...>
Hi there,
[#12179] Re: (long) Re: hash.invert loses data if equal values exist - is this the right behaviour? — Dave Thomas <Dave@...>
gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) writes:
Hi,
On Tuesday 06 March 2001 22:36, you wrote:
> From: Charles Hixson [mailto:charleshixsn@earthhlink.net]
[#12182] Re: Nonblocking Read] — Alex McHale <lists@...>
> IO#sysread is what you are looking for.
[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>
Ruby is, indeed, a very well designed language.
>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:
In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"
Hi,
In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"
Hi,
In message "[ruby-talk:12457] Re: FEATURE REQUEST: 'my' local variables"
On Monday 12 March 2001 00:39, GOTO Kentaro wrote:
matz@zetabits.com (Yukihiro Matsumoto) writes:
Hi,
On Tue, 13 Mar 2001, Yukihiro Matsumoto wrote:
> From: Stephen White [mailto:spwhite@chariot.net.au]
[#12229] random chars — Urban Hafner <the-master-of-bass@...>
Hello everybody, I think/hope I have some simple questions.
At 22:35 07.03.01 +0900, you wrote:
Tammo Freese <tammo.freese@offis.de> wrote:
[#12237] [ANN] NQXML v2.0 adds DOM, DOCTYPE, and ENTITY — Jim Menard <jimm@...>
NQXML is a pure Ruby implementation of an XML tokenizer, a SAX parser, and
[#12244] [ANN] NQXML v0.2.2 — Jim Menard <jimm@...>
In the spirit of "release early, release often", version 0.2.2 of NQXML can
[#12308] GUI Toolkit for Ruby — jjthrash@...
Hi all,
jjthrash@pobox.com wrote in message
[#12329] Math package — Mathieu Bouchard <matju@...>
In message "[ruby-talk:12329] Math package"
Hi,
[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>
Hi,
Hi,
Hi,
On Sat, 10 Mar 2001, Yukihiro Matsumoto wrote:
[#12331] Re: Q re looping structures — ts <decoux@...>
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#12332] ...and the challenge — Robert Feldt <feldt@...>
Hi again,
On Sat, 10 Mar 2001, Robert Feldt wrote:
> On Sat, 10 Mar 2001, Robert Feldt wrote:
[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>
Ruby-san:
Kent,
On Saturday 10 March 2001 15:30, Samantha Atkins wrote:
[#12369] Re: FEATURE REQUEST: 'my' local variables — Kevin Smith <sent@...>
matz@zetabits.com wrote:
[#12443] Re: ...and the challenge — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Mathieu Bouchard <matju@sympatico.ca> =====
[#12444] class variables — Max Ischenko <max@...>
[#12446] Locale support in Ruby — Ollivier Robert <roberto@...>
Hello,
[#12523] rb_ary_each and hash — User Tcovert <tcovert@...>
awesome! thanks all!
[#12524] C++ is like teenage sex. — Stephen White <spwhite@...>
Forwarded message from glen mccready <gkm@petting-zoo.net> -----
[#12529] Re: Sum of Squares — "rashworth" <rashworth@...>
Thank you for your note. The new coding worked just fine.
[#12540] Strange segmentation fault problem with C++ extension — "Paul C" <paul_c@...>
Hi,
[#12601] http page download question — "Ian Marsman" <imarsman@...>
I am writing a script to download webpages from a favourite radio program
[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>
>>>>> "DT" == Dave Thomas <Dave@PragmaticProgrammer.com> writes:
[#12635] email address regexp — "David Fung" <dfung@...>
i would like to locate probable email addresses in a bunch of text files,
In article <m18zm531s9.fsf@halfdome.holdit.com>,
[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>
I just read this story on Slashdot
On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:
On Wednesday 14 March 2001 15:40, Pete Kernan wrote:
On Fri, 16 Mar 2001, W. Kent Starr wrote:
Amos wrote:
[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====
[#12689] refactoring ruby code — Pat Eyler <pate@...>
To help myself learn more about Ruby, I'm starting to translate
[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>
I have a project that I'm working on that needs to live two different lives,
"Nathaniel Talbott" <ntalbott@rolemodelsoft.com> writes:
Would it be possible to use some sort of jar style packaging - ie distribute
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
[#12738] Parser? — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone written a parser for Ruby in Ruby?
[#12754] assert_exception question — Pat Eyler <pate@...>
Okay, I'm reading along between several docs and now I'm confused ...
[#12768] Re: Tk Demo in Windows — ts <decoux@...>
>>>>> "R" == Ron Jeffries <ronjeffries@acm.org> writes:
[#12803] Deja vu? — Roy Smith <roy@...>
After years of reading people on c.l.python interject comments about Ruby,
On Tue, 20 Mar 2001 11:20:58 +0900, Hal E. Fulton
[#12821] units of measure — Mathieu Bouchard <matju@...>
[#12825] Floating point performance & Garbage collection — Jean-Sebastien ROY <jean-sebastien.roy@...>
I recently came across a little performance problem I have difficulties
In article
On Mon, 19 Mar 2001, Jean-Sebastien ROY wrote:
In article <Pine.LNX.3.96.1010319225134.15108F-100000@relayer>,
On Tue, 20 Mar 2001, Jean-Sebastien ROY wrote:
[#12829] converting a string to a class — "Doug Edmunds" <dae_alt3@...>
I want to concatenate strings which
[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>
Dave Thomas wrote:
On Mon, 19 Mar 2001, Michael Neumann wrote:
Robert Feldt wrote:
[#12892] find.rb — Tyler Wardhaugh <tgw@...>
Hello, I'm new Ruby and I like it very much. The dynamic extensibility
Hi,
"Christoph Rippel" <crippel@primenet.com> writes:
> From: dave@thomases.com [mailto:dave@thomases.com]On Behalf Of Dave
[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>
This code comes from the online code examples for
On Tue, 20 Mar 2001, Hee-Sob Park wrote:
Jim Freeze <jim@freeze.org> writes:
On Tue, 20 Mar 2001, Dave Thomas wrote:
[#12905] Native/pthreads in Ruby — Christopher Petrilli <petrilli@...>
I read everything I could find in the archives talking about
Hi,
On Tue, Mar 20, 2001 at 05:34:27PM +0900, Yukihiro Matsumoto wrote:
[#12906] RubyConf 2001 update — "Guy N. Hurst" <gnhurst@...>
RubyConf 2001 Update
[#12921] fork problem??? — "Hal E. Fulton" <hal9000@...>
Hello all,
[#12929] Re: animal is onion as show stopper — "Conrad Schneiker" <schneik@...>
Apparently sleep-deprived Hal wrote:
[#12935] How to add accessors dynamically? — Ville Mattila <mulperi@...>
Hello
[#12941] rubicon version? — Hugh Sasse Staff Elec Eng <hgs@...>
ISTR that Rubicon was going into the CVS base of Ruby. Now 1.6.3 is out
[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>
Attached is a little Spike that Chet and I are doing. It is a
On Wed, 21 Mar 2001 04:36:38 +0900, rise <rise@knavery.net> wrote:
[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>
Well, here's my first major contribution to the Ruby world: Lapidary. It's a
How is this different from RubyUnit?
>>>>> "Nathaniel" == Nathaniel Talbott <ntalbott@rolemodelsoft.com> writes:
jweirich@one.net [mailto:jweirich@one.net] wrote:
"Nathaniel Talbott" <ntalbott@rolemodelsoft.com> writes:
[#13020] instrumenting system resources — Eric Sven Ristad <ristad@...>
[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>
[#13033] How do I properly munge stdout and stderr when using IO.popen? — Donald Sharp <sharpd@...>
Or alternatively is there a better way to do this?
In [ruby-talk:13033], Donald Sharp <sharpd@cisco.com> wrote:
I can't force the end user to choose a particular shell.
[#13039] extending existing classes. — Hugh Sasse Staff Elec Eng <hgs@...>
I've run up against something I thought I knew how to solve, but...
[#13046] Philosophical question: extension v. pure ruby — Colin Steele <colin@...2.com>
[#13054] Questions about ruby — Roy Patrick Tan <rtan@...>
Hi, I am preparing a presentation about Ruby, for the programming
[#13064] Lapidary questions — Paul Pladijs <ppladijs@...>
[#13079] Thread Safe — Rogers Gene A Civ 96 CG/SCTOB <gene.rogers@...>
Here's a question (stupid, maybe):
[#13086] Amusing contrast — Bob Kline <bkline@...>
I was struck by the discrepancy between this quote from the Ruby man
[#13099] xmlparser installation woes — Phil Suh <phil@...>
[#13117] ZPT, a next-generation template technology (repost) — "Conrad Schneiker" <schneik@...>
FYI. Thought some Rubies might be interested in this.
[#13138] How would Ruby say this? — "Lyle Johnson" <ljohnson@...>
One group of C++ functions I'm wrapping for FXRuby have signatures like
"Lyle Johnson" <ljohnson@resgen.com> writes:
[#13163] Re: Amusing contrast — Kevin Smith <sent@...>
Dave Thomas wrote:
[#13182] Re: email address regexp (fwd) — Paul Pladijs <paul.pladijs@...>
[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>
Hi all,
> Hi Dan,
On Sun, 25 Mar 2001, Daniel Berger wrote:
"Mathieu Bouchard" <matju@sympatico.ca> wrote in message
On Mon, 26 Mar 2001, Daniel Berger wrote:
Ernest Ellingson <erne@powernav.com> writes:
[#13225] Installation Woes — "John Kaurin" <jkaurin@...>
System: alphaev6-osf4.0f
[#13226] Re: Randal in Ruby-land? (was: email address regexp) — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From claird@starbase.neosoft.com (Cameron Laird) =====
[#13236] drb and "recycled objects" errors — Jimmy Olgeni <olgeni@...>
[#13240] hash problem — Urban Hafner <the-master-of-bass@...>
Hello everybody,
[#13246] Re: Randal in Ruby-land? (was: email address regexp) — "Conrad Schneiker" <schneik@...>
Mathieu Bouchard wrote:
Hi,
Hi,
> From: Yukihiro Matsumoto [mailto:matz@zetabits.com]
On Thu, 29 Mar 2001 23:11:03 +0900, Christoph Rippel pontificated:
On Fri, 30 Mar 2001, Pete Kernan wrote:
[#13255] This is going to sound crazy, but... — Dave Thomas <Dave@...>
[#13294] ruby slowww socket handling — Joseph McDonald <joe@...>
[#13303] Reloading files — "Nathaniel Talbott" <ntalbott@...>
First of all, a confession: Lapidary's GTK::TestRunner had a show stopper
[#13318] hash slice implementaion — "Hee-Sob Park" <phasis@...>
[#13369] Buffered and non-buffered IO — Lloyd Zusman <ljz@...>
Could anyone point me to some documentation that describes how I could
[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>
I'd like to do the following:
[#13388] Using Antlr for Ruby? (was RE: Re: why won't "( a) = 1" parse?) — Christophe Broult <cbroult@...>
Hi,
Hi,
[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>
Is it possible in ruby to make use of constructs that correspond to
masa@stars.gsfc.nasa.gov writes:
> From: nosuzuki@e-mail.ne.jp [mailto:nosuzuki@e-mail.ne.jp]On Behalf Of
"Christoph Rippel" <crippel@primenet.com> writes:
[ruby-talk:12594] Re: FEATURE REQUEST: 'my' local variables
On Tue, 13 Mar 2001, Yukihiro Matsumoto wrote:
> The one is allowing explicit declaration of block local variables.
> <a,b|c,d> is one choice of notations.
One problem I can see with this is that it will make code harder to
modify. If I change the contents of a block, I will have to remember
to "declare" my usage in the <>'s. I kinda liked not having to define
my variables before using them.
> The other notation candidates may be special block form({{}}),
I already find the difference between do..end and {} to be confusingly
similar. One block type would be nicer, especially if it could remove
the difference between Proc objects and Method objects.
> and special declarative assignment.
This could be handled with a naming convention, and fits in with the
current design of Ruby...
:name is global in scope
$name is global in scope
@@name is class in scope
@name is instance in scope
_name is block in scope
However, I'm not so sure this is the way to go either.
> The other idea is implicit propagation of variable scope, that is
In other words, a flattening of scope. I like this idea as it aligns
with not having nested methods. Eg, you can't do this:
def method1
def method1a
end
def method1b
end
end
def method2
end
I used nested procedures all the time when I was programming in Pascal
and found it very useful at the time. However, it has its problems and I
think things are better without them.
The same argument applies to nested variables in that they're useful, but
things are probably better without them.
*** start of loony tunes proposal ***
I would like to suggest that scoping rules be removed from do..end blocks
and stricter scoping rules be introduced for {} blocks.
Let's look at do..end first. Variables are accessible inside, and new
variables are available outside. This can be slightly extended so that
the parameters are shadowed, as follows:
i = 123
j = 10
(1..10).each do |i| # i becomes shadowed within the block
j = i * 5
k = i * 10
end
p [i, j, k] -> [123, 50, 100]
The "i" is protected because it's defined in the |i| parameter list. This
is a nice way of just using a name for the loop without trashing anything
else. All other variables are just there and used, like BASIC. :)
This also makes the following possible:
i = 1000
(101..103).each do |i|
(1..3).each do |i|
p i
end
p i
end
p i
1 2 3 101 1 2 3 102 1 2 3 103 1000
So if someone really cares, they could list a few more variables in the
||'s (which would be empty since there's not enough parameters passed)
and achieve their local variables that way. Kludge? Yep! :)
{}'s are redefined to be the same as method definitions. They have their
own scope with no pre-existing variables accessible and no new variables
being accessible either. They both return a value.
Eg:
i = 123
j = 10
(1..10).each {|i|
# accessing j at this point would be an error
j = i * 5
k = i * 10
}
p [i, j, k] -> [123, 10, error]
Eg, no local variables are accessible inside of a {} block, and any
variables defined inside are not subsequently accessible, just as if
the code had been refactored into a separate method.
Now for one final tweak which will clean up another bit of Ruby as well.
Now that {}'s are the same as methods, it would be good to be able to do
the following:
def jack(x) p x end # as per normal
jill = {|x| p x } # storing code into a variable
jack(10) -> prints 10 # as per normal
jill(20) -> prints 20 # behaves exactly the same
{|x| p x}(30) -> prints 30 # orthogonality is great
thus making {}'s and "def method" exactly the same. The problem currently
in the way of this happening is that giving the name alone only returns the
Object handle when performing a call is more desirable.
The brute force way is to define a default method to be called when the
name is used. However, looking at what Ruby does...
p a # will silently call a.inspect
puts a # will silently call a.to_s
1 + a # will silently call a.coerce
it makes much more sense to define the interpreter perform a call when
interpreting the code... in other words
a # will silently call a.exec
All of a sudden my classes become just as good as the built-in classes.
class Fred
attr_accessor :var
def exec
@var
end
end
a = Fred.new.var 10 -> 10
b = a + 20 -> 30
c = 30 + a -> 40
a = Fred.new.var "12345" -> "12345"
b = a + "hello" -> "12345hello"
c = "world" + a -> "world12345"
because the interpreter reads in the source, finds "a" by itself, and calls
the "exec" method automatically. I can hook in and define how I want this
variable to behave - in this case, acting exactly like @val.
This is something I can't do in Ruby at the moment, therefore my classes
will never be able to do as much as the built-in's.
In summary:
do..end is the same as Proc objects, and has no scoping rules.
{} is the same as Method, and has its own scope.
The interpreter calls the "exec" method when the name alone is used.
On the downside, these changes are not backwards compatible. There's two
ways to go on this aspect...
1) Introduce new syntax while phasing out old syntax.
2) Introduce a version number that tells the interpreter how to handle
the code, while giving warnings on old constructs.
I like the second option better, but can imagine it would be a headache
to program the interpreter to handle this.
Now from the big picture viewpoint, these changes make code easier to
refactor and modify. To add new code, I can use {}'s to make sure it
doesn't disturb any existing code. To move code out, I can enclose it
it in {}'s, treat it like a method, then move it out. The syntax stays
simple and things are conceptually more distinct.
What do you think? I like it. :)
--
spwhite@chariot.net.au