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)