You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.4 KiB

## ascii-art-output
### Objectives
3 years ago
- You must follow the same [instructions](../README.md) as in the first subject **while** writing the result into a file.
The file must be named by using the flag `--output=<fileName.txt>`, in which `--output` is the flag and `<fileName.txt>` is the file name which will contain the output.
3 years ago
- The flag must have exactly the same format as above, any other formats must return the following usage message:
```console
Usage: go run . [OPTION] [STRING] [BANNER]
3 years ago
EX: go run . --output=<fileName.txt> something standard
3 years ago
```
If there are other `ascii-art` optional projects implemented, the program should accept other correctly formatted `[OPTION]` and/or `[BANNER]`.
Additionally, the program must still be able to run with a single `[STRING]` argument.
### Instructions
- Your project must be written in **Go**.
3 years ago
- The code must respect the [**good practices**](../../good-practices/README.md).
- It is recommended to have **test files** for [unit testing](https://go.dev/doc/tutorial/add-a-test).
### Usage
```console
student$ go run . --output=banner.txt "hello" standard
student$ cat -e banner.txt
3 years ago
_ _ _ $
| | | | | | $
| |__ ___ | | | | ___ $
| _ \ / _ \ | | | | / _ \ $
| | | | | __/ | | | | | (_) | $
|_| |_| \___| |_| |_| \___/ $
$
$
student$ go run . --output=banner.txt 'Hello There!' shadow
student$ cat -e banner.txt
3 years ago
$
_| _| _| _| _|_|_|_|_| _| _| $
_| _| _|_| _| _| _|_| _| _|_|_| _|_| _| _|_| _|_| _| $
_|_|_|_| _|_|_|_| _| _| _| _| _| _| _| _|_|_|_| _|_| _|_|_|_| _| $
_| _| _| _| _| _| _| _| _| _| _| _| _| $
_| _| _|_|_| _| _| _|_| _| _| _| _|_|_| _| _|_|_| _| $
$
$
student$
```
3 years ago
### Allowed packages
- Only the [standard Go](https://pkg.go.dev/std) packages are allowed
3 years ago
This project will help you learn about :
- The Go file system(**fs**) API
- Data manipulation