[#5999] Re: Custom installation (1.6.1) — ts <decoux@...>
>>>>> "D" == David Suarez de Lis <excalibor@demasiado.com> writes:
[#6019] Time.local bug? — hal9000@...
Please tell me this is a bug, not a feature.
[#6028] Ref.: Re: Time.local bug? — David Suarez de Lis <excalibor@...>
Hi,
[#6042] Re: Time.local bug? — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#6074] Re: Cygwin conflicts — "Conrad Schneiker/Austin/Contr/IBM" <schneik@...>
Conrad Schneiker wrote:
[#6078] Programming Ruby ranking — Aleksi Niemel<aleksi.niemela@...>
Just a small note how the Ruby book sells:
[#6083] ANN: Single step Ruby installation for Windows — Dave Thomas <Dave@...>
[#6092] Re: detect:ifNone: in Ruby — Aleksi Niemel<aleksi.niemela@...>
> I like it. You can also mess around with the built in classes to get
[#6097] Re: detect:ifNone: in Ruby — Aleksi Niemel<aleksi.niemela@...>
matz queries:
[#6102] What would a Ruby browser look like? — Dave Thomas <Dave@...>
[#6106] Re: What would a Ruby browser look like? — "Conrad Schneiker/Austin/Contr/IBM" <schneik@...>
Stephen White writes:
People are already talking about using Tk to do this, or doing it as a WWW
[#6121] More Date/Time inconsistencies — David Suarez de Lis <excalibor@...>
Hi all,
[#6122] Ruby Book, Eng. tl, 6.1 -- aimai ? — Jon Babcock <jon@...>
[#6138] Thoughts on a Ruby browser — hal9000@...
I have to issue a disclaimer first, that I am not a code browser user,
[#6143] Re: What would a Ruby browser look like? — "Conrad Schneiker/Austin/Contr/IBM" <schneik@...>
Matz writes:
[#6149] Ruby hi(gh), and pointer to Jotto program — David Alan Black <dblack@...>
Hello --
David Alan Black <dblack@candle.superlink.net> writes:
[#6181] Minimal but practically useful Ruby browser? — "Conrad Schneiker/Austin/Contr/IBM" <schneik@...>
Hi,
[#6206] Re: marshal.dump again — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#6220] ruby-lang.org — Dave Thomas <Dave@...>
[#6246] Re: quiz of the week — "Brian F. Feldman" <green@...>
"Brian F. Feldman" <green@FreeBSD.org> wrote:
> In case anyone wants something else to try an example of how fun
[#6288] lchown()/etc. and Unix syscall completeness — "Brian F. Feldman" <green@...>
Ruby as it is now isn't very consistent with the system calls it provides.
[#6346] Re: Another Smalltalk control structure idea — "Conrad Schneiker/Austin/Contr/IBM" <schneik@...>
Matz writes:
On Tue, 14 Nov 2000 15:29:31 +0900, Conrad Schneiker/Austin/Contr/IBM wrote:
[#6363] Re: rescue clause affecting IO loop behavior — ts <decoux@...>
>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:
Hello again --
matz@zetabits.com (Yukihiro Matsumoto) writes:
[#6383] 1.6.x documentation. — Hugh Sasse Staff Elec Eng <hgs@...>
On Tue, 14 Nov 2000, Yukihiro Matsumoto wrote:
[#6386] lots of Threads — Hugh Sasse Staff Elec Eng <hgs@...>
If I have an array to be filled with computationally heavy stuff,
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On Thu, 16 Nov 2000, Dave Thomas wrote:
On Thu, 16 Nov 2000 19:59:07 +0900, Hugh Sasse Staff Elec Eng wrote:
[#6412] clas << a & Pascal's with <record> do...end — Hugh Sasse Staff Elec Eng <hgs@...>
I was thinking that when a lot of work must be done on an object
[#6417] Where is T_RANGE? — Robert Feldt <feldt@...>
Hi,
[#6444] Ruby tokenizer for Ruby — Charles Hixson <charleshixson@...>
Does anyone know of a Ruby tokenizer for Ruby? In particular, I am bother
[#6461] Is there a FITS_IN_UINT(v)? — Robert Feldt <feldt@...>
Hi,
Robert Feldt <feldt@ce.chalmers.se> writes:
[#6476] %x{...} and ` not working? — Niklas Backlund <d99-nba@...>
Hi,
[#6485] Re: GUI in ruby — "Conrad Schneiker" <schneik@...>
Hi,
[#6491] comp.lang.tcl -- The "Batteries Included" Distribution [LONG] — "Conrad Schneiker" <schneik@...>
Hi,
On Tue, 21 Nov 2000 16:58:30 +0900, Conrad Schneiker wrote:
[#6503] redefining methods in a hierarchy. — Hugh Sasse Staff Elec Eng <hgs@...>
If I have an object which I know to be a subclass of a subclass (at lease)
[#6518] Re: Question about the behavior of write att ributes in blocks — Aleksi Niemel<aleksi.niemela@...>
> Is it at all possible to write an iterator, which allows assignments
Thank you for explanation - the output of "x".inspect() is
"Christoph Rippel" <chr@subdimension.com> writes:
I lifted the following two lines from your (great) book - Page 285
[#6521] Time Trouble — Niklas Backlund <d99-nba@...>
Hi,
Niklas Backlund <d99-nba@nada.kth.se> writes:
[#6523] alias_method and > and < — Hugh Sasse Staff Elec Eng <hgs@...>
The operators > and < don't seem to be in the list of things one cannot
[#6550] Note on docs for Array#reverse! — Robert Feldt <feldt@...>
[#6571] Re: Ruby/C extension build question — Arjen Laarhoven <arjen@...>
Oops:
[#6579] ANN: Ruby/GDChart 0.0.1 available — Arjen Laarhoven <arjen@...>
Hi all,
[#6582] best way to interleaf arrays? — David Alan Black <dblack@...>
Hello --
David Alan Black <dblack@candle.superlink.net> wrote:
David Alan Black <dblack@candle.superlink.net> writes:
David Alan Black <dblack@candle.superlink.net> writes:
On Tue, 28 Nov 2000, Dave Thomas wrote:
[#6597] Question on sort! — Dave Thomas <Dave@...>
matz@zetabits.com (Yukihiro Matsumoto) writes:
Hi,
> The latter can be avoided if one follows the no-bang-method-chain
[#6642] Hash with a key of nil ? — rpmohn@... (Ross Mohn)
While reading data in from a file and populating a hash, I accidentally
[#6646] RE: Array Intersect (&) question — Aleksi Niemel<aleksi.niemela@...>
Ross asked something about widely known and largely ignored language (on
aleksi.niemela@cinnober.com (Aleksi Niemel) wrote in
> >Use a hash. Here's code to do both and more. It assumes that
Hi,
----- Original Message -----
[#6656] printing/accessing arrays and hashes — raja@... (Raja S.)
I'm coming to Ruby with a Python & Common Lisp background.
matz@zetabits.com (Yukihiro Matsumoto) writes:
[#6666] Suggestion for addition to Begin/End syntax — drew@... (Andrew D. McDowell)
Hi all.
Hi,
[ruby-talk:6678] Re: printing/accessing arrays and hashes
>Actually, what happens is that when you concatenate something to an
>existing string, if that something isn't already a string, its to_str
>method is called.
aha! So it's not really #joins behavior but that of concatenation (akin to
Java's 'toString' method behavior).
Thanks for the clarification!
>Before you do that, though, can I suggest an experiment?
>Do nothing. Just try it as it is, and see what happens. See how often
>you get bitten by this. Perhaps adjust your coding style slightly to
>adapt to a new language.
Indeed. My intent wasn't conveyed properly in my earlier wording. I didn't
mean to imply that it had been "accidentally" left out. No doubt it was a
conscious much thought about design choice. (But of course, "much thought
about" is isn't necessarily the same as "well thought out" :-) )
Going from your comment and your extensive experience I'm inclined to say it
isn't much of a problem in Ruby. As I alluded to earlier, the extensive
iterators of ruby should alleviate this problem. I personally can't recall
it being a problem in Common Lisp though, needless to say, is a pain in C.
I guess I was thinking along the lines that several recent languages (Java,
Python) and (if I recall right older ones as Ada and Eiffel) raise such out
of bound exceptions. (As an educator I'm well aware that its a very common
mistake that trips beginning students. But, that may be because most
earlier languages didn't have a good collection of iterators.)
In relation to your "looking for horses rather than zebras" analogy I prefer
to right the "main" code first and wrap the boundary cases in exception
handlers. With ruby's good exception handling mechanisms that is still
possible. But if array/hash access needs to pre-checked it would violate
the "separation of concerns" policy. Let me see how it goes. :-)
*
On a related note. I've several (non-academic) years exposure to
C/Scheme/Common Lisp/Java/Python and 24 hours exposure to ruby :-)
In trying to personally experience Ruby's "Principle of least surprise" I've
tried to intuitively guess how things "should be" and am comparing it with
"how things are". For what it may be worth, following are my notes that
I've jotted down for my self. These are NOT meant to be a "call to arms" to
the designers to change the language :-). The problem/fix/comment s just
reflect where my intuitions/expectations went awry. The "shouldn't" that
you see below are just -my- intuitions and where I was surprised at ruby's
behavior. Of course, as I've always felt: "everything is intuitive once you
understand it" :-).
These are just a snap shot of my "huh? -> aha!" transition as I learn more
about the ruby way of thinking.
Raja
*
---------------------------------------------------------------------------
Problem: Array/hash access via #[] (i.e.m a[i], h[i]) does not raise an
exception for out of range indices/keys.
Fix: Hash#fetch raises an exception but unfortunately nothing equivalent
for arrays.
Comment: Perhaps this is a non-issue with Ruby's iterators.
Is it too late to include?
Note that this need not outlaw assigning to out-of-bound array
indices.
a = [1,2,3]
a[5] = 100 #-> [1, 2, 3, nil, nil, 100]
could still be valid.
Out of bound access would raise an exception while assignment
could be still be valid. Assigning to an out-bounds array index
could be viewed as the equivalent to creating a new entry in a
hash.
---------------------------------------------------------------------------
Quirk: Printing hash literals as the first argument to print causes
syntax problems:
print {'a'=>1, 'b'=>2}
Fix: Precede by an empty string.
print "", {'a'=>1, 'b'=>2}
Comment: One can say:
print [1,2,3]
so one may equivalently expect:
print {'a'=>1, 'b'=>2}
But print seems to treat the hash as a block.
Not a major problem but interesting asymmetry between arrays and
hashes.
---------------------------------------------------------------------------
Problem: Default printing behavior (i.e., #to_s) of arrays/hashes doesn't
show structure
Fix: Using #inspect
Can also define define our own Array#to_s, Hash#to_s to show
structure during #print:
class Array
def to_s
inspect
end
end
Or write your own print routine:
def Rprint (*args)
for x in [*args]
print x.inspect, " "
end
print "\n"
end
will give behavior similar to Python's 'print'
Comment: irb shows the structure when evaluating arrays/hashes
Shouldn't this be the default printing behavior of ruby? i.e.,
shouldn't the default #to_s of arrays and hashes show their
structure?
---------------------------------------------------------------------------
Problem: Array#join flattens a nested array.
[[1,2], [3,4]] . join(", ") #-> "[1, 2, 3, 4]"
instead of "[[1,2], [3,4]]"
Fix: Use [[1,2], [3,4]] . inspect #-> "[[1,2], [3,4]]"
During printing of nested arrays either redefine Array#to_s
or use the before mentioned #Rprint
Comment: [based on Dave's explanation] When concatenating objects that are
not strings #to_str is called.
Shouldn't
[[1,2], [3,4]] . join(", ") #-> "[[1,2], [3,4]]"
be the preferred behavior
and use,
[[1,2], [3,4]].flatten.join(", ") #-> "[1, 2, 3, 4]"
to get the current behavior?
Again, if we redefine Array#to_s to be equivalent to #inspect
this automatic flattening won't happen.
---------------------------------------------------------------------------
Problem; a[i..j / i...j / i,cnt] returns nil instead of [] for non-existing
segments.
Creates a problem for iterators as #each isn't defined for nil.
Fix: Don't know of a clean one.
Comment: Either #each needs to be defined for nil [Doesn't feel right]
Or a[i..j / i...j / i,cnt] should return the empty array, [], for out
out of bounds segments. [This feels right]
---------------------------------------------------------------------------