[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5496] Re: Object.foo, setters and so on

From: Yasushi Shoji <yashi@...>
Date: 2000-10-13 05:18:49 UTC
List: ruby-talk #5496
At Fri, 13 Oct 2000 12:10:02 +0900,
Shugo Maeda <shugo@ruby-lang.org> wrote:

> > I don't feel it's inconsistent (see `initialize').  It's a matter of
> > choice.  We can choose either a) make it public b) leave private with
> > warning.
> 
> I prefer b because I don't like implicit method visibility
> changes.
> How about others?

I asked shugo a few questions on irc just now.  it turns out that all
private method which ends with `=' is effected with this syntax sugar.
# i didn't know, i must be lucky ;P

# He also told me that it might be possible if we check whether the
# object respond to the method or not at run time, but we must check
# all local variable assignment, and that _will_ cost us.

e.g.

class Foo
  def pub
    foo = 2
  end

  private
  def foo=(x)
    p x
  end
end

Foo.new.pub

doesn't work. (also Dave's already showed in [ruby-talk:5412])

that means private methods end with `=' is useless. so I just assume
matz thought "if you can't use it as private method, make them public".

I just think this is more like document issue rather than anything
else.  

I was gonna vote for

c) leave it as private with warning when -w
   Warning: "private method ending with `=' will conflict with assignment"

with an entry for FAQ

Q: Why a private method like `foo=' doesn't work? how can I make it
work?

A: Because it conflict with local variable assgnment
statement. Running your script with switch `-w' gives you
warnning. You can do either, rename the method without `=' at the end,
or make it public.

but... once you know setters will always be public, I can live with
that without any problem.
--
         yashi

In This Thread

Prev Next