\chapter{Правила работы с пробелами}

Языки программирования различаются своими правилами использования
пробелов в программе. Здесь мы устанавливаем правила их использования
в Hansl. Правила несколько различаются между командами, с одной
стороны, и вызовами функций и присваиванием с другой.

\section{Пробелы в командах}
Команды Hansl структурированы следующим образом: сначала идет
командное слово (например, \texttt{ols}, \texttt{summary}); потом ноль
или более аргументов (часто это названия серий); затем следует ноль
или более вариантов (некоторые из которых могут заключать в себе
параметры). Правила следующие:

\begin{enumerate}
\item Упомянутые выше отдельные элементы всегда должны быть разделены
  хотя бы одним пробелом, а где требуется один пробел, вы можете
  вставить их столько, сколько захотите.
\item Каждый раз, когда параметр снабжен флагом опции, параметр должен
  быть присоединен к флагу со знаком равенства, без пробела:
\begin{code}
ols y 0 x --cluster=clustvar  # правильно
ols y 0 x --cluster =clustvar # неверно!
\end{code}
\end{enumerate}

\section{Пробелы в вызовах функций и присваивании}

По большей части пробелы в вызовах функций и назначении не имеют
значения; по желанию он может быть вставлен или нет. Например, в
следующих наборах операторов каждый член одинаково приемлем
синтаксически (хотя некоторые выглядят ужасно!):
\begin{code}
# set 1
y = sqrt(x)
y=sqrt(x)
# set 2
c = cov(y1, y2)
c=cov(y1,y2)
c  = cov(y1 , y2)
\end{code}

Пожалуйста, обратите особое внимание на следующие исключения:
\begin{enumerate}
\item Когда присвоение начинается с ключевого слова типа данных,
  такого как серия или матрица (\texttt{series} или \texttt{matrix}),
  они должны быть отделены от того, что следует за ними хотя бы одним
  пробелом, как в
\begin{code}
series y = normal() # или: series y=normal()
\end{code}
\item При вызове функции к ее имени без пробела должна быть добавлена
  открывающая скобка, обозначающая начало списка аргументов:
\begin{code}
c = cov(y1, y2)  # правильно
c = cov (y1, y2) # неверно!
\end{code}
\end{enumerate}

\label{LastPage}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "hansl-primer"
%%% End: 