• Как создать пакет в WMathematica с приватными функциями?

    youngmysteriouslight
    @youngmysteriouslight
    ТК, ТТ, JS, FP, WM
    Один из способов решить проблему заключается в использовании относительного контекста: `Pr`pB[d]

    Я обычно делаю так:
    1. перед началом приватного контекста перечисляю все публичные символы (всё равно нужно usage и warnings прописать)
    2. определения публичных символов делаю в том же блоке, где приватные, то есть до End[].
    Из-за №1 публичные символы не захватываются контекстом, зато внутри приватного контекста можно его явно не писать.

    Пример:
    BeginPackage["P`"];
    b::usage = "My b var";
    Begin["`Pr`"];
    a = 2;
    b := a;
    End[];
    EndPackage[];

    In[9]:= OwnValues[b]
    
    Out[9]= {HoldPattern[b] :> P`Pr`a}
    Ответ написан
    4 комментария
  • Какой правильный подход к изучению программированию?

    ArtamonovDenis
    @ArtamonovDenis
    Full-stack developer
    вариант 1:
    1. берете задачу
    2. ищите решение этой задачи на нужном языке
    3. копипастите код
    4. видите результат - все работает
    5. разбираете код - что, как и зачем в нем делается
    когда придет понимание того, что, как и зачем делается, тогда сможете самостоятельно использовать участки кода, функции, для решения других задач

    вариант 2
    1. берете книгу
    2. читаете
    3. по ходу выполняете примеры
    4. пытаетесь разобраться в коде
    далее по описанной выше схеме

    думаю, из этих вариантов понятно, что на вашем этапе не главное найти сразу правильный подход - главное - просто выполнять разные задачи, разбирать код и много думать
    Ответ написан
    Комментировать
  • C#. Какой алгоритм контрольной суммы выбрать?

    GavriKos
    @GavriKos
    MD5 и CRC32 не обеспечивает отсутствие коллизий, поэтому использовать только контрольные суммы некорректно. Как минимум сравнивайте еще и размер, причем сначала его.

    По факту выбора - я бы выбирал тот алгоритм, для которого руками не надо писать реализацию. Потому что задача стоит сравнить два файла, а не написать вычисление контрольной суммы.
    Ответ написан
    3 комментария