Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Block iteration issues
Gromobij Swietlisty
10/19/2007 5:33:00 PM
Hello,
I'm struggling with this stuff and can't find an answer so please
advise.
What I'm trying to achieve
@collection has 7 elements
I want to:
- cycle through all those elements
- assign element["smth"] through element["smth3"] to @ data.set1_smth
through @data.set1_smth3
- the last iteration would be assigning element["smth"] to
@data.set7_smth etc
I just don't seem to grasp how to change @data.set1_smth into
@data.set2_smth etc. when iterating the block.
i = 1
@collection.elements.each do |item|
@data.set1_smth = item.elements["smth"] # obviously
@data.set1_smth should be somehow different
@data.set1_smth2 = item.elements["smth2"]
@data.set1_smth3 = item.elements["smth3"]
i += 1
end
Can anybody help?
I tried @data.send("set" + i + "_smth") but that didn't seem to work.
Thanks in advance.
Radek
--
Posted via
http://www.ruby-...
.
1 Answer
7stud --
10/19/2007 6:54:00 PM
0
Gromobij Swietlisty wrote:
> Hello,
>
> I'm struggling with this stuff and can't find an answer so please
> advise.
> What I'm trying to achieve
>
> @collection has 7 elements
> I want to:
> - cycle through all those elements
> - assign element["smth"] through element["smth3"] to @ data.set1_smth
> through @data.set1_smth3
> - the last iteration would be assigning element["smth"] to
> @data.set7_smth etc
>
> I just don't seem to grasp how to change @data.set1_smth into
> @data.set2_smth etc. when iterating the block.
>
> i = 1
> @collection.elements.each do |item|
> @data.set1_smth = item.elements["smth"] # obviously
> @data.set1_smth should be somehow different
> @data.set1_smth2 = item.elements["smth2"]
> @data.set1_smth3 = item.elements["smth3"]
> i += 1
> end
>
> Can anybody help?
> I tried @data.send("set" + i + "_smth") but that didn't seem to work.
> Thanks in advance.
>
> Radek
- assign element["smth"] through element["smth3"] to @ data.set1_smth
through @data.set1_smth3
If you are naming variables like this:
val1 = 5
val2 = 7
val3 = -3
that tells you that you should be using an array instead:
arr = []
arr[0] = 5
arr[1] = 7
arr[2] = -3
>
> @collection.elements
>
------------------------------------------------------- Vector::elements
Vector::elements(array, copy = true)
------------------------------------------------------------------------
Creates a vector from an Array. The optional second argument
specifies whether the array itself or a copy is used internally.
Why are you creating a Vector in order to step through the items of your
array?
>
> Can anybody help?
>
collection = [1, 2, 3, 4, 5, 6, 7]
data = []
collection.each do |item|
data << item
end
p data
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Block iteration issues
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password