[JW Lua] Iteration of Tables

Bruce Olson Finale at web.YOSound.com
Sun Nov 30 21:58:51 CET 2014


Jari, Jan, and all,

Hah! That worked. For your entertainment and perusal see the attached
revision.

-- 
Regards,
Bruce

-----Original Message-----
From: JWLua [mailto:jwlua-bounces at jwmusic.nu] On Behalf Of Bruce Olson
Sent: Sunday, November 30, 2014 2:44 PM
To: 'The JW Lua script plug-in.'
Subject: Re: [JW Lua] Iteration of Tables

Hi Jan,

Yes, I saw all the same conundrum in researching this so far. I could just
change the order of the table or use Pairsbykeys, but eventually I want to
serialize the table using file io, so I need the order NOT to be dependent
on the rawstring, but rather on the index. Guess I need to think about how
to add an IndexKey to the structure of the table.

I wonder if page_texts = {
[1] = {["^font(Font0)^size(42)^nfx(0)^title()"] = {
   ["PageAssignment"]=0,
   ["FirstPage"]=1,
   ["LastPage"]=1,
   ["HorizontalAlignment"]=finale.TEXTHORIZALIGN_CENTER,
   ["VerticalAlignment"]=finale.TEXTVERTALIGN_TOP,
   ["PageEdgeRef"]=true,
   ["HorizontalPos"]=-0,   
   ["VerticalPos"]=-72,
   ["FrameEdgeRef"]=true,
   ["IndependentRightPage"]=false,
   ["HorizontalAlignmentRightPage"]=finale.TEXTHORIZALIGN_CENTER,
   ["HorizontalPosRightPage"]=0,
   ["VerticalPosRightPage"]=-72,
   ["Visible"]=true,
},
}
}

will work?

More woodshedding ahead I see.

--
Regards,
Bruce

From: JWLua [mailto:jwlua-bounces at jwmusic.nu] On Behalf Of Jan Angermüller
Sent: Sunday, November 30, 2014 2:19 PM
To: The JW Lua script plug-in.
Subject: Re: [JW Lua] Iteration of Tables

Hi Bruce,

if you look at the pairs(table) description in
http://lua-users.org/wiki/ForTutorial :
"Note that the order that items are returned is not defined, not even for
indexed tables."

If you use ipairs instead, the order in which elements are returned is
guaranteed to be in the numeric order of the indices.

If you use pairsbykeys, they will be sorted in alphabetical key order.
That's not the order that you built up the table in your code (i.e. your
keys are not sorted in alphabetical order). Maybe that's a hint ?

Best regards,
Jan


Am 30.11.2014 20:51, schrieb Bruce Olson:
Hi Jan,
 
Yes, I had already looked at both those places. There are no useful
parameters to sort on, so sorting the table is not helpful. It is actually
already sorted. It’s that the pairs iterator doesn’t use that order for some
reason. And there is not another iteration scheme from the Lua docs that
seems to help.
 
--
Regards,
Bruce
 
From: JWLua [mailto:jwlua-bounces at jwmusic.nu] On Behalf Of Jan Angermüller
Sent: Sunday, November 30, 2014 1:37 PM
To: The JW Lua script plug-in.
Subject: Re: [JW Lua] Iteration of Tables
 
Hi Bruce,

I haven't read your code, but have you checked Jari's explanation for
sorting and parsing Lua tables:
http://jwmusic.nu/jwplugins/wiki/doku.php?id=jwlua:development#coll2table

You can also have a look at the Lua manual:
http://www.lua.org/pil/7.3.html

Maybe this helps ?

Best regards,
Jan

Am 30.11.2014 20:24, schrieb Finale at web.YOSound.com:
Hi Jari,
 
How do I iterate through a table so that the order does not change. In the
attached code using “for k, v in pairs()” I get a different order each time
it is run. If I use “for k, v in pairsbykeys()” it is always in the same
order, just not the order I want. ;) I’d like to get it in the order of the
table. Thanks for all your work and your prompt replies.
 
Best regards,
Bruce
 
--
Olson Sound Design, LLC
Bruce C. Olson
8717 Humboldt Avenue North
Brooklyn Park, MN  55444-1320
 
+1 (763) 493-5835 Office
+1 (763) 300-3893 Cell
 
Web Page:        http://www.OlsonSound.com
Business:         mailto:BCOlson at OlsonSound.com Big Band:         
http://www.BRBB.org
 




_______________________________________________
JWLua mailing list
JWLua at jwmusic.nu
http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu




--
Jan Angermüller
Jevenstedter Str. 80
22547 Hamburg
Tel. 040 - 28 94 84 82
www.angermueller.com



_______________________________________________
JWLua mailing list
JWLua at jwmusic.nu
http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu



-- 
Jan Angermüller
Jevenstedter Str. 80
22547 Hamburg
Tel. 040 - 28 94 84 82
www.angermueller.com


_______________________________________________
JWLua mailing list
JWLua at jwmusic.nu
http://jwmusic.nu/mailman/listinfo/jwlua_jwmusic.nu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Document Page Text Table Test.lua
Type: application/octet-stream
Size: 8223 bytes
Desc: not available
URL: <http://jwmusic.nu/pipermail/jwlua_jwmusic.nu/attachments/20141130/15547bf4/attachment.obj>


More information about the JWLua mailing list