[#406419] Recursion with Hash — Love U Ruby <lists@...>

h = {a: {b: {c: 23}}}

14 messages 2013/04/01

[#406465] Exclusively for Rubyists, a community on Facebook — "senthil k." <lists@...>

I was surprised to know that there is no community for Ruby Programming

12 messages 2013/04/03
[#406467] Re: Exclusively for Rubyists, a community on Facebook — Marc Heiler <lists@...> 2013/04/04

Thing is, some people do not use Facebook and never will.

[#406468] Re: Exclusively for Rubyists, a community on Facebook — Aghori Shaivite <aghorishaivite@...> 2013/04/04

Yeah... but some people don't use email, or the internet, or computers. So

[#406528] Role of bundler in creating and installing a gem — Jon Cairns <lists@...>

Hi fellow rubyists,

11 messages 2013/04/05

[#406555] How do you know what the main file in Ruby Projects is? — peteV <pete0verse@...>

Hi Ruby people,

18 messages 2013/04/05
[#406558] Re: How do you know what the main file in Ruby Projects is? — "Carlo E. Prelz" <fluido@...> 2013/04/05

Subject: How do you know what the main file in Ruby Projects is?

[#406560] Re: How do you know what the main file in Ruby Projects is? — Hans Mackowiak <lists@...> 2013/04/05

Carlo E. Prelz wrote in post #1104616:

[#406562] Re: How do you know what the main file in Ruby Projects is? — "D. Deryl Downey" <me@...> 2013/04/05

Actually its not wrong. What it does is explicitly state which ruby

[#406563] Re: How do you know what the main file in Ruby Projects is? — Matt Lawrence <matt@...> 2013/04/05

On Sat, 6 Apr 2013, D. Deryl Downey wrote:

[#406564] Re: How do you know what the main file in Ruby Projects is? — Hans Mackowiak <lists@...> 2013/04/05

Matt Lawrence wrote in post #1104625:

[#406566] Re: How do you know what the main file in Ruby Projects is? — Matt Lawrence <matt@...> 2013/04/05

On Sat, 6 Apr 2013, Hans Mackowiak wrote:

[#406570] Re: How do you know what the main file in Ruby Projects is? — Matthew Mongeau <halogenandtoast@...> 2013/04/05

I'm interested in the issue with using env, but I find you explanation a but hard to follow. What are some situations that lead to the problems you are describing. I'm currently using env in some gems and if there is a strong argument against it, I don't mind switching it.

[#406600] Mapping string data ptr to buffer in ffi — se gm <lists@...>

I'm trying to implement some "shared memory" in Ruby, but I'm not sure

20 messages 2013/04/08

[#406683] confusion with Struct class — Love U Ruby <lists@...>

I went to there - http://www.ruby-doc.org/core-2.0/Struct.html but the

29 messages 2013/04/11
[#406694] Re: confusion with Struct class — Love U Ruby <lists@...> 2013/04/11

Why does every time the has value getting changed,while the instance

[#406762] Why does #content method in nokogiri not printing the full text? — Love U Ruby <lists@...>

Here is the documentation: http://www.rubydoc.info/gems/nokogiri/frames

19 messages 2013/04/14
[#406764] Re: Why does #content method in nokogiri not printing the full text? — tamouse mailing lists <tamouse.lists@...> 2013/04/14

On Sun, Apr 14, 2013 at 11:19 AM, Love U Ruby <lists@ruby-forum.com> wrote:

[#406874] Input: sentence Modify: words Output: modified sentence — Philip Parker <lists@...>

I am new to Ruby. This is a programming interview question to use any

11 messages 2013/04/19

[#406912] Tap method : good or bad practice ? — Sébastien Durand <lists@...>

Hi all !

18 messages 2013/04/21

[#406936] BEGINNER -CLASS QUERY — shaik farooq <lists@...>

HEY as we know that the object conatins the instance variables that are

22 messages 2013/04/22

[#406966] copying files syntax with FileUtils.rb (grr.) — Thomas Luedeke <lists@...>

In my Ruby scripting, there is probably no greater and chronic source of

10 messages 2013/04/23

[#406969] what is the $- magic global? — Matthew Kerwin <lists@...>

I've been searching for the past hour or so, including manually stepping

13 messages 2013/04/24

[#407059] New Rexx like data structure — Peter Hickman <peterhickman386@...>

This is just something that I have been playing with for some time but I

11 messages 2013/04/29

[#407070] writing lines to a file — peteV <pete0verse@...>

I have a text file with on every line a magic card number and such info

13 messages 2013/04/29

Re: Messaging Passing and context

From: Robert Klemme <shortcutter@...>
Date: 2013-04-07 11:13:34 UTC
List: ruby-talk #406595
On Sun, Apr 7, 2013 at 4:47 AM, Julian Leviston <julian@coretech.net.au>wrote:

> Hi,
>
> I've often wanted what I'm about to describe.
>
> Some history about me, so you know this isn't a complete noob question: I
> understand separation of concerns and encapsulation quite well (at least, I
> think I do). I've been programming in object oriented languages for most of
> my life (I'm 37, and I started SmallTalk when I was 17). I've programmed in
> most languages: SmallTalk, Java, Ruby, forth, Python, C/C++, BASIC,
> VisualBasic, ASM, LISP (common, scheme, racket), JavaScript, Self, bit of
> Haskell, Erlang etc., etc.
>
> Context here is object-oriented message sending:



> So what I'm interested in, when an object sends a message to another
> object, why is there no context-sensitivity? In other words, (all
> judgements aside as this is just a trivial example), I'd like the nerd to
> be defined as a person who dislikes outside areas, therefore behaves
> according to his mood when he's outside perhaps.
>

Maybe your design is not appropriate for the type of application you have
in mind: why not make Place a member of Person since a person can be in one
place at a time only anyway?

Also: you put boolean properties inside Place and subclasses which are set
in each sub class constructor.  They are obviously intended to control some
form of behavior.  If you tie values of these properties to the class so
closely it is much, much more reasonable to encode that differing behavior
into implementations of sub class methods.

See also state and strategy patterns.

Instantiating a Nerd inside a FIeld... or messaging him with the say_hi
> type message should be able to bear some context on what that nerd's reply
> is. I'm not stipulating a tight coupling of context to object, I *like*
> decoupled contexts, and I like interfaces, but just like the mechanism of
> introspection, it'd be useful and nice to be able to garner *some*
> information about the calling context, especially if (and this is my real
> beef) the calling context WANTS TO GIVE THE INFORMATION. The obvious
> solution is simply to change the interface so it contributes a variable
> which passes across this information, but versioning interfaces is a
> complete pain - I'd like to have a common object (called caller, possibly)
> that I could query from within a method without the caller having to pass
> through "self" every single time.


That is usually a bad idea.  What you accomplish with this is non explicit
passing of state around.  That usually interferes with testability: if you
pass in everything explicitly it is no problem to create a mock environment
to test the class.  If there is implicit passing this is much harder or
even impossible.  Plus, the code is much harder to understand since passing
of the implicit data is not part of the interface.

Also, logic of a class is much more difficult to understand if it does not
only depend on the instance's state but also on some kind of hidden state
which is made accessible to method implementations.

Caveat: I often find it difficult to have this type of discussion on
synthetic examples because in a real world case there is so much more
context and information about the purpose which is missing here.  So please
take everything I write with a grain of salt.


> Thus we could then apply some duck typing in the callee side and get it to
> ask some questions of its context before responding to messages.
>

I am not sure I understand what you mean by "duck typing" here - I get the
impression that you might not have fully understood the concept.  With duck
typing you would just invoke methods on the context and work from there.


> Am I missing some obvious design considerations here?
>
> I guess I'm talking more about language design than language usage, so
> there might be a better place to discuss this. Comments?
>

I think this place is OK.  In fact I am missing these types of discussions
which seem to have become very rare.  Thank you for bringing this up and
giving an opportunity to once again reason about design!

Kind regards

robert


-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread

Prev Next