Решение на Дигитален корен от Иван Велков
Обратно към всички решения
Към профила на Иван Велков
Резултати
- 20 точки от тестове
- 1 бонус точка
- 21 точки общо
- 6 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (/tmp/d20200111-2173579-1fminyz/solution)
Finished test [unoptimized + debuginfo] target(s) in 4.19s
Running target/debug/deps/solution-a73e64ec87929bd0
running 7 tests
test tests::test_digital_root ... ok
test tests::test_hex ... ok
test tests::test_hex_double_digit ... ok
test tests::test_invalid_string ... ok
test tests::test_octal ... ok
test tests::test_octal_invalid_symbol ... ok
test tests::test_zero ... ok
test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Running target/debug/deps/solution_test-38971695424b36d5
running 6 tests
test solution_test::test_binary ... ok
test solution_test::test_decimal_basic ... ok
test solution_test::test_hex_basic ... ok
test solution_test::test_invalid ... ok
test solution_test::test_octal_basic ... ok
test solution_test::test_zeroes ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Doc-tests solution
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
История (1 версия и 4 коментара)
Иван качи първо решение на 05.11.2019 14:41 (преди почти 6 години)
Оператора
?
работи заOption
, така че вероятно това можеше да еdigital_root(to_digit(input, 10)?, 10)
. Друг начин да се посъкрати е сmap
, нещо катоto_digit(input, 10).map(|n| digital_root(n, 10))
, което може би е малко по-pipeline-ско такова.Тук можеш да използваш
.ok()
за да конвертирашResult
доOption
.Исках теста да е в коментарите, но след като е private функция трябва да се импортне с макрo, което ми се струва overkill за толкова прост пример.