Dear Forum,

>        I wanna ask how can we read loops in GAP from a single file which
> contains a number of loops in sequence.

As this is a question that might be of general interest I  appended is a short 
function `ReadIntegerListsFromFile' that takes
as input a file name for a text file (e.g. .txt, not .doc) and reads rows of 
integers, putting each row in a list of entries (assuming that integers are 
separated by space or comma, and that there are no missing entries. I hope it 
also can serve as a template for other file reading tasks.

For example for your file:

> 1
> 
> 0 1 3 2 5 4 7 6 9 8 11 10 13 12
> 
> 0 1 2 3 4 5 6 7 8 9 10 11 12 13
> 1 0 3 2 5 4 8 9 6 7 12 13 10 11
[...]
the function returns a list that starts:
[ [ 1 ], [  ], [ 0, 1, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12 ], [  ], 
  [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ], 

>From this it is not hard to write a GAP function which now parses the output 
>in the desired form for the respective application, e.g. to interpret chunks 
>of the list as multiplication tables of loops.

Note that -- unless the file is in the current working directory for GAP -- you 
must give a full path. Typical full paths for files in the `Desktop' folder are:
"/Users/xyrxmir/Documents/gapstuff/mydata.txt" (OSX) or
"/cygdrive/c/Documents and Settings/Administrator/Desktop/mydata.txt" (Windows, 
English version).

Best wishes,

   Alexander Hulpke

===== The function:

ReadIntegerListsFromFile:=function(file)
local l,f,i,a,r;
  f:=InputTextFile(file);
  a:=[];
  while not IsEndOfStream(f) do
    l:=ReadLine(f);
    if l<>fail then
      l:=Chomp(l); # remove trailing CR/LF
      r:=[];
      for i in SplitString(l," ,") do # separate by SPACE or ,
        if Length(i)>0 then
          Add(r,Int(i));
        fi;
      od;
      Add(a,r);
    fi;
  od;
  return a;
end;

======

-- Colorado State University, Department of Mathematics,
Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
email: hul...@math.colostate.edu, Phone: ++1-970-4914288
http://www.math.colostate.edu/~hulpke



_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to