LINUX.ORG.RU

История изменений

Исправление 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.

хотя логически два варианта эквивалентны.