Парашкев качи първо решение на 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, но не го бяхме преподали все още :).Тук, както и на други места в кода, можеш да използваш оператор
?:Това вероятно би сработило.