Предупреждения о неиспользуемых переменных в Erlang

Я думаю, что тест неверен. Вот упрощенный пример:

declare @tblVehicleRegistration table (RegistrationNumber varchar(5))
insert into @tblVehicleRegistration(RegistrationNumber) VALUES('AB012')
SELECT * FROM @tblVehicleRegistration WHERE RegistrationNumber = 20012 --Fails as expected
SELECT * FROM @tblVehicleRegistration WHERE RegistrationNumber = '20012' --works as expected
6
задан Dylan White 6 December 2008 в 02:41
поделиться

3 ответа

Это должно подавить предупреждение, не будучи сбивающим с толку:

max(Element,[_Head | Tail]) ->
   max(Element, Tail);
9
ответ дан 8 December 2019 в 04:56
поделиться

Если Вы называете переменную _ вместо Name (например. _ вместо Head) переменная не будет связана, и Вы не получите предупреждение.

Если Вы называете переменную _Name вместо Name (например. _Head вместо Head) переменная будет связана, но Вы все еще не получите предупреждение. Ссылка на переменное начало _ в коде считается очень плохой практикой.

Рекомендуется сохранить название переменной для улучшения удобочитаемости кода (например, легче предположить что _Head был предназначен для, чем просто _).

9
ответ дан 8 December 2019 в 04:56
поделиться
    max([Head|Tail]) ->
       max(Head,Tail).

    max(Element,[Head | Tail]) when Element < Head ->
       max(Head,Tail);
    max(Element,[_| Tail]) ->
       max(Element, Tail);
    max(Element,[]) ->
       Element.

Должен добиться цели. Так как причиной является та замена 'Голова' с '_', синтаксис для того, чтобы сказать, что параметр будет помещен туда, но мне не нужен он.

6
ответ дан 8 December 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: