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
end
279
280
def self.implemented? part
281
-
File.exist? "p#{part}.pl"
0
0
282
end
283
284
def self.run part
···
288
end
289
end
290
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
291
module Php
292
def self.available?
293
which "php" != nil
···
304
end
305
end
306
307
-
languages = [Haskell, Rust, Trilogy, C, Cpp, Swift, Python, Ruby, TypeScript, Erlang, Elixir, Gleam, Prolog, Php]
308
.filter { |lang| lang.available? }
309
310
root = Dir.pwd
···
278
end
279
280
def self.implemented? part
281
+
return false unless File.exist? "p#{part}.pl"
282
+
first_line = File.open "p#{part}.pl", &:gets
283
+
not first_line.include?("perl")
284
end
285
286
def self.run part
···
290
end
291
end
292
293
+
module Perl
294
+
def self.available?
295
+
which "perl" != nil
296
+
end
297
+
298
+
def self.implemented? part
299
+
return false unless File.exist? "p#{part}.pl"
300
+
first_line = File.open "p#{part}.pl", &:gets
301
+
first_line.include?("perl")
302
+
end
303
+
304
+
def self.run part
305
+
report "p#{part}.pl" do
306
+
`timeout 1m perl p#{part} < input`
307
+
end
308
+
end
309
+
end
310
+
311
module Php
312
def self.available?
313
which "php" != nil
···
324
end
325
end
326
327
+
languages = [Haskell, Rust, Trilogy, C, Cpp, Swift, Python, Ruby, TypeScript, Erlang, Elixir, Gleam, Prolog, Php, Perl]
328
.filter { |lang| lang.available? }
329
330
root = Dir.pwd