Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scalacenter/scala-advent-of-code
Scala Center's solution of Advent of Code
https://github.com/scalacenter/scala-advent-of-code
advent-of-code-2021 scala scalacenter
Last synced: 5 days ago
JSON representation
Scala Center's solution of Advent of Code
- Host: GitHub
- URL: https://github.com/scalacenter/scala-advent-of-code
- Owner: scalacenter
- License: apache-2.0
- Created: 2021-11-19T12:59:19.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-17T09:56:14.000Z (9 months ago)
- Last Synced: 2024-02-17T15:55:14.668Z (9 months ago)
- Topics: advent-of-code-2021, scala, scalacenter
- Language: Scala
- Homepage: https://scalacenter.github.io/scala-advent-of-code/
- Size: 51.5 MB
- Stars: 51
- Watchers: 8
- Forks: 64
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Scala Advent of Code 2023
Solutions in Scala for the annual [Advent of Code](https://adventofcode.com/) challenge. _Note: this repo is not affiliated with Advent of Code._
> See earlier editions:
> - [2021](/2021/README.md)
> - [2022](/2022/README.md)## Website
The [Scala Advent of Code](https://scalacenter.github.io/scala-advent-of-code/) website contains:
- some explanation of our solutions to [Advent of Code (adventofcode.com)](https://adventofcode.com/)
- more solutions from the community## Setup
We use Visual Studio Code with Metals to write Scala code, and scala-cli to compile and run it.
You can follow these [steps](https://scalacenter.github.io/scala-advent-of-code/setup) to set up your environement.
### How to open in Visual Studio Code
After you clone the repository, open a terminal and run:
```
$ cd scala-advent-of-code
$ scala-cli setup-ide 2023
$ mkdir 2023/input
$ code 2023
````code 2023` will open Visual Studio Code and start Metals. If not you may have to go to the Metals pane and click
the button labelled "Start Metals".When you navigate to a file, e.g. `2023/src/day01.scala` metals should index the project, and then display code lenses
above each of the main methods `part1` and `part2`, as shown in this image:
![](img/code-lenses.png)To run a solution, first copy your input to the folder `2023/input`.
Then click `run` in VS Code which will run the code and display the results of the program. Or `debug`,
which will let you pause on breakpoints, and execute expressions in the debug console.### How to run a solution with command line
In a terminal you can run:
```
$ scala-cli 2023 -M day01.part1
Compiling project (Scala 3.x.y, JVM)
Compiled project (Scala 3.x.y, JVM)
The solution is 64929
```Or, to run another solution:
```
$ scala-cli 2023 -M .
```By default the solution programs run on our input files which are stored in the `2023/input` folder.
To get your solutions you can change the content of those files in the `2023/input` folder.## Contributing
- Please do not commit your puzzle inputs, we can not accept them as they are protected by copyright