Подпишись на канал фаундера и разработчика экосистемы tonpie
Как сравнить два среза на предмет равенства?
-
Я помню, что в stdlib была функция
equal_slices
для сравнения двух срезов, но теперь во время компиляции я получаю сообщение об ошибке, сообщающее, что такой функции не существует. Был ли он удален? Как следует сравнивать срезы в наши дни?
Этот вопрос был импортирован из чата Telegram: <***Скрыто***
click to show
-
Похоже, он удален, чтобы заставить разработчиков использовать функцию
equal_slice_bits
. Это название функции лучше тем, что оно подчеркивает тот факт, что сравниваются только биты, а не ссылки.Это старое определение и того, и другого:
;;; Checks whether the data parts of two slices coinside int equal_slice_bits(slice a, slice b) asm "SDEQ"; int equal_slices(slice a, slice b) asm "SDEQ";
Таким образом, это были обе равнозначные функции.