Chris Burdick
: christopher d0t m d0t burdick at, gmail d0t com
11/18/2011 17:53 p.m.
11/18/2011 17:53 p.m.
Description of miva_struct_members()
miva_struct_members( aggregate var, members var ) will populate an array "members" with the members of structure "aggregate". It returns the number of members in the structure.
<MvCOMMENT>MivaScript</MvCOMMENT><MvCOMMENT>Set up test array with values</MvCOMMENT><MvASSIGNNAME="l.testarray"INDEX="1"MEMBER="member_a"VALUE="1>"<MvASSIGNNAME="l.testarray"INDEX="1"MEMBER="member_b"VALUE="2>"<MvASSIGNNAME="l.testarray"INDEX="1"MEMBER="member_c"VALUE="3>"<MvASSIGNNAME="l.testarray"INDEX="2"MEMBER="member_a"VALUE="1>"<MvASSIGNNAME="l.testarray"INDEX="2"MEMBER="member_b"VALUE="2>"<MvASSIGNNAME="l.testarray"INDEX="3"MEMBER="member_a"VALUE="1>"<MvASSIGNNAME="l.testarray"INDEX="3"MEMBER="member_b"VALUE="2>"<MvASSIGNNAME="l.testarray"INDEX="3"MEMBER="member_c"VALUE="3>"<MvASSIGNNAME="l.testarray"INDEX="3"MEMBER="member_d"VALUE="4>"<MvCOMMENT>Abuse of miva_struct_members()</MvCOMMENT><MvASSIGNNAME="l.empty"VALUE="{ miva_struct_members(l.testarray, l.empty_array) }>"<MvASSIGNNAME="l.three"VALUE="{ miva_struct_members(l.testarray[1], l.three_array) }>"<MvASSIGNNAME="l.two"VALUE="{ miva_struct_members(l.testarray[2], l.two_array) }>"<MvASSIGNNAME="l.four"VALUE="{ miva_struct_members(l.testarray[3], l.four_array) }>"<MvCOMMENT>Evals for output</MvCOMMENT><MvEVALEXPR="{ 'Array Member Count: ' $ l.empty $ ' | Serialized: ' $ miva_array_serialize(l.empty_array) $ '<br /> Element 1 Member Count: ' $ l.three $ ' | Serialized: ' $ miva_array_serialize(l.three_array) $ '<br /> Element 2 Member Count: ' $ l.two $ ' | Serialized: ' $ miva_array_serialize(l.two_array) $ '<br /> Element 3 Member Count: ' $ l.four $ ' | Serialized: ' $ miva_array_serialize(l.four_array) }>"<!-- This will result in the following output -->Array Member Count: 0 | Serialized:<br>Element 1 Member Count: 3 | Serialized: [1]=MEMBER_A,[2]=MEMBER_B,[3]=MEMBER_C<br>Element 2 Member Count: 2 | Serialized: [1]=MEMBER_A,[2]=MEMBER_B<br>Element 3 Member Count: 4 | Serialized: [1]=MEMBER_A,[2]=MEMBER_B,[3]=MEMBER_C,[4]=MEMBER_D<br>