[#408634] How do I make lots of classes aware of each other? — "Andrew S." <lists@...>

I'm apparently missing something fundamental in my knowledge of classes

10 messages 2013/07/02

[#408712] Ruby web service with REST support — "Shubhada S." <lists@...>

Hi All,

17 messages 2013/07/05

[#408812] create variables depending on counter — stefan heinrich <lists@...>

Hi community,

21 messages 2013/07/09

[#408854] execute commands within SMTP email code: send content in variables and not actual variables — dJD col <lists@...>

I am trying to send an email using the code below. I am able to send the

9 messages 2013/07/10

[#409031] tap { break } idiom deserves its own Kernel method? — Andy Lowry <lists@...>

I use this idiom from time to time:

13 messages 2013/07/22

[#409072] Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...>

This is what I want to do.

19 messages 2013/07/23
[#409102] Re: Link To Masses Of External Data In Openoffice? — Tamara Temple <tamouse.lists@...> 2013/07/24

[#409103] Re: Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...> 2013/07/25

tamouse m. wrote in post #1116598:

[#409122] Re: Link To Masses Of External Data In Openoffice? — Tamara Temple <tamouse.lists@...> 2013/07/26

[#409142] Re: Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...> 2013/07/26

tamouse m. wrote in post #1116750:

[#409073] class <=> module — Bráulio Bhavamitra <lists@...>

Hello all,

17 messages 2013/07/23

[#409104] Ruby newbie question on Methods (NoMethoderror) — "Crispian A." <lists@...>

I have recently started learning ruby and so I am writing a small little

10 messages 2013/07/25

[#409170] Working through Ch.10 for learning to program 2.0 (Chris Pine) — JD JD <lists@...>

So, I have been working through this book, and have been doing ok up

33 messages 2013/07/28
[#409195] Re: Working through Ch.10 for learning to program 2.0 (Chris Pine) — Harry Kakueki <list.push@...> 2013/07/29

I tried this and came up with a one-liner that seems to do it. It sorts the

[#409258] WATIR - ScriptError popup on IE - Unable to get rid of! — Graeme Halls <lists@...>

I am new to Ruby & Watir, and I am having a nightmare with IE and Script

11 messages 2013/07/31

Re: A very half-baked idea: setting local variables

From: Robert Klemme <shortcutter@...>
Date: 2013-07-08 21:37:23 UTC
List: ruby-talk #408789
On Mon, Jul 8, 2013 at 11:06 PM, Hal Fulton <rubyhacker@gmail.com> wrote:

> I'm sure this nonexistent feature is not in great demand, but there have
> been different times that I (and other people) have wanted it.
>
> This is not a "really serious" proposal, but I wanted to see what other
> people's comments were about lengthy multiple assignments and
> how to deal with them.
>
> Sometimes I wish I had an alternative way to do assignment.
>
> Example:
>
>   foo, bar, baz, alpha, beta, gamma, fred, bill, joey = *values
>
> In a case like that, my eye has to scan a long way to the right
> before finding the equal sign and grasping that this is a multiple
> assignment.
>
> I like this better:
>
>   vars = [:foo, :bar, :baz, :alpha, :beta, :gamma, :fred, :bill, :joey]
>   assign values, vars
>
> Note that this wouldn't be a method call (like alias_method) but
> a keyword (like alias) unless "binding of caller" was permitted...
> which is another thing I've wanted but I suppose will never
> happen.
>
> Comments, questions, projectiles?
>

At the moment there is no other way I am aware of to introduce local
variables _at runtime_.  While you can do things like eval("foo = 123") the
remaining code won't be using the local variable.

$ ruby -e 'b=binding;eval("x=10", b);puts x'
-e:1:in `<main>': undefined local variable or method `x' for main:Object
(NameError)
$ ruby -e 'b=binding;eval("x=10", b);eval("puts x", b)'
10


How about

data = {}
[:foo, :bar, :baz, :alpha, :beta, :gamma, :fred, :bill,
:joey].each_with_index do |s,i|
  data[s] = values[i]
end

puts data[:baz]

or even

data = [:foo, :bar, :baz, :alpha, :beta, :gamma, :fred, :bill,
:joey].each_with_index.each_with_object {} do |(s,i), d|
  d[s] = values[i]
end

?

Cheers

robert

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

In This Thread