История изменений
Исправление NegatiV, (текущая версия) :
Я никуда никого не перетягиваю. Вопрос стоял так:
А семантическое то отличие от ифов, кондов свитчей и прочего в чем?
И я не пойму, неужели не очевидно, что:
is_valid_hdr(<<131:8, _/binary>>) -> true;
is_valid_hdr(Data) when is_binary(Data) -> false.
семантически не то же самое что:
is_valid_hdr(Data) when is_binary(Data), byte_size(Data) > 0 ->
Tag = binary:at(0, Data),
if
Tag == 131 -> true;
true -> false
end.
хотя логически два варианта эквивалентны.
Исправление NegatiV, :
Я никуда никого не перетягиваю. Вопрос стоял так:
А семантическое то отличие от ифов, кондов свитчей и прочего в чем?
И я не пойму, неужели не очевидно, что:
is_valid_hdr(<<131:8, _/binary>>) -> true;
is_valid_hdr(Data) when is_binary(Data) -> false.
семантически не то же самое что:
is_valid_hdr(Data) when is_binary(Data) ->
Tag = binary:at(0, Data),
if
Tag == 131 -> true;
true -> false
end.
хотя логически два варианта эквивалентны.
Исходная версия NegatiV, :
Я никуда никого не перетягиваю. Вопрос стоял так:
А семантическое то отличие от ифов, кондов свитчей и прочего в чем?
И я не пойму, неужели не очевидно, что:
is_valid_hdr(<<131:8, _/binary>>) -> true;
is_valid_hdr(Data) when is_binary(Data) -> false.
семантически не то же самое что:
is_valid_hdr(Data) when is_binary(Data) ->
<<Tag:8, _/binary>> = Data,
if
Tag == 131 -> true;
true -> false
end.
хотя логически два варианта эквивалентны.