Question: Is there a shorthand method for constructing a 2D array?

I really don't want to do the following:

```
let board = array2D [| 
                        [| 0;0 |]
                        [| 0;1 |]
                        [| 0;2 |]
                        [| 0;3 |]
                        [| 0;4 |]
                        [| 0;5 |]
                        [| 0;6 |]
                        [| 0;7 |]
                        [| 1;0 |]
                        [| 1;1 |]
                        [| 1;2 |]
                        ...
                        [| 7;7 |]
                    |]

```

I thought I could do something like this:

```
let board = array2D [| 
                        [| 0;0 |]..[|7;7|]
                    |]

```

Or this:

```
let board = array2D [| 
                        [| 0.., 0..7 |]
                    |]

```

Any guidance?

Answer: 
You could do something like this:

```
import sys

try:
    _, size, file = sys.argv
    size = int(size)
except ValueError:
    sys.exit('Usage: splitter.py <size in bytes> <filename to split>')

with open(file) as infile:
    count = 0
    current_size = 0
    # you could do something more
    # fancy with the name like use
    # os.path.splitext
    outfile = open(file+'_0', 'w+')
    for line in infile:
        if current_size > size and line.startswith('Recno'):
            outfile.close()
            count += 1
            current_size = 0
            outfile = open(file+'_{}'.format(count), 'w+')
        current_size += len(line)
        outfile.write(line)
    outfile.close()

```
As comment above mentions you can use `split` in the bash shell:

```
split -b 20000m <path-to-your-file>

```