Difference between revisions of "OPTION BASE"

From QB64 Wiki
Jump to navigation Jump to search
imported>Clippy
imported>SMcNeill
m (Undo revision 23846 by Clippy --> The compiler will promptly tell the user that these variable names aren't valid, exactly like it'll do with all other keywords. It's just stupid to keep the info here)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''OPTION BASE 1''' is used to set the lowest array element to 1.
+
The [[OPTION BASE]] statement is used to set the default lower bound of arrays.
  
  
 +
{{PageSyntax}}
 +
: [[OPTION BASE]] {0|1}
  
 +
 +
{{PageDescription}}
 +
* This statement affects array declarations where the lower bound of a dimension is not specified.
 +
* When used, [[OPTION BASE]] must come before any array declarations ([[DIM]]) to be affected.
 +
* By default, the lower bound for arrays is zero, and may be changed to one using the statement.
 
* Otherwise, arrays will be dimensioned from element 0 if you DIM just the upper bounds.
 
* Otherwise, arrays will be dimensioned from element 0 if you DIM just the upper bounds.
* Statement should be set before any arrays are dimensioned ([[DIM]]).
+
* You can also set other array boundaries by using [[TO]] in the DIM declaration such as {{InlineCode}}DIM array(5 TO 10){{InlineCodeEnd}}
 +
 
  
 +
{{PageExamples}}
 +
''Example 1:'' Set the default lower bound for array declarations to one.
 +
{{CodeStart}}
 +
{{Cl|OPTION BASE}} 1
  
 +
' Declare a 5-element one-dimensional array with element indexes of one through five.
 +
{{Cl|DIM}} array(5) {{Cl|AS}} {{Cl|INTEGER}}
  
''Alternative:'' DIM arrays using upper and lower bounds as shown:
+
{{Cl|PRINT}} {{Cl|LBOUND}}(array)
 +
{{CodeEnd}}
 +
{{OutputStart}} 1{{OutputEnd}}
  
: DIM Array(1 TO 200)
 
  
 +
''Example 2:'' Set the default lower bound for array declarations to zero.
 +
{{CodeStart}} '' ''
 +
{{Cl|OPTION BASE}} 0
  
''See also:'' [[UBOUND]], [[LBOUND]]
+
' Declare an 18-element two-dimensional array with element indexes of zero through two
 +
' for the first dimension, and 10 through 15 for the second dimension.
 +
{{Cl|DIM}} array(2, 10 to 15) {{Cl|AS}} {{Cl|INTEGER}}
  
 +
{{Cl|PRINT}} {{Cl|LBOUND}}(array, 1)
 +
{{Cl|PRINT}} {{Cl|LBOUND}}(array, 2)
 +
{{CodeEnd}}
 +
{{OutputStart}} 0
 +
10
 +
{{OutputEnd}}
  
  
==Navigation:==
+
{{PageSeeAlso}}
 +
* [[Arrays]], [[LBOUND]], [[UBOUND]]
 +
* [[DIM]], [[REDIM]], [[STATIC]], [[COMMON]]
  
[[Keyword_Reference_-_Alphabetical|Go to Keyword Reference - Alphabetical]]
 
  
[[Keyword Reference - By usage|Go to Keyword Reference - By usage]]
+
{{PageNavigation}}

Latest revision as of 04:08, 19 October 2017

The OPTION BASE statement is used to set the default lower bound of arrays.


Syntax

OPTION BASE {0|1}


Description

  • This statement affects array declarations where the lower bound of a dimension is not specified.
  • When used, OPTION BASE must come before any array declarations (DIM) to be affected.
  • By default, the lower bound for arrays is zero, and may be changed to one using the statement.
  • Otherwise, arrays will be dimensioned from element 0 if you DIM just the upper bounds.
  • You can also set other array boundaries by using TO in the DIM declaration such as DIM array(5 TO 10)


Examples

Example 1: Set the default lower bound for array declarations to one.

OPTION BASE 1 ' Declare a 5-element one-dimensional array with element indexes of one through five. DIM array(5) AS INTEGER PRINT LBOUND(array)

1


Example 2: Set the default lower bound for array declarations to zero.

OPTION BASE 0 ' Declare an 18-element two-dimensional array with element indexes of zero through two ' for the first dimension, and 10 through 15 for the second dimension. DIM array(2, 10 to 15) AS INTEGER PRINT LBOUND(array, 1) PRINT LBOUND(array, 2)

0 10


See also



Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page