Aug. 20th, 2010

metaclass: (Default)
Спор про F# (там рекаптча если шо)

Товарищ прицепился к тому, что в F# нельзя написать функцию, которая бы по индексу поля в кортеже возвращала бы значение поля.

Т.е. вообще-то ее написать можно, через Reflection, но 1) это все только благодаря дотнету, но никак не системе типов; 2) это противоречит духу статической типизации и является способом стрелять себе в ногу.

Никак не могу человеку объяснить разницу между статической типизацией и натягиванием совы на глобус реализацией динамической типизации поверх языка со статической, чем занимаются 90% либ доступа к БД (все эти ADO.NET, ODBC, JDBC, BDE и прочая).
metaclass: (Default)
А вот скажите мне, какие могут быть причины у того, что mv при отсутствии места на диске все равно пытается на него перенести файл?
Он переносит ровно столько сколько влазит на диск и после этого валится с ошибкой. Из-за этого при переносе файлов по маске создает множество файлов нулевого размера - для всех которые он попытался перенести после завершения места.

Т.е. ни проверки свободного места до, ни завершения работы по ошибке после не производится, зато выполняются заведомо ошибочные действия без их отката.

PS: В исходниках mv смесь табов и пробелов, писали какие-то укуренные люди.

а вот и место где оно не отваливается при ошибке:
for (i = 0; i < n_files; ++i)
  ok &= movefile (file[i], target_directory, true, &x);
}

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 8th, 2025 07:13 pm
Powered by Dreamwidth Studios