added script for new day
This commit is contained in:
31
newday.sh
Executable file
31
newday.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check if the correct number of arguments is provided
|
||||||
|
if [ "$#" -ne 1 ]; then
|
||||||
|
echo "Usage: $0 <two_digit_number>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the parameters
|
||||||
|
X="$1"
|
||||||
|
|
||||||
|
# Validate that X is a two-digit number
|
||||||
|
if ! [[ "$X" =~ ^[0-9]{2}$ ]]; then
|
||||||
|
echo "Error: The parameter must be a two-digit number."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp src/template.rs src/day$X.rs
|
||||||
|
touch input/day$X.txt
|
||||||
|
|
||||||
|
# Define the placeholder you want to replace
|
||||||
|
PLACEHOLDER="{{day}}"
|
||||||
|
|
||||||
|
# Use sed to replace the placeholder with the desired text
|
||||||
|
sed -i "s|$PLACEHOLDER|$X|g" "src/day$X.rs"
|
||||||
|
sed -i "s/.*\/\/ PLACEHOLDER.*/pub mod day$X;\n\/\/ PLACEHOLDER/" "src/lib.rs"
|
||||||
|
sed -i "s/.*\/\/ PLACEHOLDER.*/($X, day$X::day_main),\n\/\/ PLACEHOLDER/" "src/main.rs"
|
||||||
|
|
||||||
|
cargo fmt
|
||||||
|
|
||||||
|
echo "seems allright. created template for day $X"
|
||||||
@@ -8,4 +8,5 @@ pub mod day07;
|
|||||||
pub mod day08;
|
pub mod day08;
|
||||||
pub mod day09;
|
pub mod day09;
|
||||||
pub mod day10;
|
pub mod day10;
|
||||||
|
// PLACEHOLDER
|
||||||
pub mod utils;
|
pub mod utils;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ fn main() {
|
|||||||
(8, day08::day_main),
|
(8, day08::day_main),
|
||||||
(9, day09::day_main),
|
(9, day09::day_main),
|
||||||
(10, day10::day_main),
|
(10, day10::day_main),
|
||||||
|
// PLACEHOLDER
|
||||||
]);
|
]);
|
||||||
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
||||||
let Some(day) = day else {
|
let Some(day) = day else {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use std::fs::read_to_string;
|
use std::fs::read_to_string;
|
||||||
|
|
||||||
pub fn day_main() {
|
pub fn day_main() {
|
||||||
let input = read_to_string("input/dayXX.txt").unwrap();
|
let input = read_to_string("input/day{{day}}.txt").unwrap();
|
||||||
let input = input.trim();
|
let input = input.trim();
|
||||||
println!(" part1: {}", part1(input));
|
println!(" part1: {}", part1(input));
|
||||||
println!(" part2: {}", part2(input));
|
println!(" part2: {}", part2(input));
|
||||||
|
|||||||
Reference in New Issue
Block a user