117 читали · 1 год назад
VBA Excel № 69. Функция с необязательными аргументами в VBA.
Многие встроенные функции в Excel обладают гибкостью благодаря наличию необязательных аргументов. Рассмотрим это на примере функции ЛЕВСИМВ(), предназначенной для извлечения символов с левого края строки. Ее синтаксис следующий: ЛЕВСИМВ(текст; [количество символов]) Первый аргумент, "текст", обязателен, в то время как второй аргумент, "количество символов", является необязательным. Если не указать второй аргумент, Excel автоматически предполагает, что он равен 1. Таким образом, формулы ниже приводят...
122 читали · 5 лет назад
Два бага, которые я сделал в C++ коде на этой неделе
Код почти всегда содержит баги. Просто они не видны до поры, до времени. Сегодня хочу поговорить о тех, которые запомнились на этой неделе. std::optional::value_or Сможете найти ошибку без подсказки? Вероятно, потому что я еще не до конца привык к optional... Но идея в том, что, конечно же, в C++ нет ленивых вычислений, как в Haskell. Поэтому аргументы функций должны быть известны на момент её вызова. Ошибка в том, что функция f() вычисляется дважды, даже если результат её вычисления уже есть в кэше...