summaryrefslogtreecommitdiff
path: root/src/thue/rule.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/thue/rule.cr')
-rw-r--r--src/thue/rule.cr12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/thue/rule.cr b/src/thue/rule.cr
index 34c2396..cd45adc 100644
--- a/src/thue/rule.cr
+++ b/src/thue/rule.cr
@@ -1,14 +1,16 @@
require "./thue.cr"
abstract struct Thue::Rule
- @pattern : Regex
+ @regex : Regex
- def initialize(pattern : String)
- @pattern = Regex.new(pattern)
+ getter pattern : String
+
+ def initialize(@pattern : String)
+ @regex = Regex.new(Regex.escape(@pattern))
end
def matches?(str : String) : Bool
- str.matches?(@pattern)
+ str.matches?(@regex)
end
abstract def replacement : String
@@ -26,7 +28,7 @@ end
struct Thue::InputRule < Thue::Rule
def replacement : String
- gets
+ gets || ""
end
end