Честно говоря, эксперты по самому определению должны знать этот материал. Но чтобы ответить на ваш вопрос: Таблица встроенных типов (справочник по C #)
Прописка компилятора для чисел широко известна:
Decimal = M
Float = F
Double = D
// for example
double d = 30D;
Однако они более неясны:
Long = L
Unsigned Long = UL
Unsigned Int = U
Дероберт:
Отличный вопрос. Я описал именно это в статье для календаря появления Catalyst.
По сути, вы создаете переменную тайника, которая определяет время вашего кеширования для данного действия, а затем обрабатываете ее в подпрограмме завершения корневого каталога. Подробности см. В статье
JayK
Обновление: Основываясь на вашем ответе на мое предыдущее предложение, я решил укусить пулю и посмотреть документацию по Catalyst. Мне кажется, это можно сделать в:
sub end : Private {
my ( $self, $c ) = @_;
# handle errors etc.
if ( $c->res->body ) {
if ( "some condition" ) {
set_default_response_headers( $c->response->headers );
return;
}
else {
do_something_else();
return;
}
}
$c->forward( 'MyApp::View::TT' ); # render template
}
Предыдущий ответ: Я не использую Catalyst, но не могли бы вы просто написать подпрограмму для своего приложения?
sub set_default_response_headers {
my ($h) = @_;
$h->last_modified(time);
$h->expires(time + $self->{cache_time});
$h->header(cache_control => "public, max-age=$self->{cache_time}");
return $h;
}
Вызов set_default_response_headers ($ c-> response-> headers)
.