Code Monkey home page Code Monkey logo

aoc-runner's Introduction

Repository moved to cargo-aoc/aoc-runner

Advent of Code Runner

This is a simple project that aims to be a runner for the Advent of Code.

Implement your solution. Let us do the rest.

Features

  • Input downloading
  • Running your solution
  • Benchmarking of your solution (WIP)

Getting started

  • Create a lib project cargo new advent-of-code-2018 --lib
  • Add deps to your Cargo.toml:
aoc-runner = "0.1.0"
aoc-runner-derive = "0.1.0"
  • Include libs in your lib.rs
extern crate aoc_runner;

#[macro_use]
extern crate aoc_runner_derive;
  • Add aoc_lib!{ year = 2018 } at the end of your lib.rs
  • Start coding !

Flags your solutions

just add a #[aoc(day1, part1)] before your function !

#[aoc(day1, part1)]
fn part1(input: &str) -> i32 {
    ...
}

Supported signatures : &str or &[u8] as input, any type implementing display as output. For custom input, see below.

Custom Generators

You need to pre-process input in a separated function ? generators are for you !

#[aoc_generator(day2)]
fn input_generator(input: &str) -> Vec<Gift> {
    ...
}

#[aoc(day2, part1)]
fn part1(input: &[Gift]) -> u32 {
    ...
}

Run your code

See cargo-aoc

aoc-runner's People

Contributors

gobanos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

aoc-runner's Issues

Update crates.io

Hi, it seems like the development for this library has moved to the repository for cargo-aoc and that's where the latest version of the library on crates.io seems to come from (v0.3 instead of v0.2.2 in this repo)

If that is the case it would make it easier to find/use/contribute to the library if the repository link in crates.io were to point to the cargo-aoc repository or subfolder and if this repository was archived

Error trying using generator with custom type

Hi, I really like this crate, if it wasn't for this crate, I wasn't trying to do aoc also in rust. I'm still pretty new to rust so the error might be my own fault. But right now I'm stuck on day 4 for rust as I can't get it to work with the annotations. Just running the tests does complete, but as soon as a add the '#[aoc(day4, part1)]' on the function I get
error[E0599]: no method named `as_ref` found for type (std::vec::Vec<usize>, std::vec::Vec<usize>, std::vec::Vec<std::vec::Vec<(usize, usize)>>) in the current scope
as error. I tried a couple of things, but don't really know the problem. I switched to version 0.2.0, because I thought it might help. My solution 4 is at day4.rs plese let me know if I can do anything to help the issue.

Don't trim input

When trying to solve day 13 of aoc2018, white spaces are meaningful in the input.
But, as input is trimmed, input becomes bogus when used inside the generator.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.