change raw haxe
This commit is contained in:
@@ -8,10 +8,10 @@
|
||||
(.filter
|
||||
(for paragraph
|
||||
(.split
|
||||
(.replace (File.getContent file) #|"\r"|# "")
|
||||
#|"\n\n"|#)
|
||||
(.replace (File.getContent file) "\r" "")
|
||||
"\n\n")
|
||||
(.filter
|
||||
(paragraph.split #|"\n"|#)
|
||||
(paragraph.split "\n")
|
||||
(lambda [line] (< 0 line.length))))
|
||||
(lambda [lines] (< 0 lines.length))))
|
||||
|
||||
|
@@ -34,4 +34,4 @@
|
||||
(if (stream.isEmpty)
|
||||
null
|
||||
`(,(b.symbol (stream.expect "a ship command" ->(stream.takeChars 1)))
|
||||
,(b.symbol (stream.expect "a number argument" ->(stream.takeUntilAndDrop #|"\n"|#))))))
|
||||
,(b.symbol (stream.expect "a number argument" ->(stream.takeUntilAndDrop "\n"))))))
|
||||
|
@@ -3,7 +3,7 @@
|
||||
(function :FerrySquare emptySeat [:Array<FerrySquare> n :SeatsChanged changed]
|
||||
// Empty seats with completely empty neighbors, fill up
|
||||
(cond
|
||||
((= true (apply = (for neighbor n #|neighbor != fullSeat|#)))
|
||||
((= true (apply = (for neighbor n #{neighbor != fullSeat}#)))
|
||||
(set changed.changed true)
|
||||
fullSeat)
|
||||
(true emptySeat)))
|
||||
@@ -11,7 +11,7 @@
|
||||
(function :FerrySquare fullSeat [:Array<FerrySquare> n :SeatsChanged changed]
|
||||
// Full seats with 4 or more full neighbors become empty
|
||||
(cond
|
||||
((<= 4 (count n (lambda [neighbor] #|neighbor == fullSeat|#)))
|
||||
((<= 4 (count n (lambda [neighbor] #{neighbor == fullSeat}#)))
|
||||
(set changed.changed true)
|
||||
emptySeat)
|
||||
(true fullSeat)))
|
||||
@@ -43,7 +43,7 @@
|
||||
(for :Array<FerrySquare> row state
|
||||
(apply +
|
||||
(for :FerrySquare seat row
|
||||
(if #|seat == fullSeat|# 1 0))))))
|
||||
(if #{seat == fullSeat}# 1 0))))))
|
||||
|
||||
(defReaderMacro "L" [stream] `emptySeat)
|
||||
(defReaderMacro "#" [stream] `fullSeat)
|
||||
@@ -51,4 +51,4 @@
|
||||
(undefReaderMacro "...")
|
||||
|
||||
(defReaderMacro &start "" [stream]
|
||||
`(state.push ,(ReaderExp.ListExp (readExpArray stream #|"\n"|#))))
|
||||
`(state.push ,(ReaderExp.ListExp (readExpArray stream "\n"))))
|
||||
|
@@ -4,7 +4,7 @@
|
||||
(let [key (stream.expect "passport key" (lambda [] (stream.takeUntilAndDrop ":")))
|
||||
value (stream.expect "passport value" (lambda [] (stream.takeUntilOneOf [" " "\n"] true)))]
|
||||
(dictSet pp key value))
|
||||
(if (= #|"\n\n"|# (try (stream.expect "paragraph break" (lambda [] (stream.peekChars 2))) (catch [e] "")))
|
||||
(if (= "\n\n" (try (stream.expect "paragraph break" (lambda [] (stream.peekChars 2))) (catch [e] "")))
|
||||
(begin (stream.dropWhitespace) pp)
|
||||
(begin (stream.dropWhitespace) (readPassport stream pp))))
|
||||
|
||||
|
@@ -126,7 +126,7 @@
|
||||
dist (Adapters.distribution diffs)]
|
||||
(assert (= 1998 (* (dictGet dist 1) (dictGet dist 3)))))
|
||||
(let [memoized (memoize Adapters.arrangementCount)]
|
||||
(set Adapters.arrangementCount #|cast memoized|#))
|
||||
(set Adapters.arrangementCount #{cast memoized}#))
|
||||
(assert (= "347250213298688" (Int64.toStr (Adapters.arrangementCount adapters 0))))))
|
||||
|
||||
(day 11
|
||||
|
@@ -4,7 +4,7 @@
|
||||
`(let [theMap ,theMap key ,key amount ,amount &mut count (dictGet theMap key)]
|
||||
(unless count
|
||||
(dictSet theMap key (set count (Int64Helper.fromFloat 0))))
|
||||
(dictSet theMap key #|count + amount|#)))
|
||||
(dictSet theMap key #{count + amount}#)))
|
||||
|
||||
// Remove and return an arbitrary key-value pair from the given Map
|
||||
(function :Array<Dynamic> dictShift [:Map<String,Dynamic> m]
|
||||
|
@@ -37,4 +37,4 @@
|
||||
(function :Int numHotPositions [file &opt :Bool part2]
|
||||
(let [theMap (ventsByPos file ?part2)
|
||||
two (Int64Helper.fromFloat 2)]
|
||||
(count theMap ->vents #| vents >= two |#)))
|
||||
(count theMap ->vents #{ vents >= two }#)))
|
@@ -9,7 +9,7 @@
|
||||
(doFor age list
|
||||
(let [count (dictGet theMap age)
|
||||
one (Int64Helper.fromFloat 1)]
|
||||
(dictSet theMap age #|count + one|#)))
|
||||
(dictSet theMap age #{count + one}#)))
|
||||
theMap))
|
||||
|
||||
(function :Map<Int,Int64> stepAgeMap [:Map<Int,Int64> theMap]
|
||||
|
Reference in New Issue
Block a user