about summary refs log tree commit diff stats
path: root/lib/Octans/CLI.rakumod
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2021-02-18 18:52:19 +0530
committerAndinus <andinus@nand.sh>2021-02-18 18:54:31 +0530
commitc390480d010bdd2b58d9aeb1c00f375575db2547 (patch)
tree3a323b6c809ba41adb9ec12b006e55f2edcef39c /lib/Octans/CLI.rakumod
parent52432265c0b8a35af02e3d05911fb50613b5ce81 (diff)
downloadoctans-c390480d010bdd2b58d9aeb1c00f375575db2547.tar.gz
Handle reading puzzle from file within Octans::CLI module
This makes it easier to understand.
Diffstat (limited to 'lib/Octans/CLI.rakumod')
-rw-r--r--lib/Octans/CLI.rakumod9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Octans/CLI.rakumod b/lib/Octans/CLI.rakumod
index 04e1b5d..8abfef8 100644
--- a/lib/Octans/CLI.rakumod
+++ b/lib/Octans/CLI.rakumod
@@ -43,8 +43,13 @@ multi sub MAIN (
         ];
     }
 
-    # Get the puzzle from $path if it's passed. And set @gray-squares.
-    @puzzle = get-puzzle($_) with $path;
+    # Get the puzzle from $path if it's passed.
+    if $path.IO.f {
+        @puzzle = $path.IO.lines.map(*.words.cache.Array);
+    } else {
+        @puzzle = get-puzzle($path);
+    }
+
     # set-gray-squares also removes asterisks from @puzzle.
     @gray-squares = set-gray-squares(@puzzle); # ($y, $x)
 
t;andinus@nand.sh> 2021-01-19 18:20:23 +0530 Re-implement octans, move subroutines to respective modules' href='/andinus/octans/commit/lib/Neighbors.rakumod?id=5bb0f224483fbc1d57fd1c5a2f4a22dd7263ecd6'>5bb0f22 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54