trackler 2.2.1.6 → 2.2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/README.md +27 -0
- data/tracks/coffeescript/config.json +1 -0
- data/tracks/coldfusion/config.json +1 -1
- data/tracks/crystal/README.md +27 -7
- data/tracks/crystal/config/maintainers.json +25 -0
- data/tracks/crystal/generator/spec/remote_data_file_spec.cr +1 -1
- data/tracks/crystal/generator/src/exercise_generator.cr +1 -1
- data/tracks/crystal/generator/src/remote_data_file.cr +2 -2
- data/tracks/csharp/config.json +1 -2
- data/tracks/csharp/config/maintainers.json +55 -0
- data/tracks/csharp/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/csharp/exercises/accumulate/README.md +1 -1
- data/tracks/csharp/exercises/acronym/README.md +1 -1
- data/tracks/csharp/exercises/all-your-base/README.md +1 -1
- data/tracks/csharp/exercises/allergies/README.md +1 -1
- data/tracks/csharp/exercises/alphametics/README.md +1 -1
- data/tracks/csharp/exercises/anagram/README.md +1 -1
- data/tracks/csharp/exercises/atbash-cipher/README.md +1 -1
- data/tracks/csharp/exercises/bank-account/README.md +1 -1
- data/tracks/csharp/exercises/beer-song/README.md +1 -1
- data/tracks/csharp/exercises/binary-search-tree/README.md +1 -1
- data/tracks/csharp/exercises/binary-search/README.md +1 -1
- data/tracks/csharp/exercises/bob/README.md +1 -1
- data/tracks/csharp/exercises/book-store/README.md +1 -1
- data/tracks/csharp/exercises/bowling/README.md +1 -1
- data/tracks/csharp/exercises/bracket-push/README.md +1 -1
- data/tracks/csharp/exercises/change/README.md +1 -1
- data/tracks/csharp/exercises/circular-buffer/README.md +1 -1
- data/tracks/csharp/exercises/clock/README.md +1 -1
- data/tracks/csharp/exercises/connect/README.md +1 -1
- data/tracks/csharp/exercises/crypto-square/README.md +1 -1
- data/tracks/csharp/exercises/custom-set/README.md +1 -1
- data/tracks/csharp/exercises/diamond/README.md +1 -1
- data/tracks/csharp/exercises/difference-of-squares/README.md +1 -1
- data/tracks/csharp/exercises/diffie-hellman/README.md +1 -1
- data/tracks/csharp/exercises/dominoes/README.md +1 -1
- data/tracks/csharp/exercises/dot-dsl/README.md +1 -1
- data/tracks/csharp/exercises/error-handling/README.md +1 -1
- data/tracks/csharp/exercises/etl/README.md +1 -1
- data/tracks/csharp/exercises/flatten-array/README.md +1 -1
- data/tracks/csharp/exercises/food-chain/README.md +1 -1
- data/tracks/csharp/exercises/forth/README.md +1 -1
- data/tracks/csharp/exercises/gigasecond/README.md +1 -1
- data/tracks/csharp/exercises/go-counting/README.md +1 -1
- data/tracks/csharp/exercises/grade-school/README.md +1 -1
- data/tracks/csharp/exercises/grains/README.md +1 -1
- data/tracks/csharp/exercises/grep/README.md +1 -1
- data/tracks/csharp/exercises/hamming/README.md +1 -1
- data/tracks/csharp/exercises/hangman/README.md +1 -1
- data/tracks/csharp/exercises/hello-world/README.md +1 -1
- data/tracks/csharp/exercises/house/README.md +1 -1
- data/tracks/csharp/exercises/isogram/README.md +1 -1
- data/tracks/csharp/exercises/kindergarten-garden/README.md +1 -1
- data/tracks/csharp/exercises/largest-series-product/README.md +1 -1
- data/tracks/csharp/exercises/leap/README.md +1 -1
- data/tracks/csharp/exercises/ledger/README.md +1 -1
- data/tracks/csharp/exercises/linked-list/README.md +1 -1
- data/tracks/csharp/exercises/list-ops/README.md +1 -1
- data/tracks/csharp/exercises/luhn/README.md +1 -1
- data/tracks/csharp/exercises/markdown/README.md +1 -1
- data/tracks/csharp/exercises/matrix/README.md +1 -1
- data/tracks/csharp/exercises/meetup/README.md +1 -1
- data/tracks/csharp/exercises/minesweeper/README.md +1 -1
- data/tracks/csharp/exercises/nth-prime/README.md +1 -1
- data/tracks/csharp/exercises/nucleotide-count/README.md +1 -1
- data/tracks/csharp/exercises/ocr-numbers/README.md +1 -1
- data/tracks/csharp/exercises/palindrome-products/README.md +1 -1
- data/tracks/csharp/exercises/pangram/README.md +1 -1
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -1
- data/tracks/csharp/exercises/pascals-triangle/README.md +1 -1
- data/tracks/csharp/exercises/perfect-numbers/README.md +1 -1
- data/tracks/csharp/exercises/phone-number/README.md +1 -1
- data/tracks/csharp/exercises/pig-latin/README.md +1 -1
- data/tracks/csharp/exercises/poker/README.md +1 -1
- data/tracks/csharp/exercises/pov/README.md +1 -1
- data/tracks/csharp/exercises/prime-factors/README.md +1 -1
- data/tracks/csharp/exercises/protein-translation/README.md +1 -1
- data/tracks/csharp/exercises/proverb/README.md +1 -1
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +1 -1
- data/tracks/csharp/exercises/queen-attack/README.md +1 -1
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +1 -1
- data/tracks/csharp/exercises/raindrops/README.md +1 -1
- data/tracks/csharp/exercises/react/README.md +1 -1
- data/tracks/csharp/exercises/rectangles/README.md +1 -1
- data/tracks/csharp/exercises/rna-transcription/README.md +1 -1
- data/tracks/csharp/exercises/robot-name/README.md +1 -1
- data/tracks/csharp/exercises/robot-simulator/README.md +1 -1
- data/tracks/csharp/exercises/roman-numerals/README.md +1 -1
- data/tracks/csharp/exercises/rotational-cipher/README.md +1 -1
- data/tracks/csharp/exercises/run-length-encoding/README.md +1 -1
- data/tracks/csharp/exercises/saddle-points/README.md +1 -1
- data/tracks/csharp/exercises/say/README.md +1 -1
- data/tracks/csharp/exercises/scale-generator/README.md +1 -1
- data/tracks/csharp/exercises/scrabble-score/README.md +1 -1
- data/tracks/csharp/exercises/secret-handshake/README.md +1 -1
- data/tracks/csharp/exercises/series/README.md +1 -1
- data/tracks/csharp/exercises/sgf-parsing/README.md +1 -1
- data/tracks/csharp/exercises/sieve/README.md +1 -1
- data/tracks/csharp/exercises/simple-cipher/README.md +1 -1
- data/tracks/csharp/exercises/simple-linked-list/README.md +1 -1
- data/tracks/csharp/exercises/space-age/README.md +1 -1
- data/tracks/csharp/exercises/strain/README.md +1 -1
- data/tracks/csharp/exercises/sublist/README.md +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/csharp/exercises/tournament/README.md +1 -1
- data/tracks/csharp/exercises/transpose/README.md +1 -1
- data/tracks/csharp/exercises/tree-building/README.md +1 -1
- data/tracks/csharp/exercises/triangle/README.md +1 -1
- data/tracks/csharp/exercises/twelve-days/README.md +1 -1
- data/tracks/csharp/exercises/two-bucket/README.md +1 -1
- data/tracks/csharp/exercises/variable-length-quantity/README.md +1 -1
- data/tracks/csharp/exercises/word-count/README.md +1 -1
- data/tracks/csharp/exercises/word-search/README.md +1 -1
- data/tracks/csharp/exercises/wordy/README.md +1 -1
- data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -1
- data/tracks/csharp/exercises/zipper/README.md +1 -1
- data/tracks/d/config.json +1 -0
- data/tracks/dart/config/maintainers.json +15 -0
- data/tracks/ecmascript/config.json +76 -193
- data/tracks/ecmascript/exercises/twelve-days/README.md +66 -0
- data/tracks/ecmascript/exercises/twelve-days/example.js +53 -0
- data/tracks/ecmascript/exercises/twelve-days/package.json +68 -0
- data/tracks/ecmascript/exercises/twelve-days/twelve-days.spec.js +106 -0
- data/tracks/factor/config.json +1 -1
- data/tracks/fsharp/config/maintainers.json +35 -0
- data/tracks/go/config.json +82 -38
- data/tracks/go/config/maintainers.json +13 -22
- data/tracks/go/exercises/bowling/cases_test.go +11 -11
- data/tracks/go/exercises/forth/cases_test.go +7 -7
- data/tracks/go/exercises/forth/example.go +1 -1
- data/tracks/go/exercises/forth/forth_test.go +1 -1
- data/tracks/go/exercises/hamming/cases_test.go +7 -7
- data/tracks/go/exercises/hamming/hamming.go +1 -1
- data/tracks/go/exercises/phone-number/cases_test.go +2 -7
- data/tracks/go/exercises/phone-number/example.go +1 -1
- data/tracks/go/exercises/phone-number/phone_number_test.go +1 -1
- data/tracks/go/exercises/rna-transcription/cases_test.go +7 -7
- data/tracks/go/exercises/secret-handshake/cases_test.go +1 -1
- data/tracks/groovy/config.json +1 -0
- data/tracks/haxe/config.json +1 -1
- data/tracks/java/.travis.yml +1 -1
- data/tracks/java/config/maintainers.json +20 -0
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +1 -1
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +1 -1
- data/tracks/javascript/config.json +229 -247
- data/tracks/kotlin/config/maintainers.json +35 -0
- data/tracks/lfe/config/maintainers.json +15 -0
- data/tracks/lisp/config/maintainers.json +55 -0
- data/tracks/ocaml/config.json +0 -5
- data/tracks/ocaml/config/maintainers.json +25 -0
- data/tracks/perl5/config/maintainers.json +25 -0
- data/tracks/perl6/config/maintainers.json +25 -0
- data/tracks/pony/config/maintainers.json +15 -0
- data/tracks/pony/exercises/atbash-cipher/example.pony +2 -2
- data/tracks/pony/exercises/beer-song/example.pony +1 -1
- data/tracks/pony/exercises/bob/example.pony +1 -1
- data/tracks/pony/exercises/difference-of-squares/example.pony +1 -1
- data/tracks/pony/exercises/hamming/test.pony +12 -12
- data/tracks/pony/exercises/pascals-triangle/example.pony +1 -1
- data/tracks/pony/exercises/pascals-triangle/test.pony +6 -6
- data/tracks/pony/exercises/rna-transcription/test.pony +3 -3
- data/tracks/pony/exercises/roman-numerals/test.pony +3 -3
- data/tracks/purescript/config/maintainers.json +35 -0
- data/tracks/r/config.json +140 -81
- data/tracks/r/exercises/collatz-conjecture/README.md +43 -0
- data/tracks/r/exercises/collatz-conjecture/collatz-conjecture.R +3 -0
- data/tracks/r/exercises/collatz-conjecture/example.R +13 -0
- data/tracks/r/exercises/collatz-conjecture/test_collatz-conjecture.R +28 -0
- data/tracks/r/exercises/nucleotide-count/README.md +43 -0
- data/tracks/r/exercises/nucleotide-count/example.R +17 -0
- data/tracks/r/exercises/nucleotide-count/nucleotide-count.R +3 -0
- data/tracks/r/exercises/nucleotide-count/test_nucleotide-count.R +51 -0
- data/tracks/r/exercises/pangram/README.md +25 -0
- data/tracks/r/exercises/pangram/example.R +14 -0
- data/tracks/r/exercises/pangram/pangram.R +3 -0
- data/tracks/r/exercises/pangram/test_pangram.R +42 -0
- data/tracks/r/exercises/triangle/.meta/hints.md +4 -0
- data/tracks/r/exercises/triangle/README.md +41 -0
- data/tracks/r/exercises/triangle/example.R +23 -0
- data/tracks/r/exercises/triangle/test_triangle.R +72 -0
- data/tracks/r/exercises/triangle/triangle.R +3 -0
- data/tracks/rust/config.json +32 -1
- data/tracks/rust/config/maintainers.json +1 -6
- data/tracks/rust/exercises/acronym/tests/acronym.rs +1 -1
- data/tracks/rust/exercises/beer-song/example.rs +1 -1
- data/tracks/rust/exercises/circular-buffer/example.rs +8 -10
- data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +2 -2
- data/tracks/rust/exercises/clock/.meta/hints.md +10 -0
- data/tracks/rust/exercises/clock/Cargo.lock +4 -0
- data/tracks/rust/exercises/clock/Cargo.toml +6 -0
- data/tracks/rust/exercises/clock/README.md +57 -0
- data/tracks/rust/exercises/clock/example.rs +32 -0
- data/tracks/{ocaml/exercises/point-mutations/example.ml → rust/exercises/clock/src/lib.rs} +0 -0
- data/tracks/rust/exercises/clock/tests/clock.rs +331 -0
- data/tracks/rust/exercises/custom-set/tests/custom-set.rs +3 -3
- data/tracks/rust/exercises/dominoes/example.rs +1 -1
- data/tracks/rust/exercises/grade-school/example.rs +1 -1
- data/tracks/rust/exercises/hamming/example.rs +1 -1
- data/tracks/rust/exercises/nth-prime/Cargo.lock +4 -0
- data/tracks/rust/exercises/nth-prime/Cargo.toml +6 -0
- data/tracks/rust/exercises/nth-prime/README.md +47 -0
- data/tracks/rust/exercises/nth-prime/example.rs +28 -0
- data/tracks/rust/exercises/nth-prime/src/lib.rs +0 -0
- data/tracks/rust/exercises/nth-prime/tests/nth-prime.rs +30 -0
- data/tracks/rust/exercises/parallel-letter-frequency/example.rs +1 -1
- data/tracks/rust/exercises/phone-number/example.rs +1 -1
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.lock +4 -0
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.toml +6 -0
- data/tracks/rust/exercises/pythagorean-triplet/README.md +56 -0
- data/tracks/rust/exercises/pythagorean-triplet/example.rs +11 -0
- data/tracks/rust/exercises/pythagorean-triplet/src/lib.rs +0 -0
- data/tracks/rust/exercises/pythagorean-triplet/tests/pythagorean-triplet.rs +6 -0
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +1 -1
- data/tracks/rust/exercises/robot-name/tests/robot-name.rs +2 -2
- data/tracks/rust/exercises/say/example.rs +4 -4
- data/tracks/rust/exercises/say/tests/say.rs +4 -4
- data/tracks/rust/exercises/tournament/example.rs +2 -2
- data/tracks/scala/config/maintainers.json +10 -6
- data/tracks/scala/exercises/bracket-push/example.scala +2 -2
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketPushTest.scala +74 -0
- data/tracks/scala/exercises/crypto-square/example.scala +9 -9
- data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +33 -41
- data/tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala +9 -38
- data/tracks/scala/testgen/src/main/scala/CryptoSquareTestGenerator.scala +17 -0
- data/tracks/sml/config.json +1 -1
- data/tracks/swift/config/maintainers.json +35 -0
- data/tracks/swift/docs/ABOUT.md +15 -5
- data/tracks/vimscript/config/maintainers.json +35 -0
- metadata +58 -8
- data/tracks/ocaml/exercises/point-mutations/Makefile +0 -8
- data/tracks/ocaml/exercises/point-mutations/README.md +0 -81
- data/tracks/ocaml/exercises/point-mutations/dna.mli +0 -6
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala +0 -68
- data/tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala +0 -11
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Point Mutations
|
|
2
|
-
|
|
3
|
-
Calculate the Hamming difference between two DNA strands.
|
|
4
|
-
|
|
5
|
-
A mutation is simply a mistake that occurs during the creation or
|
|
6
|
-
copying of a nucleic acid, in particular DNA. Because nucleic acids are
|
|
7
|
-
vital to cellular functions, mutations tend to cause a ripple effect
|
|
8
|
-
throughout the cell. Although mutations are technically mistakes, a very
|
|
9
|
-
rare mutation may equip the cell with a beneficial attribute. In fact,
|
|
10
|
-
the macro effects of evolution are attributable by the accumulated
|
|
11
|
-
result of beneficial microscopic mutations over many generations.
|
|
12
|
-
|
|
13
|
-
The simplest and most common type of nucleic acid mutation is a point
|
|
14
|
-
mutation, which replaces one base with another at a single nucleotide.
|
|
15
|
-
|
|
16
|
-
By counting the number of differences between two homologous DNA strands
|
|
17
|
-
taken from different genomes with a common ancestor, we get a measure of
|
|
18
|
-
the minimum number of point mutations that could have occurred on the
|
|
19
|
-
evolutionary path between the two strands.
|
|
20
|
-
|
|
21
|
-
This is called the 'Hamming distance'
|
|
22
|
-
|
|
23
|
-
GAGCCTACTAACGGGAT
|
|
24
|
-
CATCGTAATGACGGCCT
|
|
25
|
-
^ ^ ^ ^ ^ ^^
|
|
26
|
-
|
|
27
|
-
The Hamming distance between these two DNA strands is 7.
|
|
28
|
-
|
|
29
|
-
# Implementation notes
|
|
30
|
-
|
|
31
|
-
The Hamming distance is only defined for sequences of equal length. Hence you
|
|
32
|
-
may assume that only sequences of equal length will be passed to your hamming
|
|
33
|
-
distance function.
|
|
34
|
-
|
|
35
|
-
**Note: This problem is deprecated, replaced by the one called `hamming`.**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## Getting Started
|
|
39
|
-
For installation and learning resources, refer to the
|
|
40
|
-
[exercism help page](http://exercism.io/languages/ocaml).
|
|
41
|
-
|
|
42
|
-
## Installation
|
|
43
|
-
To work on the exercises, you will need `Opam` and `Core`. Consult [opam](https://opam.ocaml.org) website for instructions on how to install `opam` for your OS. Once `opam` is installed open a terminal window and run the following command to install core:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
opam install core
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
To run the tests you will need `OUnit`. Install it using `opam`:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
opam install ounit
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Running Tests
|
|
56
|
-
A Makefile is provided with a default target to compile your solution and run the tests. At the command line, type:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
make
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Interactive Shell
|
|
63
|
-
`utop` is a command line program which allows you to run Ocaml code interactively. The easiest way to install it is via opam:
|
|
64
|
-
```bash
|
|
65
|
-
opam install utop
|
|
66
|
-
```
|
|
67
|
-
Consult [utop](https://github.com/diml/utop/blob/master/README.md) for more detail.
|
|
68
|
-
|
|
69
|
-
## Feedback, Issues, Pull Requests
|
|
70
|
-
The [exercism/ocaml](https://github.com/exercism/ocaml) repository on
|
|
71
|
-
GitHub is the home for all of the Ocaml exercises.
|
|
72
|
-
|
|
73
|
-
If you have feedback about an exercise, or want to help implementing a new
|
|
74
|
-
one, head over there and create an issue. We'll do our best to help you!
|
|
75
|
-
|
|
76
|
-
## Source
|
|
77
|
-
|
|
78
|
-
The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
|
|
79
|
-
|
|
80
|
-
## Submitting Incomplete Solutions
|
|
81
|
-
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import org.scalatest.{FunSuite, Matchers}
|
|
2
|
-
|
|
3
|
-
class BracketsTest extends FunSuite with Matchers {
|
|
4
|
-
test("paired square brackets") {
|
|
5
|
-
pending
|
|
6
|
-
Brackets.areBalanced("""[]""") should be (true)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
test("empty string") {
|
|
10
|
-
pending
|
|
11
|
-
Brackets.areBalanced("""""") should be (true)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
test("unpaired brackets") {
|
|
15
|
-
pending
|
|
16
|
-
Brackets.areBalanced("""[[""") should be (false)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
test("wrong ordered brackets") {
|
|
20
|
-
pending
|
|
21
|
-
Brackets.areBalanced("""}{""") should be (false)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
test("paired with whitespace") {
|
|
25
|
-
pending
|
|
26
|
-
Brackets.areBalanced("""{ }""") should be (true)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
test("simple nested brackets") {
|
|
30
|
-
pending
|
|
31
|
-
Brackets.areBalanced("""{[]}""") should be (true)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
test("several paired brackets") {
|
|
35
|
-
pending
|
|
36
|
-
Brackets.areBalanced("""{}[]""") should be (true)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
test("paired and nested brackets") {
|
|
40
|
-
pending
|
|
41
|
-
Brackets.areBalanced("""([{}({}[])])""") should be (true)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
test("unopened closing brackets") {
|
|
45
|
-
pending
|
|
46
|
-
Brackets.areBalanced("""{[)][]}""") should be (false)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
test("unpaired and nested brackets") {
|
|
50
|
-
pending
|
|
51
|
-
Brackets.areBalanced("""([{])""") should be (false)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
test("paired and wrong nested brackets") {
|
|
55
|
-
pending
|
|
56
|
-
Brackets.areBalanced("""[({]})""") should be (false)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
test("math expression") {
|
|
60
|
-
pending
|
|
61
|
-
Brackets.areBalanced("""(((185 + 223.85) * 15) - 543)/2""") should be (true)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
test("complex latex expression") {
|
|
65
|
-
pending
|
|
66
|
-
Brackets.areBalanced("""\left(\begin{array}{cc} \frac{1}{3} & x\\ \mathrm{e}^{x} &... x^2 \end{array}\right)""") should be (true)
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
object CryptoSquare {
|
|
2
|
-
def normalizePlaintext(text: String): String = ???
|
|
3
|
-
|
|
4
|
-
def squareSize(text: String): Int = ???
|
|
5
|
-
|
|
6
|
-
def plaintextSegments(text: String): List[String] = ???
|
|
7
|
-
|
|
8
|
-
def ciphertext(text: String): String = ???
|
|
9
|
-
|
|
10
|
-
def normalizedCiphertext(text: String): String = ???
|
|
11
|
-
}
|