Flask при первом запуске: не используйте сервер разработки в производственной среде

Лямбда-выражения обычно используются для инкапсуляции алгоритмов, чтобы они могли быть переданы другой функции. Тем не менее, можно выполнить лямбда сразу после определения:

[&](){ ...your code... }(); // immediately executed lambda expression

функционально эквивалентен

{ ...your code... } // simple code block

. Это делает лямбда-выражения мощным инструментом для реорганизации сложных функций. Вы начинаете с упаковки раздела кода в лямбда-функции, как показано выше. Затем процесс явной параметризации можно выполнить постепенно с промежуточным тестированием после каждого шага. После полной настройки кодового блока (как показано в результате удаления &), вы можете переместить код во внешнее местоположение и сделать его нормальной функцией.

Аналогичным образом вы можете использовать лямбда-выражения для инициализации переменных на основе результата алгоритма ...

int a = []( int b ){ int r=1; while (b>0) r*=b--; return r; }(5); // 5!

Как способ разбиения вашей логики на программу, вы можете даже счесть полезным передать лямбда-выражение в качестве аргумента другому lambda expression ...

[&]( std::function algorithm ) // wrapper section
   {
   ...your wrapper code...
   algorithm();
   ...your wrapper code...
   }
([&]() // algorithm section
   {
   ...your algorithm code...
   });

Лямбда-выражения также позволяют создавать именованные вложенные функции , что может быть удобным способом избежать дублирования логики. Использование именованных lambdas также имеет тенденцию быть немного легче на глазах (по сравнению с анонимными встроенными лямбдами) при передаче нетривиальной функции в качестве параметра другой функции. Примечание: не забывайте точку с запятой после закрывающей фигурной скобки.

auto algorithm = [&]( double x, double m, double b ) -> double
   {
   return m*x+b;
   };

int a=algorithm(1,2,3), b=algorithm(4,5,6);

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

16
задан davidism 17 May 2019 в 02:29
поделиться

1 ответ

Это - ответ!! Я могу!

  1. у Вас есть тот экземпляр переменная с приложением

C:\Users\profg\Documents\GUADA\edxHardvard\project1> flask_app=application.py

  1. набора, у Вас есть тот экземпляр переменная отладка

, C:\Users\profg\Documents\GUADA\edxHardvard\project1> устанавливают flask_debug = 1

  1. ОЧЕНЬ ВАЖНЫЙ !! У Вас есть тот экземпляр переменная разработки

C:\Users\profg\Documents\GUADA\edxHardvard\project1> FLASK_ENV=development

  1. набора, у Вас есть тот экземпляр переменная с ОСНОВОЙ

, C:\Users\profg\Documents\GUADA\edxHardvard\project1> устанавливают DATABASE_URL = ВЫПОЛНЕННАЯ ФЛЯГА VUOGYEXXJAZUUI:00E00FB43A90D71AE227B4743B2E5999185DF701EA498515B8BC30D4E443B380@EC2-54-247-85-251.EU-WEST-1.COMPUTE.AMAZONAWS. COM:5432/D93H3FE05JCD3

  1. !

Поздравления!

-3
ответ дан 19 November 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: