LINUX.ORG.RU

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

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

Что-то XML получается. У каждой конструкции есть имя, с к-рого она начинается, атрибуты и содержимое. Прямо XML. Попробуем обособлять атрибуты с помощью (% %), ведь они нужны не всегда. А за ними идёт тело. Условие на списки смягчим и позволим вставлять в грамматику список пар имя-значение, идущий через пробел. Типа &body.

defun Xi (PipeKind, FlowMode, Rey)
 (% docstring "множитель Дарси для трубы (без потоков)" %)
 return
  cond 
   // ожидается последовательность 
   // ВЫРАЖЕНИЕ ОПЕРАТОР ... ВЫРАЖЕНИЕ-N ОПЕРАТОР-N
   (:Rey == 0:) 0.0 
   t 
    ecase PipeKind 
     Pipe 
      switch FlowMode 
       (% default error test 'eq %) 
       Lam   64.0 / Rey
       Turb1 0.3164 / expt(Rey,0.25)
       Turb2 (: // не поместился в строку - ставь скобки
        0.0032 + 0.221 / expt(Rey,0.237)
       :)
      ends
     Channel 
      ecase FlowMode 
       Lam 96.0 / Rey
      ende
    ende 
  endc
endd

Исправление den73, :

Что-то XML получается. У каждой конструкции есть имя, с к-рого она начинается, атрибуты и содержимое. Прямо XML. Попробуем обособлять атрибуты с помощью (% %), ведь они нужны не всегда. А за ними идёт тело. Условие на списки смягчим и позволим вставлять в грамматику список пар имя-значение, идущий через пробел. Типа &body.

defun Xi (PipeKind, FlowMode, Rey)
 (% docstring "множитель Дарси для трубы (без потоков)" %)
 return
  cond 
   // ожидается последовательность 
   // ВЫРАЖЕНИЕ ОПЕРАТОР ... ВЫРАЖЕНИЕ-N ОПЕРАТОР-N
   (:Rey == 0:) 0.0 
   t 
    ecase PipeKind 
     Pipe 
      switch FlowMode 
       (% default error test 'eq %) 
       Lam   64.0 / Rey
       Turb1 0.3164 / expt(Rey,0.25)
       Turb2 (: // не поместился в строку - ставь скобки
        0.0032 + 0.221 / expt(Rey,0.237)
        :)
      ends
     Channel 
      ecase FlowMode 
       Lam 96.0 / Rey
      ende
    ende 
  endc
endd

Исправление den73, :

Что-то XML получается. У каждой конструкции есть имя, с к-рого она начинается, атрибуты и содержимое. Прямо XML. Попробуем обособлять атрибуты с помощью (% %), ведь они нужны не всегда. А за ними идёт тело. Условие на списки смягчим и позволим вставлять в грамматику список пар имя-значение, идущий через пробел. Типа &body.

defun Xi (PipeKind, FlowMode, Rey)
 (% docstring "множитель Дарси для трубы (без потоков)" %)
 return
  cond 
   // ожидается последовательность 
   // ВЫРАЖЕНИЕ ОПЕРАТОР ... ВЫРАЖЕНИЕ-N ОПЕРАТОР-N
   (:Rey == 0:) 0.0 
   t 
    ecase PipeKind 
     Pipe 
      switch FlowMode 
       (% default error test 'eq %) 
       Lam   64.0 / Rey
       Turb1 0.3164 / expt(Rey,0.25)
       Turb2 (: // не поместился в строку - ставь скобки
        0.0032 + 0.221 / expt(Rey,0.237)
       :)
      ends
     Channel 
      ecase FlowMode 
       Lam 96.0 / Rey
      ende
    ende 
  endc
endd

Исправление den73, :

Что-то XML получается. У каждой конструкции есть имя, с к-рого она начинается, атрибуты и содержимое. Прямо XML. Попробуем обособлять атрибуты с помощью (% %), ведь они нужны не всегда. А за ними идёт тело. Условие на списки смягчим и позволим вставлять в грамматику список пар имя-значение, идущий через пробел. Типа &body.

defun Xi (PipeKind, FlowMode, Rey)
 (% docstring "множитель Дарси для трубы (без потоков)" %)
 return
  cond 
   // ожидается последовательность 
   // ВЫРАЖЕНИЕ ОПЕРАТОР ... ВЫРАЖЕНИЕ-N ОПЕРАТОР-N
   (:Rey == 0:) 0.0 
   t 
    ecase PipeKind 
     Pipe 
      switch FlowMode 
       (% default error test 'eq %) 
       Lam   64.0 / Rey
       Turb1 0.3164 / expt(Rey,0.25)
       Turb2 0.0032 + 0.221 / expt(Rey,0.237)
      ends
     Channel 
      ecase FlowMode 
       Lam 96.0 / Rey
      ende
    ende 
  endc
endd

Исправление den73, :

Что-то XML получается. У каждой конструкции есть имя, с к-рого она начинается, атрибуты и содержимое. Прямо XML. Попробуем обособлять атрибуты с помощью (% %), ведь они нужны не всегда. А за ними идёт тело. Условие на списки смягчим и позволим вставлять в грамматику список пар имя-значение, идущий через пробел. Типа &body.

defun Xi (PipeKind, FlowMode, Rey)
 (% docstring "множитель Дарси для трубы (без потоков)" %)
  return
   cond 
     // ожидается последовательность 
     // ВЫРАЖЕНИЕ ОПЕРАТОР ... ВЫРАЖЕНИЕ-N ОПЕРАТОР-N
     (:Rey == 0:) 0.0 
     t 
      ecase PipeKind 
        Pipe 
         switch FlowMode 
          (% default error test 'eq %) 
           Lam   64.0 / Rey
           Turb1 0.3164 / expt(Rey,0.25)
           Turb2 0.0032 + 0.221 / expt(Rey,0.237)
         ends
        Channel 
         ecase FlowMode 
           Lam 96.0 / Rey
         ende
      ende 
   endc
endd

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

Что-то XML получается. У каждой конструкции есть имя, с к-рого она начинается, атрибуты и содержимое. Прямо XML. Попробуем обособлять атрибуты с помощью (% %), ведь они нужны не всегда. А за ними идёт тело. Условие на списки смягчим и позволим вставлять в грамматику список пар имя-значение, идущий через пробел. Типа &body.

defun Xi (PipeKind, FlowMode, Rey)
 (% docstring "множитель Дарси для трубы (без потоков)" %)
  return
   cond 
     // ожидается последовательность 
     // ВЫРАЖЕНИЕ ОПЕРАТОР ... ВЫРАЖЕНИЕ-N ОПЕРАТОР-N
     (:Rey == 0:) 0.0 
     t 
      ecase PipeKind 
        Pipe 
         switch FlowMode (%
          default error
          test 'eq %) // так мы обособляем атрибуты
          // 
            Lam   64.0 / Rey
            Turb1 0.3164 / expt(Rey,0.25)
            Turb2 0.0032 + 0.221 / expt(Rey,0.237)
         ends
        Channel 
         ecase FlowMode 
           Lam 96.0 / Rey
         ende
      ende 
   endc
endd