Arrays: Difference between revisions

Content added Content deleted
m (→‎{{header|Babel}}: Updated to interactive-mode syntax)
Line 578:
 
===Change an array element===
 
Changing a value-array element:
 
<lang babel>[1 2 3] dup 1 7 set ;
Line 584 ⟶ 586:
{{Out}}
<pre>[val 0x1 0x7 0x3 ]</pre>
 
Changing a pointer-array element:
 
<lang babel>[ptr 1 2 3] dup 1 [ptr 7] set ;</lang>
Line 607 ⟶ 611:
Concatenation creates a new array - it does not add to an array in-place. Instead, Babel provides operators and standard utilities for converting an array to a list in order to manipulate it, and then convert back.
 
===ConvertingConvert between arrays and lists===
 
Convert a value-array to a list of values:
 
<lang babel>[1 2 3] ar2ls lsnum !</lang>
Line 613 ⟶ 619:
{{Out}}
<pre>( 1 2 3 )</pre>
 
Convert a list of values to a value-array:
 
<lang babel>(1 2 3) ls2lf ;</lang>
Line 618 ⟶ 626:
{{Out}}
<pre>[val 0x1 0x2 0x3 ]</pre>
 
Convert a pointer-array to a list of pointers:
 
<lang babel>[ptr 'foo' 'bar' 'baz'] ar2ls lsstr !</lang>
Line 623 ⟶ 633:
{{Out}}
<pre>( "foo" "bar" "baz" )</pre>
 
Convert a list of pointers to a pointer-array:
 
<lang babel>(1 2 3) bons ;</lang>