Как я могу распечатать исходный номер строки в Perl?

Завершая Equals, вы в основном заявляете, что именно тот, кто лучше знает, как сравнивать два экземпляра данного типа, так что вы, вероятно, будете лучшим кандидатом для предоставления лучшего хеш-кода.

Это пример того, как ReSharper пишет для вас функцию GetHashCode ():

public override int GetHashCode()
{
    unchecked
    {
        var result = 0;
        result = (result * 397) ^ m_someVar1;
        result = (result * 397) ^ m_someVar2;
        result = (result * 397) ^ m_someVar3;
        result = (result * 397) ^ m_someVar4;
        return result;
    }
}

Как вы можете видеть, она просто пытается угадать хороший хеш-код на основе всех полей в классе , но так как вы знаете диапазон доменов вашего объекта или диапазон значений, вы все равно можете обеспечить лучший.

32
задан brian d foy 10 December 2008 в 15:12
поделиться

3 ответа

print "File: ", __FILE__, " Line: ", __LINE__, "\n";

или

warn("foo");
56
ответ дан Eugene Yokota 11 October 2019 в 09:39
поделиться

__ СТРОКА __ литерал документируется в раздел Special Literals perldata страница справочника .

11
ответ дан converter42 11 October 2019 в 09:39
поделиться

Примечание там является глюком с

жемчуг-e'warn ("нечто")'

нечто в-e строке 1.

, если это заканчивается новой строкой, это не будет печатать жемчуг номера строки

-e'warn ("foo\n")'

нечто

, Это документируется в "perldoc-f, умирают", но возможно легко отсутствовать в "perldoc-f, попросили" ссылку раздела умереть...

8
ответ дан bigiain 11 October 2019 в 09:39
поделиться
Другие вопросы по тегам:

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