Difference between pages "Array" and "Open"

From Mesham
(Difference between pages)
Jump to navigationJump to search
(Created page with '-- Syntax -- array[type,d1$,d2$,...,dn] -- Semantics -- An array, where ''type'' is the element type, followed by the dimensions. The programmer can provide any number of dime…')
 
 
Line 1: Line 1:
-- Syntax --
+
== Overview ==
  
array[type,d1$,d2$,...,dn]
+
This open(n,a) function will open the file of name ''n'' with mode of ''a''.
  
-- Semantics --
+
* '''Pass:''' The name of the file to open of type [[String]] and mode of type [[String]]
 +
* '''Returns:''' A file handle of type [[File]]
  
An array, where ''type'' is the element type, followed by the dimensions. The programmer can provide any number of dimensions to create an n dimension array. Default is row major allocation (although this can be overridden via types.) In order to access an element of an array, the programmer can either use the traditional ''name[index]'' syntax or, alternatively ''name#index'' which is preferred
+
== Example ==
  
-- Communication --
+
#include <io>
 +
 +
function void main() {
 +
    var f:=open("myfile.txt","r");
 +
    close(f);
 +
};
  
When an array variable  is assigned to another, depending on where each variable is allocated to, there may be communication to achieve this assignment. The table details the communication rules for this assignment ''assigned variable := assigning variable''. As with the element type, default communication of arrays is safe.
+
''Since: Version 1.0''
  
{| border="1" cellspacing="0" cellpadding="5" align="center"
+
[[Category:Function Library]]
! Assigned Variable
+
[[Category:IO Functions]]
! Assigning Variable
 
! Semantics
 
|-
 
| multiple[]
 
| multiple[]
 
| local assignment
 
|-
 
| single[on[i]]
 
| multiple[]
 
| local assignment on process i
 
|-
 
| multiple[]
 
| single[on[i]]
 
| broadcast from process i
 
|-
 
| single[on[i]]
 
| single[on[i]]
 
| local assignment where i==i
 
|-
 
| single[on[i]]
 
| single[on[j]]
 
| communication from j to i where i!=j
 
|}
 
 
 
-- Example --
 
 
 
var a:array[String,2] :: allocated[multiple[]];
 
(a#0):="Hello";
 
(a#1):="World";
 
print[(a#0)," ",(a#1),"\n"];
 
 
 
This example will declare variable ''a'' to be an array of 2 Strings. Then the first location in the array will be set to ''Hello'' and the second location set to ''World''. Lastly the code will display on stdio both these array string locations followed by newline.
 
 
 
 
 
[[Category:Type Library]]
 
[[Category:Composite Types]]
 
[[Category:Collection Types]]
 

Revision as of 14:36, 15 April 2013

Overview

This open(n,a) function will open the file of name n with mode of a.

  • Pass: The name of the file to open of type String and mode of type String
  • Returns: A file handle of type File

Example

#include <io>

function void main() {
   var f:=open("myfile.txt","r");
   close(f);
};

Since: Version 1.0