mirror of
https://github.com/jbranchaud/til
synced 2026-01-04 15:48:01 +00:00
Add Creating A 2D Array as a reason til
This commit is contained in:
@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
|
|||||||
For a steady stream of TILs from a variety of rocketeers, checkout
|
For a steady stream of TILs from a variety of rocketeers, checkout
|
||||||
[til.hashrocket.com](https://til.hashrocket.com/).
|
[til.hashrocket.com](https://til.hashrocket.com/).
|
||||||
|
|
||||||
_730 TILs and counting..._
|
_731 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -523,6 +523,7 @@ _730 TILs and counting..._
|
|||||||
- [Compile Reason To Native With Dune](reason/compile-reason-to-native-with-dune.md)
|
- [Compile Reason To Native With Dune](reason/compile-reason-to-native-with-dune.md)
|
||||||
- [Compile Reason With An OCaml Package Using Dune](reason/compile-reason-with-an-ocaml-package-using-dune.md)
|
- [Compile Reason With An OCaml Package Using Dune](reason/compile-reason-with-an-ocaml-package-using-dune.md)
|
||||||
- [Create A Stream From An Array](reason/create-a-stream-from-an-array.md)
|
- [Create A Stream From An Array](reason/create-a-stream-from-an-array.md)
|
||||||
|
- [Creating A 2D Array](reason/creating-a-2d-array.md)
|
||||||
- [Data Structures With Self-Referential Types](reason/data-structures-with-self-referential-types.md)
|
- [Data Structures With Self-Referential Types](reason/data-structures-with-self-referential-types.md)
|
||||||
- [Defining Variants With Constructor Arguments](reason/defining-variants-with-constructor-arguments.md)
|
- [Defining Variants With Constructor Arguments](reason/defining-variants-with-constructor-arguments.md)
|
||||||
- [Dynamically Create A Printf String Format](reason/dynamically-create-a-printf-string-format.md)
|
- [Dynamically Create A Printf String Format](reason/dynamically-create-a-printf-string-format.md)
|
||||||
|
|||||||
36
reason/creating-a-2d-array.md
Normal file
36
reason/creating-a-2d-array.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# Creating A 2D Array
|
||||||
|
|
||||||
|
In most languages if I wanted to create a two-dimensional array, I would
|
||||||
|
utilize some nested looping construct to generate columns of rows. The
|
||||||
|
[ReasonML `Array` module](https://reasonml.github.io/api/Array.html)
|
||||||
|
abstracts this away.
|
||||||
|
|
||||||
|
```reason
|
||||||
|
let grid = Array.make_matrix(10, 10, 0);
|
||||||
|
|
||||||
|
grid
|
||||||
|
|> Array.iter(column => {
|
||||||
|
column
|
||||||
|
|> Array.iter(cell => {
|
||||||
|
print_int(cell);
|
||||||
|
});
|
||||||
|
print_endline("");
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
0000000000
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
The `make_matrix` function allows you to specify dimensions of a
|
||||||
|
two-dimensional array with all positions initialized to the same value --
|
||||||
|
that third argument.
|
||||||
Reference in New Issue
Block a user