Решение на Дигитален корен от Любослав Карев
Резултати
- 20 точки от тестове
- 1 бонус точка
- 21 точки общо
- 6 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (/tmp/d20200111-2173579-26mo5/solution) warning: unused variable: `E` --> src/lib.rs:17:13 | 17 | Err(E) => return None, | ^ help: consider prefixing with an underscore: `_E` | = note: `#[warn(unused_variables)]` on by default warning: variable `E` should have a snake case name --> src/lib.rs:17:13 | 17 | Err(E) => return None, | ^ help: convert the identifier to snake case: `e` | = note: `#[warn(non_snake_case)]` on by default warning: unused variable: `E` --> src/lib.rs:17:13 | 17 | Err(E) => return None, | ^ help: consider prefixing with an underscore: `_E` | = note: `#[warn(unused_variables)]` on by default warning: variable `E` should have a snake case name --> src/lib.rs:17:13 | 17 | Err(E) => return None, | ^ help: convert the identifier to snake case: `e` | = note: `#[warn(non_snake_case)]` on by default Finished test [unoptimized + debuginfo] target(s) in 4.33s Running target/debug/deps/solution-a73e64ec87929bd0 running 5 tests test tests::binary_tests ... ok test tests::decimal_tests ... ok test tests::hex_tests ... ok test tests::octal_tests ... ok test tests::test_basic ... ok test result: ok. 5 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
История (3 версии и 2 коментара)
Любослав качи решение на 03.11.2019 18:32 (преди почти 6 години)
Любослав качи решение на 03.11.2019 21:35 (преди почти 6 години)
Интересно решение -- очаквах да го разбиете на символи, но и това работи :). Бих се опитал да използвам по-ясни имена. formula_calculate
примерно е доста общо име на функция, която може да прави каквото и да е. Може би sum_digits
щеше да е по-ясно. Вместо k
, може би digit_count
или max_digits
.
В математическите формули се използват често еднобуквени променливи, отчасти понеже може да са доста абстрактни, отчасти защото имаш дефиниции с думи. Примерно избираме епсилон, такова че <обяснения>
. В код обикновено се работи с конкретни неща, които могат да имат конкретни имена, а ако нямат, и просто се смята някаква обща формула, може да сложиш по един коментар някъде за самата формула и какво значат компонентите ѝ.
Добро решение. Получаваш и бонус точка за тестовете, макар че съм малко разочарован, че не си тествал с 0, освен двоичния случай -- може да е потенциално интересен edge case. За бъдещи домашни вероятно ще съм по-придирчив към тестове що се отнася до бонус точки :).
Интересно решение -- очаквах да го разбиете на символи, но и това работи :). Бих се опитал да използвам по-ясни имена.
formula_calculate
примерно е доста общо име на функция, която може да прави каквото и да е. Може биsum_digits
щеше да е по-ясно. Вместоk
, може биdigit_count
илиmax_digits
.В математическите формули се използват често еднобуквени променливи, отчасти понеже може да са доста абстрактни, отчасти защото имаш дефиниции с думи. Примерно
избираме епсилон, такова че <обяснения>
. В код обикновено се работи с конкретни неща, които могат да имат конкретни имена, а ако нямат, и просто се смята някаква обща формула, може да сложиш по един коментар някъде за самата формула и какво значат компонентите ѝ.