0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 1 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 2 Parameters can be grouped together into parameter lists (<tt>plist</tt>).
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 3 </p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 4
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 5 <ul>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 6 <li><a href="plist_create.html#direct">Creating parameter lists directly</a></li>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 7 <li><a href="plist_create.html#append">Appending parameters to a parameter list</a></li>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 8 <li><a href="plist_create.html#find">Finding parameters in a parameter list</a></li>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 9 <li><a href="plist_create.html#remove">Removing parameters from a parameter list</a></li>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 10 <li><a href="plist_create.html#set">Setting parameters in a parameter list</a></li>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 11 <li><a href="plist_create.html#combine">Combining multiple parameter lists</a></li>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 12 </ul>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 13
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 14
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 15 <!-- From parameters -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 16 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 17 <h3><a name="params"></a>Creating parameter lists from parameters.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 18
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 19
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 20 <!-- Direct -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 21 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 22 <h3><a name="direct"></a>Creating parameter lists directly.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 23 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 24 You can also create parameter lists directly using the following constructor format:</p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 25 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 26 pl = plist(<span class="string">'a'</span>, 1, <span class="string">'b'</span>, <span class="string">'hello'</span>)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 27 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 28 will result in the following output
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 29 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 30 ----------- plist 01 -----------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 31 n params: 2
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 32 ---- param 1 ----
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 33 key: A
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 34 val: 1
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 35 -----------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 36 ---- param 2 ----
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 37 key: B
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 38 val: 'hello'
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 39 -----------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 40 description:
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 41 UUID: 9cc7d1f1-6ca3-477b-a6cc-2629d52579e6
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 42 --------------------------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 43 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 44
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 45 <!-- Append -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 46 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 47 <h3><a name="append"></a>Appending parameters to a parameter list.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 48 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 49 Additional parameters can be appended to an existing parameter list using the <tt>append</tt>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 50 method:</p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 51 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 52 pl = append(pl, <span class="string">'c'</span>, 3) <span class="comment">% append a third parameter</span>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 53 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 54 will result in the following output
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 55 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 56 ----------- plist 01 -----------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 57 n params: 3
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 58 ---- param 1 ----
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 59 key: A
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 60 val: 1
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 61 -----------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 62 ---- param 2 ----
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 63 key: B
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 64 val: 'hello'
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 65 -----------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 66 ---- param 3 ----
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 67 key: C
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 68 val: 3
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 69 -----------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 70 --------------------------------
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 71 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 72
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 73
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 74 <!-- Access -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 75 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 76 <h3><a name="find"></a>Finding parameters in a parameter list.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 77 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 78 Accessing the contents of a <tt>plist</tt> can be achieved in two ways:
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 79 </p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 80 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 81 p1 = pl.params(1); <span class="comment">% get the first parameter</span>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 82 val = find(pl, <span class="string">'b'</span>); <span class="comment">% get the second parameter</span>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 83 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 84 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 85 If the parameter name ('key') is known, then you can use the <tt>find</tt> method to
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 86 directly retrieve the value of that parameter.
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 87 </p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 88
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 89 <!-- Remove -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 90 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 91 <h3><a name="remove"></a>Removing parameters from a parameter list.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 92 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 93 You can also remove parameters from a parameter list:
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 94 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 95 pl = remove(pl, 2) <span class="comment">% Remove the 2nd parameter in the list</span>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 96 pl = remove(pl, <span class="string">'a'</span>) <span class="comment">% Remove the parameter with the key 'a'</span>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 97 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 98 </p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 99
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 100 <!-- Set -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 101 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 102 <h3><a name="set"></a>Setting parameters in a parameter list.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 103 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 104 You can also set parameters contained in a parameter list:
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 105 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 106 pl = plist(<span class="string">'a'</span>, 1, <span class="string">'b'</span>, <span class="string">'hello'</span>)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 107 pl = pset(pl, <span class="string">'a'</span>, 5, <span class="string">'b'</span>, <span class="string">'ola'</span>); <span class="comment">% Change the values of the parameter with the keys 'a' and 'b'</span>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 108 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 109 </p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 110
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 111
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 112 <!-- Combine -->
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 113 <hr>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 114 <h3><a name="combine"></a>Combining multiple parameter lists.</h3>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 115
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 116 <p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 117 Parameter lists can be combined:
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 118 <div class="fragment"><pre>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 119 pl = combine(pl1, pl2)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 120 </pre></div>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 121 If <tt>pl1</tt> and <tt>pl2</tt> contain a parameter with the same key name, the output <tt>plist</tt> contains a parameter with that name but with the value from the first parameter list input.
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 122 </p>
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 123