Парашкев качи първо решение на 05.11.2019 13:22 (преди почти 6 години)
Разумно решение, макар че може да се посъкрати.
Към профила на Парашкев Катерски
Compiling solution v0.1.0 (/tmp/d20200111-2173579-5kbzbp/solution) Finished test [unoptimized + debuginfo] target(s) in 2.69s Running target/debug/deps/solution-a73e64ec87929bd0 running 0 tests test result: ok. 0 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
Разумно решение, макар че може да се посъкрати.
Доволно високи бройни системи поддържаш с тази функция :). За целта на задачата обаче,
char::from_digit
щеше да ти свърши работа.Един често срещан начин за начална мутация, последвана от употреба като immutable би изглеждал така:
Тези print-ове са малко... шумни. Разбираемо е да ги използваш докато си тестваш кода, за да дебъгнеш нещо, но иначе заемат доста място и се викат по средата на функция, която иначе няма други side effects.
За практически цели, обикновено такава функция би върнала такова съобщение като грешка, използвайки
Result
, но не го бяхме преподали все още :).Тук, както и на други места в кода, можеш да използваш оператор
?
:Това вероятно би сработило.