[#86984] Attempted roadmap of future instance variables.... — "David A. Black" <dblack@...>

Hi --

81 messages 2003/12/02
[#86998] Re: Attempted roadmap of future instance variables.... — Steve Tuckner <STUCKNER@...> 2003/12/02

So what is the relationship between @_ vars and @vars that are defined in a

[#87001] Re: Attempted roadmap of future instance variables.... — "David A. Black" <dblack@...> 2003/12/02

Hi --

[#87006] Re: Attempted roadmap of future instance variables.... — Steve Tuckner <STUCKNER@...> 2003/12/02

Maybe I am being dense, so bear with me...

[#87011] Re: Attempted roadmap of future instance variables.... — Lyle Johnson <lyle@...> 2003/12/02

Steve Tuckner wrote:

[#87013] Re: Attempted roadmap of future instance variables.... — Steve Tuckner <STUCKNER@...> 2003/12/02

OK so the jist of it is that @_var variables are stored with the class of

[#87095] Re: Attempted roadmap of future instance variables.... — "Robert Klemme" <bob.news@...> 2003/12/03

[#87098] Re: Attempted roadmap of future instance variables.... — "David A. Black" <dblack@...> 2003/12/03

Hi --

[#87102] Re: Attempted roadmap of future instance variables.... — ts <decoux@...> 2003/12/03

>>>>> "D" == David A Black <dblack@wobblini.net> writes:

[#87244] Re: Attempted roadmap of future instance variables.... — "Christoph" <chr_mail@...> 2003/12/05

ts wrote:

[#87275] Re: Attempted roadmap of future instance variables.... — ts <decoux@...> 2003/12/05

>>>>> "C" == Christoph <chr_mail@gmx.net> writes:

[#87286] Re: Attempted roadmap of future instance variables.... — "Christoph" <chr_mail@...> 2003/12/05

ts wrote:

[#87290] Re: Attempted roadmap of future instance variables.... — "David A. Black" <dblack@...> 2003/12/05

Hi --

[#87308] Re: Attempted roadmap of future instance variables.... — Austin Ziegler <austin@...> 2003/12/05

On Fri, 5 Dec 2003 22:56:41 +0900, David A. Black wrote:

[#87310] Re: Attempted roadmap of future instance variables.... — "Christoph" <chr_mail@...> 2003/12/05

Austin Ziegler wrote:

[#87314] Re: Attempted roadmap of future instance variables.... — "T. Onoma" <transami@...> 2003/12/05

On Friday 05 December 2003 05:40 pm, Christoph wrote:

[#87318] Re: Attempted roadmap of future instance variables.... — matz@... (Yukihiro Matsumoto) 2003/12/05

Hi,

[#87335] Re: Attempted roadmap of future instance variables.... — Nathaniel Talbott <nathaniel@...> 2003/12/05

On Dec 5, 2003, at 12:15, Yukihiro Matsumoto wrote:

[#87320] Re: Attempted roadmap of future instance variables.... — Austin Ziegler <austin@...> 2003/12/05

On Sat, 6 Dec 2003 01:40:42 +0900, Christoph wrote:

[#87322] Re: Attempted roadmap of future instance variables.... — "T. Onoma" <transami@...> 2003/12/05

On Friday 05 December 2003 06:41 pm, Austin Ziegler wrote:

[#87066] What's the best way to create methods dealing with an object of a certain class? — Leif K-Brooks <eurleif@...>

I want to add a method to be run on Strings. Currently, I'm just adding

14 messages 2003/12/03
[#87072] Re: What's the best way to create methods dealing with an object of a certain class? — Lyle Johnson <lyle@...> 2003/12/03

Leif K-Brooks wrote:

[#87083] Some Regexp — orlovdn@... (Dmitry N Orlov)

I want to get array from file like this:

20 messages 2003/12/03

[#87203] sorting — vanjac12@... (Van Jacques)

I'm not sure where to post about this problem, so

18 messages 2003/12/04

[#87233] Generalized break? — Hal Fulton <hal9000@...>

I hate to bring up possible language changes, since there is

14 messages 2003/12/04

[#87255] WeakRef and Object#hash — Samuel Tesla <samuel@...>

I'm trying to implement a weak key hash to use for generic objects.

37 messages 2003/12/05
[#87259] Dumb question to which I ought to know the answer by now — "Mark J. Reed" <markjreed@...> 2003/12/05

Is there an assignment version of Hash#values_at, so I can assign

[#87266] Re: Dumb question to which I ought to know the answer by now — Austin Ziegler <austin@...> 2003/12/05

On Fri, 5 Dec 2003 12:42:05 +0900, Mark J. Reed wrote:

[#87333] Re: Attempted roadmap of future instance variables.... — "Weirich, James" <James.Weirich@...>

From: David A. Black [mailto:dblack@wobblini.net]

18 messages 2003/12/05
[#87337] Re: Attempted roadmap of future instance variables.... — Chris Thomas <chris@...> 2003/12/05

[#87402] Re: Attempted roadmap of future instance variables.... — matz@... (Yukihiro Matsumoto) 2003/12/06

Hi,

[#87382] Idea: Linux PIM in Ruby — Hal Fulton <hal9000@...>

On my wishlist of top 20 things I'd like to do: A PIM for Linux.

30 messages 2003/12/06
[#87407] Re: Idea: Linux PIM in Ruby — Lyle Johnson <lyle@...> 2003/12/06

Hal Fulton wrote:

[#87409] rbbr-0.5.0 — Masao Mutoh <mutoh@...>

Hi,

18 messages 2003/12/06

[#87430] Ideas for replacing $0==__FILE__ — Hal Fulton <hal9000@...>

I've accepted now that my "generalized break" was a bad idea. In

26 messages 2003/12/06
[#87720] Re: Ideas for replacing $0==__FILE__ — Eric Hodel <drbrain@...7.net> 2003/12/10

Hal Fulton (hal9000@hypermetrics.com) wrote:

[#87723] Re: Ideas for replacing $0==__FILE__ — Hal Fulton <hal9000@...> 2003/12/10

Eric Hodel wrote:

[#87726] Re: Ideas for replacing $0==__FILE__ — Eric Hodel <drbrain@...7.net> 2003/12/10

Hal Fulton (hal9000@hypermetrics.com) wrote:

[#87459] Trying to create a Ruby daemon — Samuel Kvarnbrink <samuel.kvarnbrink@...>

Hi,

11 messages 2003/12/07

[#87553] format money — saggmannen@... (saggmannen)

Hello, is there a way to format "Money"-style floats in ruby. E.g:

25 messages 2003/12/08

[#87587] Adjusting the Scope of Blocks — Mark Cox <mark_cox@...>

Hi,

22 messages 2003/12/09
[#87606] Re: Adjusting the Scope of Blocks — "Robert Klemme" <bob.news@...> 2003/12/09

[#87620] Re: Adjusting the Scope of Blocks — "David A. Black" <dblack@...> 2003/12/09

Hi --

[#87626] ANN: REXML 2.7.2 — ser@... (Sean Russell)

Hi,

18 messages 2003/12/09

[#87638] Inheriting variables, super, and "not super"? — Hugh Sasse Staff Elec Eng <hgs@...>

Is there a way in a method to say

11 messages 2003/12/09

[#87706] Docs for Socket, OpenSSL, etc — "James F. Hranicky" <jfh@...>

Are there any plans to add docs for modules like Socket and OpenSSL, etc to

23 messages 2003/12/10
[#87766] Re: Docs for Socket, OpenSSL, etc — Simon Strandgaard <neoneye@...> 2003/12/11

On Wed, 10 Dec 2003 23:20:21 +0900, James F. Hranicky wrote:

[#87769] Re: Docs for Socket, OpenSSL, etc — "James F. Hranicky" <jfh@...> 2003/12/11

On Thu, 11 Dec 2003 20:57:00 +0900

[#87780] Re: Docs for Socket, OpenSSL, etc — Dave Thomas <dave@...> 2003/12/11

[#87781] Re: Docs for Socket, OpenSSL, etc — "James F. Hranicky" <jfh@...> 2003/12/11

On Fri, 12 Dec 2003 00:07:28 +0900

[#87775] prog for g.c.d. of 2 integers — vanjac12@... (Van Jacques)

Topics from mathematics make good practice programs, IMO.

13 messages 2003/12/11

[#87783] problems with racc: $end token — "Luke A. Kanies" <luke@...>

Hello,

14 messages 2003/12/11
[#87789] Re: problems with racc: $end token — Jim Freeze <jim@...> 2003/12/11

On Friday, 12 December 2003 at 0:42:30 +0900, Luke A. Kanies wrote:

[#87819] Ruby-Talk Subject Matters — "T. Onoma" <transami@...>

Out of curiosity, how do others feel about "suggestive" threads? Do you feel

15 messages 2003/12/11

[#87856] Simple issue giving problems — Brad <coish@...>

Hello all,

17 messages 2003/12/11

[#88031] inplace assignment — "T. Onoma" <transami@...>

is there anyway, anyway at all, ugly hacks accepted, of doing inplace

40 messages 2003/12/14
[#88032] Re: inplace assignment — Hal Fulton <hal9000@...> 2003/12/14

T. Onoma wrote:

[#88034] Re: inplace assignment — "T. Onoma" <transami@...> 2003/12/14

On Sunday 14 December 2003 05:51 am, Hal Fulton wrote:

[#88037] Re: inplace assignment — Hal Fulton <hal9000@...> 2003/12/14

T. Onoma wrote:

[#88041] Re: inplace assignment — "T. Onoma" <transami@...> 2003/12/14

On Sunday 14 December 2003 07:49 am, Hal Fulton wrote:

[#88056] Re: inplace assignment — "David A. Black" <dblack@...> 2003/12/14

On Sun, 14 Dec 2003, T. Onoma wrote:

[#88059] Re: inplace assignment — "T. Onoma" <transami@...> 2003/12/14

On Sunday 14 December 2003 03:59 pm, David A. Black wrote:

[#88064] Re: inplace assignment — "David A. Black" <dblack@...> 2003/12/14

On Mon, 15 Dec 2003, T. Onoma wrote:

[#88077] All there is to know about Duck Typing (was: inplace assignment) — "T. Onoma" <transami@...> 2003/12/14

Alright, a number of things related to Duck Tpying have been popping up and I

[#88081] Re: All there is to know about Duck Typing (was: inplace assignment) — "David Naseby" <david.naseby@...> 2003/12/14

> -----Original Message-----

[#88147] extremely strange segfault — "Luke A. Kanies" <luke@...>

Hi all,

14 messages 2003/12/15

[#88150] UnboundMethods Useless? — "T. Onoma" <transami@...>

Urrrr.....

34 messages 2003/12/15
[#88239] Re: UnboundMethods Useless? — Dan Doel <djd15@...> 2003/12/16

You can do stuff like this:

[#88309] Re: UnboundMethods Useless? — "T. Onoma" <transami@...> 2003/12/17

On Tuesday 16 December 2003 08:54 pm, Dan Doel wrote:

[#88322] Re: UnboundMethods Useless? — Chad Fowler <chad@...> 2003/12/17

On Wed, 17 Dec 2003, T. Onoma wrote:

[#88323] Re: UnboundMethods Useless? — ts <decoux@...> 2003/12/17

>>>>> "C" == Chad Fowler <chad@chadfowler.com> writes:

[#88327] Re: UnboundMethods Useless? — "T. Onoma" <transami@...> 2003/12/17

On Wednesday 17 December 2003 01:21 pm, ts wrote:

[#88328] Re: UnboundMethods Useless? — ts <decoux@...> 2003/12/17

>>>>> "T" == T Onoma <transami@runbox.com> writes:

[#88332] Re: UnboundMethods Useless? — "T. Onoma" <transami@...> 2003/12/17

On Wednesday 17 December 2003 01:59 pm, ts wrote:

[#88333] Re: UnboundMethods Useless? — "David A. Black" <dblack@...> 2003/12/17

On Wed, 17 Dec 2003, T. Onoma wrote:

[#88336] Re: UnboundMethods Useless? — Peter <Peter.Vanbroekhoven@...> 2003/12/17

> I don't know what you mean by (ir)reversible, but the point is that

[#88337] Re: UnboundMethods Useless? — ts <decoux@...> 2003/12/17

>>>>> "P" == Peter <Peter.Vanbroekhoven@cs.kuleuven.ac.be> writes:

[#88159] Re: Extracting multiple lines from a file — "Berger, Daniel" <djberge@...>

> -----Original Message-----

18 messages 2003/12/15
[#88161] Re: Extracting multiple lines from a file — "Ron Coutts" <rcoutts@...> 2003/12/15

[#88166] Re: Extracting multiple lines from a file — "Mark J. Reed" <markjreed@...> 2003/12/15

On Tue, Dec 16, 2003 at 07:16:23AM +0900, Ron Coutts wrote:

[#88199] Re: Extracting multiple lines from a file — Derek Lewis <lewisd@...00f.net> 2003/12/16

On Tue, 16 Dec 2003, Mark J. Reed wrote:

[#88172] Copying methods from one class to another — "T. Onoma" <transami@...>

Is there any way to copy a method from one class to another?

22 messages 2003/12/16
[#88174] Re: Copying methods from one class to another — Jamis Buck <jgb3@...> 2003/12/16

T. Onoma wrote:

[#88183] Re: Copying methods from one class to another — "T. Onoma" <transami@...> 2003/12/16

On Tuesday 16 December 2003 05:23 am, Jamis Buck wrote:

[#88189] Re: Copying methods from one class to another — "David A. Black" <dblack@...> 2003/12/16

On Tue, 16 Dec 2003, T. Onoma wrote:

[#88191] Re: Copying methods from one class to another — "T. Onoma" <transami@...> 2003/12/16

On Tuesday 16 December 2003 02:51 pm, David A. Black wrote:

[#88195] Re: Copying methods from one class to another — Hacksaw <hacksaw@...> 2003/12/16

Sorry to step into the middle of a conversation, but what does this mean:

[#88211] Newbie questions — jfrapper@... (Jim Frapper)

I was wondering what the equivalent tools were to perldoc(ri is not)

44 messages 2003/12/16
[#88259] Re: Newbie questions — Chad Fowler <chad@...> 2003/12/16

On Wed, 17 Dec 2003, Jim Frapper wrote:

[#88266] Re: Newbie questions — Gavin Sinclair <gsinclair@...> 2003/12/16

On Wednesday, December 17, 2003, 8:10:19 AM, Chad wrote:

[#88270] Re: Newbie questions — Daniel Carrera <dcarrera@...> 2003/12/16

>

[#88271] Re: Newbie questions — "Luke A. Kanies" <luke@...> 2003/12/16

On Wed, 17 Dec 2003, Daniel Carrera wrote:

[#88272] Re: Newbie questions — Daniel Carrera <dcarrera@...> 2003/12/16

On Wed, Dec 17, 2003 at 07:07:45AM +0900, Luke A. Kanies wrote:

[#88280] Re: Newbie questions — "Luke A. Kanies" <luke@...> 2003/12/16

On Wed, 17 Dec 2003, Daniel Carrera wrote:

[#88370] Re: Newbie questions — Derek Lewis <lewisd@...00f.net> 2003/12/17

[#88220] Re: Newbie questions — "Berger, Daniel" <djberge@...>

> -----Original Message-----

31 messages 2003/12/16
[#88224] Re: Newbie questions — Hal Fulton <hal9000@...> 2003/12/16

Berger, Daniel wrote:

[#88227] Re: Newbie questions — Thomas Adam <thomas_adam16@...> 2003/12/16

--- Hal Fulton <hal9000@hypermetrics.com> wrote:

[#88228] Re: Newbie questions — Hal Fulton <hal9000@...> 2003/12/16

Thomas Adam wrote:

[#88289] Very odd IO problem — Brad <coish@...>

All:

18 messages 2003/12/17

[#88414] Yukihiro - Please ensure backwards compatibility — jobeicus@... (Joseph Benik)

having recently migrated one of my machines from a 1.6 flavor to the

14 messages 2003/12/18

[#88494] How to return more than one result from a method? — Tim Hunter <cyclists@...>

I'm trying to code a method that has two result values. The values are

14 messages 2003/12/19

[#88581] replacing two EOL chars by one — xah@... (Xah Lee)

i have a bunch of java files that has spaced-out formatting that i

23 messages 2003/12/20

[#88643] Ruby 1.8.1 preview4 — matz@... (Yukihiro Matsumoto)

Hi,

32 messages 2003/12/22

[#88731] RubyGems and dependencies — sera@... (Francis Hwang)

Two RubyGems questions about dependencies:

16 messages 2003/12/23

[#88781] TkText freezes — quillion <me@...>

Hello all,

21 messages 2003/12/24

[#88814] ruby 1.8.1 — matz@... (Yukihiro Matsumoto)

Merry Christmas,

25 messages 2003/12/24

[#88936] Inconsistent value of uninitialized variable — Gavin Sinclair <gsinclair@...>

The following statement, free of all context, generates an error:

10 messages 2003/12/28

[#88954] An addition to Array (or Enumerable)? — Harry Ohlsen <harryo@...>

Yesterday, I wanted to get the output from "ls -l some_file" and pull out just the file size and the file name. As I start writing this, I realise, of course, that I'd have been better off just using the File#size method, but I still think the issue I hit is interesting.

12 messages 2003/12/28

[#89015] ruby-dev summary 22273-22434 — "Takaaki Tateishi" <ttate@...>

Hello,

16 messages 2003/12/30
[#89016] Re: ruby-dev summary 22273-22434 — Austin Ziegler <austin@...> 2003/12/30

On Wed, 31 Dec 2003 00:45:11 +0900, Takaaki Tateishi wrote:

Re: Attempted roadmap of future instance variables....

From: Nathaniel Talbott <nathaniel@...>
Date: 2003-12-05 18:40:06 UTC
List: ruby-talk #87335
On Dec 5, 2003, at 12:15, Yukihiro Matsumoto wrote:

> Hi,
>
> In message "Re: Attempted roadmap of future instance variables...."
>     on 03/12/06, "T. Onoma" <transami@runbox.com> writes:
>
> |Wouldn't it be better just to have instance vars (@foo) local to the 
> class.
> |Then subclasses and superclasses (and reportedly singletons too) 
> would have
> |to go through accessor methods? Just seems like a simpler and more 
> elegant
> |solution. Or is there a problem with this that I'm not seeing 
> (besides "back
> |breaking" compatability)?
>
> That would be interesting alternative idea.  I think it's matter of
> how much compatibility we would preserve.

The core of the problem that class local instance variables are trying 
to solve is variable shadowing (as Guy so elegantly showed). The 
problem with making all variables class local and using accessors, is 
that if I am shadowing an instance variable, there is a good chance 
that I will shadow the accessor as well. The superclass variable thus 
becomes completely inaccessible:

   # pretend all instance variables are class local
   class A
     attr_accessor :a

     def initialize
       @a = 1
     end
   end

   class B < A
     attr_accessor :a

     def initialize
       @a = 'a'
     end
   end

There is no way for the subclass to access the superclass's instance 
variable @a now, and I don't see a good work-around for this.

Personally I don't like any proposal I've seen for this concept yet 
(including Matz'). I understand that sometimes there are name clashes 
when we'd rather there not be, but every cure I've seen seems to be 
much worse than the disease, cutting down on the flexibility one 
currently has in Ruby to easily access anything that one needs to get 
the job done. Yes, as things stand now, it is possible to shoot oneself 
in the foot, but there are plenty of other ways to do that, and I don't 
think we're going to remove all of them in Ruby 2.0. I just know that 
I'm going to subclass a framework class in Ruby someday and find that 
the one variable that I need to change the value of is a class local 
instance variable, and I can't get access to it. Gives me Java 
flashbacks.

I wonder if a better solution for the issue doesn't lie in the idea of 
namespaces. Basically, library writers want to be able to say that 
@checkpoint is part of the Transaction::Simple namespace, and 
occasionally library users want to say that they want to read or write 
@checkpoint in the Transaction::Simple namespace. If there was a way to 
explicitly limit the namespace of an instance variable to a given Class 
or Module, and a way to access an instance variable in an explicit 
Class or Module, that would be quite handy. The key is that all data 
remains accessible all the time, to everyone. We just allow folks the 
ability to shadow.

Stupid, off the top of my head, code example:

   module Transaction::Simple
     def initialize
       namespace self do
         @checkpoint = true
       end
     end
   end

   class MyClass
     include Transaction::Simple

     def initialize
       @checkpoint = true
       namespace Transaction::Simple do
         @checkpoint = false
       end
     end
   end

This is definitely half-baked, but perhaps it will trigger something in 
someone's (read Matz' :-) brain.


Nathaniel

<:((><


In This Thread