262
правки
Изменения
Квайны
,→Принцип написания
\begin{array}{l l}
P(p,"shazam!") \rightarrow print(p); \\
P(p,null) \rightarrow print(|P|.getSrc());
\end{array}
\right.
\begin{array}{l l}
P("shazam!") \rightarrow print(intron); \\
P(null) \rightarrow print(|P|.getSrc());
\end{array}
\right.
</tex>
Теперь добавим третий язык:
# напишем для него "полу-квайн", но уже с двумя параметрами и тремя возможными выводами:<tex>PP_3(p,arg):
\left\{
\begin{array}{l l}
P(pp1,p2,"shazam!") \rightarrow print(pp1); \\ P(pp1,p2,"acadabra!") \rightarrow print(p2); \\ P(p1,p2,null) \rightarrow print(|P|); \end{array} \right.</tex># добавим третье условие в два уже существующих квайна: <tex>P(p,arg): \left\{ \begin{array}{l l} P(p,"shazam!") \rightarrow print(intron); \\ P(p,"cadabra!") \rightarrow print(p); \\ P(p,null) \rightarrow print(P.getSrc()); \end{array} \right.</tex># подставим код первых двух интронами в третью, а код третьей - вторым интроном в каждую из двух первых: <tex>P(arg): \left\{ \begin{array}{l l} P("shazam!") \rightarrow print(intron1); \\ P("cadabra!") \rightarrow print(intron2); \\ P(null) \rightarrow print(|P|.getSrc());
\end{array}
\right.