LINUX.ORG.RU

История изменений

Исправление cdshines, (текущая версия) :

Просто все мелкие примеры тривиальны. Ну вот пусть будет такой: есть неразбитый на дорожки аудиофайл, и к нему список из start-duration-end. Но так вышло, что для любой композиции доступно только две величины из трех. Мы разбиваем, и хотим знать зачем-то все три, причем неизвестно, какие из них будут встечаться. Поэтому я хочу, чтобы можно было давать на вход любое из. (start, duration), (start, end), (end, duration) (порядок внутри пар неважен). У меня есть конфигурация: {variables = {s, d, e}, exprs = { s = e - d, e = s + d, d = e - s} }. На выходе хочу получить минимальный набор функций, покрывающий полностью все возможные комбинации, т.е.

f(s, e) = { write_time_info(s, s + d, e) }
f(s, d) = { write_time_info(s, d, s + d) }
f(d, e) = { write_time_info(e - d, d, e) }
Здесь допускается, что пользователь может вызывать процедуру с именованными параметрами, чтобы удовлетворить условию неупорядоченности агрументов.

Исходная версия cdshines, :

Просто все мелкие примеры тривиальны. Ну вот пусть будет такой: есть неразбитый на дорожки аудиофайл, и к нему список из start-duration-end. Но так вышло, что для любой композиции доступно только две величины из трех. Мы разбиваем, и хотим знать зачем-то все три, причем неизвестно, какие из них будут встечаться. Поэтому я хочу, чтобы можно было давать на вход любое из. (start, duration), (start, end), (end, duration) (порядок внутри пар неважен). У меня есть конфигурация: {variables = {s, d, e}, exprs = { s = e - d, e = s + d, d = e - s} }. На выходе хочу получить минимальный набор функций, покрывающий полностью все возможные комбинации, т.е.

f(s, e) = { write_time_info(s, s + d, e) }
f(s, d) = { write_time_info(s, d, s + d) }
f(d, e) = { write_time_info(e - d, d, e) }