[#2367] Standard libraries — Dave Thomas <dave@...>

From ruby-dev summary:

60 messages 2004/02/11

[#2397] PATCH: deprecate cgi-lib, getopts, importenv, parsearg from standard library — Gavin Sinclair <gsinclair@...>

Index: cgi-lib.rb

15 messages 2004/02/12

[#2465] PATCH: OpenStruct#initialize to yield self — Gavin Sinclair <gsinclair@...>

This is a common approach I use to object initialization; I don't know

24 messages 2004/02/19

Re: rb_io_puts is strange

From: matz@... (Yukihiro Matsumoto)
Date: 2004-02-04 23:45:01 UTC
List: ruby-core #2344
Hi,

In message "Re: rb_io_puts is strange"
    on 04/02/05, Elliott Hughes <ehughes@bluearc.com> writes:

|Some of the things I don't like are, in no particular order:
|
| * It has the same name as C's puts, but doesn't have the same
|   behavior as C's puts.
|
| * It isn't to print what Java's println is to Java's print. I
|   understand this kind of printing duality, because it's in so
|   many languages. As far as I know, Ruby's print/puts
|   relationship is unique. It's certainly unusual.
|
| * It implements something I've never wanted, and can't -- to
|   be honest -- understand the need for. At the same time, it
|   looks like something I do need and use a lot. And *mostly*,
|   it works like C's puts.
|
| * It's always going to examine the last character of my string;
|   if I needed that, I could implement it for those cases where
|   it's what I want.
|
| * It's complicated. Not as bad as Perl's split function[1], sure,
|   but far more complicated than it ought to be. I find Ruby's
|   great in terms of putting things where I'd expect to find
|   them, but I'm often caught out by the behavior of the methods
|   I find. (The biggest example for me is the way ! methods tend
|   to return nil if they haven't changed anything. Presumably
|   they're intended to be used in if statements or something,
|   but it's weird that they either behave like their non-!
|   counterpart, or return nil.)

I understand what you are saying.  But still, I don't feel they are as
bad as you said.

I don't care much about consistency with other languages, for example,
C etc. as long as the basic behavior remains same.  At least "puts"
prints the given string with a newline.  Ruby's version is little bit
"smarter" though.  It wouldn't hurt much, once you've understood.

This is useful when I output the string from the user.  I didn't need
to check newlines at the end, nor to chomp the string.

Are there any bad things remain after you take a few minutes to
learn the Ruby behavior?

							matz.

In This Thread

Prev Next