summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2008-08-06 13:02:17 +0000
committerdakkar <dakkar@luxion>2008-08-06 13:02:17 +0000
commit3a74dd15f6bfac1b164e73a723a48188aed5fc9e (patch)
tree193e1a630dda5a8f196e421d874ea27684a26355
parentprops (diff)
downloadintro-perl-3a74dd15f6bfac1b164e73a723a48188aed5fc9e.tar.gz
intro-perl-3a74dd15f6bfac1b164e73a723a48188aed5fc9e.tar.bz2
intro-perl-3a74dd15f6bfac1b164e73a723a48188aed5fc9e.zip
qualche altra pagina
git-svn-id: svn://luxion/repos/intro-perl@349 fcb26f47-9200-0410-b104-b98ab5b095f3
-rw-r--r--corso.content.tex139
1 files changed, 139 insertions, 0 deletions
diff --git a/corso.content.tex b/corso.content.tex
index d20938b..0dddf50 100644
--- a/corso.content.tex
+++ b/corso.content.tex
@@ -207,10 +207,149 @@ use warnings;
\section{Scalari}
+\begin{frame}\frametitle{Cos'è uno scalare?}
+\begin{itemize}
+\item un singolo valore
+\item \Perl\ distingue tra {\em singolare} e {\em plurale}
+\item numeri e stringhe sono scalari
+\end{itemize}
+\end{frame}
+
\subsection{Numeri}
+\begin{frame}\frametitle{Semantica dei numeri}
+\begin{itemize}
+\item i numeri sono trattati in intero o in virgola mobile, in modo trasparente
+\item non è un problema vostro
+\item<2-> a meno che non dobbiate preoccuparvi della precisione, ma per ora lasciate perdere
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Sintassi dei numeri}
+\begin{itemize}
+\item \lstinline!0!, \lstinline!-1!, \lstinline!1234645564!, \lstinline!1_234_645_564!
+\item \lstinline!1.25!, \lstinline!-0.007!, \lstinline!1e12!, \lstinline!-3.5e-7!
+\item \lstinline!0240!, \lstinline!0xA0!, \lstinline!0b10100000!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Operazioni sui numeri}
+\begin{itemize}
+\item \lstinline!2+3!
+\item \lstinline!5-7.5!
+\item \lstinline!4*12e3!
+\item \lstinline!7/3!
+\item \lstinline!5%2!
+\item \lstinline!3**7!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Confronto tra numeri}
+\begin{itemize}
+\item \lstinline!2 < 3!
+\item \lstinline!7.5 > 5!
+\item \lstinline!4 != 12e3!
+\item \lstinline!3 <= 7!
+\item \lstinline!5 >= 2!
+\item \lstinline!3 == 3!
+\end{itemize}
+\end{frame}
+
\subsection{Stringhe}
+\begin{frame}[fragile]\frametitle{Sintassi delle stringhe (1)}
+
+Stringhe racchiuse tra virgolette singole:
+
+\begin{itemize}
+\item \lstinline!'gino'!
+\item \lstinline!''!
+\item \lstinline!'con l\'apostrofo'!
+\item \lstinline!'su!\\
+\lstinline!tre!\\
+\lstinline!righe'!
+\item \lstinline!'con \\ backslash'!
+\item \lstinline!'backslash, poi n: \n'!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Sintassi delle stringhe (2)}
+
+Stringhe racchiuse tra virgolette doppie:
+
+\begin{itemize}
+\item \lstinline!"gino"!
+\item \lstinline!"con \"virgolette\"..."!
+\item \lstinline!"con \"a capo\" alla fine\n"!
+\item \lstinline!"con\ttabulazioni"!
+\item \lstinline!"multiple!\\
+\lstinline!righe"!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Operazioni sulle stringhe}
+\begin{itemize}
+\item \lstinline!'gino' . 'pino'!
+\item \lstinline!'nano' x 7!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Confronto tra stringhe}
+\begin{itemize}
+\item \lstinline!'gino' lt 'pino'!
+\item \lstinline!'nano' gt 'mano'!
+\item \lstinline!'str1' ne 'str2'!
+\item \lstinline!'abcd' le 'wxyz'!
+\item \lstinline!'piri' ge 'piri'!
+\item \lstinline!'buh' eq 'buh'!
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Conversioni implicite}
+
+\Perl\ converte tra numeri e stringhe a seconda di come vengono usati:
+
+\begin{itemize}
+\item \lstinline!'5'+3! \visible<2->{$\rightarrow$ \lstinline!8!}
+\item \lstinline!4 x 5! \visible<2->{$\rightarrow$ \lstinline!'44444'!}
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Conversioni e avvertimenti}
+\begin{itemize}
+\item mettete {\em sempre} \lstinline!use warnings;! all'inizio dei vostri programmi
+\item così, se scrivere \lstinline!'12gino'+3!, otterrete un messaggio di avvertimento:
+
+\texttt{Argument "12gino" isn't numeric in addition (+)}
+\end{itemize}
+
+\visible<2->{Otterrete anche molti altri avvertimenti utili. Usate {\em sempre} \lstinline!use strict;use warnings;!}
+
+\end{frame}
+
+\subsection{Variabili scalari}
+
+\begin{frame}[fragile]\frametitle{Nomi di variabile}
+\begin{itemize}
+\item i nomi di variabile scalare cominciano con \lstinline!$! %$
+\item \lstinline!$gino! %$
+\item \lstinline!$nome_1! %$
+\item \lstinline!$ultima_riga_letta! %$
+\end{itemize}
+
+\visible<2->{Cercate di dare nomi sensati alle variabili. \lstinline!$a! {\em non} è un nome sensato. \lstinline!$prezzo! è meglio.}
+
+\end{frame}
+
+\begin{frame}[fragile]\frametitle{Assegnamento}
+\begin{itemize}
+\item \lstinline!$prezzo_finale = $prezzo * (1+$iva/100)!
+\item \lstinline!$nome = 'gino'!
+\item \lstinline!$totale += $prezzo_finale!
+\item \lstinline!$nome .= ' ' . $cognome!
+\end{itemize}
+\end{frame}
+
\subsection{Input/Output} % print, <>, chomp
\subsection{\texttt{if} e \texttt{while}} % else, elsif