Search
Write a publication
Pull to refresh
72
0
Artem Vorozhtsov @greck

ML Engineer

Send message
Есть более конкретное высказывание Непейводы Н.Н., — комментировать нужно подпорки и призраки.

Подпорка — некоторое исключение из теории или общего алгоритма; специальный код, рассматривающий отдельно особый крайний случай, и т.д. и т.п. Подпорки мы все писали, так что знаем.

Призрак — дуальная сущность, она есть в теории, но отсутствует в коде (единственная возможность ей там появиться — в виде комментария). Это теоремы, которые использовались при написании кода, различные инварианты, математические идеи, которые не извлекаются из кода непосредственно.

Все остальное должно быть таким (модульность, именование функций, переменных, классов, ), чтобы комментарии были не нужны.
Multiple assignement есть в Perl, Python, Lua, Magma,…

Он был придуман давно и отчасти для того, чтобы делать a, b = b, a. Поэтому сомнений насчет логики выполнения здесь быть не может.

Для этой конструкции все уже описано и обсуждено. В Ruby сделано так, как все давно уже привыкли — сначала целиком вычисляется правая часть, потом все присваивается левой. Не Matz это придумал и не ему менять логику multiple assignement.
тут также вопрос оптимальности. В частности при выполнении sort! не хотелось бы, чтобы делались malloc'и. Если bang делать из nobang, точно будет происходит выделение новой памяти для промежуточного массива. В большинстве случаев для bang методов можно написать алгоритмы, не делающие запросы на выделение памяти
На этот вопрос ответил Клод Шеннон в сработе «Mathematical Theory of Communication». Формулы написал. Очень интересно и внятно ответил. Я бы даже сказал, что это был прорыв (перепост, так как промазал)
ни о чём :) просто так, мысли вслух. Пост для непрофессиональных программистов, ещё выбирающих путь.
На этот вопрос ответил Клод Шеннон в сработе «Mathematical Theory of Communication». Формулы написал. Очень интересно и внятно ответил. Я бы даже сказал, что это был прорыв.
Стал использовать vim. Там есть необходимая фича, которая выдает HTML, который не портится хабрахабровским обработчиком. Но ой как сильно мне бы хотелось писать код так:
<source lang="ruby">
 puts "Hello"
</source>

Это же просто сделать. Алё, админы!
> Windows Live Writer + Visual Studio + VSPaste + HTML Snippet + PowerGREP + регулярные выражения + некоторая работа ручками

мне кажется, по количеству действий Gvim (в том числе под виндами) будет давать результат несколько быстрее: меню Синтаксис -> Сделать HTML с подсветкой. Пробелы он превращает в  , такой умница.
О конструкции begin полезно расказать в полной мере:
begin
  Ух!  мы тут 
  такого сейчас понаделаем !
rescue MySiimpleError => e
  ошибка вроде простая, 
  сейчас  мы её пофиксим и будем щастливы
  retry if пофиксилась
rescue MyUrecoverbleError => e
  ууупс!
  puts "У нас серьезные неприятности " + e.message + "\n" + e.backtrace
else 
  итак, ошибок нет, и кое что еще осталось 
  сделать
ensure
  а вот кое-что нужно полюбому сделать (есть исключения или нет),
  например, закрыть все открытые соединения
end
Да, верно. Но есть такие объекты для которых inspect возвращает нечто, не являющееся Ruby выражением, равное им
$ ruby -e  "puts lambda{|x| x*x}.inspect"
#<Proc:0xb7d17df8@-e:1>

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

А как здесь это делают? Постят подсвеченый html или есть специальные теги?

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Date of birth
Registered
Activity