tangled
alpha
login
or
join now
eldridge.cam
/
advent-of-code
2
fork
atom
Advent of Code solutions
2
fork
atom
overview
issues
pulls
pipelines
support more languages
eldridge.cam
2 months ago
8d04c96a
1b6cc770
+22
-2
1 changed file
expand all
collapse all
unified
split
all.rb
+22
-2
all.rb
···
278
278
end
279
279
280
280
def self.implemented? part
281
281
-
File.exist? "p#{part}.pl"
281
281
+
return false unless File.exist? "p#{part}.pl"
282
282
+
first_line = File.open "p#{part}.pl", &:gets
283
283
+
not first_line.include?("perl")
282
284
end
283
285
284
286
def self.run part
···
288
290
end
289
291
end
290
292
293
293
+
module Perl
294
294
+
def self.available?
295
295
+
which "perl" != nil
296
296
+
end
297
297
+
298
298
+
def self.implemented? part
299
299
+
return false unless File.exist? "p#{part}.pl"
300
300
+
first_line = File.open "p#{part}.pl", &:gets
301
301
+
first_line.include?("perl")
302
302
+
end
303
303
+
304
304
+
def self.run part
305
305
+
report "p#{part}.pl" do
306
306
+
`timeout 1m perl p#{part} < input`
307
307
+
end
308
308
+
end
309
309
+
end
310
310
+
291
311
module Php
292
312
def self.available?
293
313
which "php" != nil
···
304
324
end
305
325
end
306
326
307
307
-
languages = [Haskell, Rust, Trilogy, C, Cpp, Swift, Python, Ruby, TypeScript, Erlang, Elixir, Gleam, Prolog, Php]
327
327
+
languages = [Haskell, Rust, Trilogy, C, Cpp, Swift, Python, Ruby, TypeScript, Erlang, Elixir, Gleam, Prolog, Php, Perl]
308
328
.filter { |lang| lang.available? }
309
329
310
330
root = Dir.pwd