[LON-CAPA-cvs] cvs: loncom /html/adm/help/tex Spreadsheet_Functions.tex

lira lira at source.lon-capa.org
Sat Jan 2 23:45:45 EST 2016

lira		Sun Jan  3 04:45:45 2016 EDT

  Modified files:              
    /loncom/html/adm/help/tex	Spreadsheet_Functions.tex 
  add example of compact 'if'. fix formatting.
Index: loncom/html/adm/help/tex/Spreadsheet_Functions.tex
diff -u loncom/html/adm/help/tex/Spreadsheet_Functions.tex:1.9 loncom/html/adm/help/tex/Spreadsheet_Functions.tex:1.10
--- loncom/html/adm/help/tex/Spreadsheet_Functions.tex:1.9	Mon Aug 23 16:16:18 2010
+++ loncom/html/adm/help/tex/Spreadsheet_Functions.tex	Sun Jan  3 04:45:45 2016
@@ -1,6 +1,6 @@
 The following special functions are available in the spreadsheet.
-Please see Referencing Cells (\ref{Spreadsheet_Referencing_Cells})
+Please see \textbf{Referencing Cells} (\ref{Spreadsheet_Referencing_Cells})
 for information on specifying cells and ranges.
@@ -41,7 +41,7 @@
 \item \texttt{\&EXT(expression)} - access to EXT function in lonnet.
-Use \texttt{\&EXT('system.time')} to retrieve the current time.
+Use \texttt{\&EXT(`system.time')} to retrieve the current time.
 \item \texttt{\&PARM(parameter)} - get the value of a specific parameter 
@@ -66,13 +66,13 @@
-\item \texttt{\&SUMSEQ('Z','Chapter 1');}
+\item \texttt{\&SUMSEQ(`Z',`Chapter 1');}
-\item \texttt{\&SUMSEQ('Z','Chapter 1','Chapter 2','Chapter 3');}
+\item \texttt{\&SUMSEQ(`Z',`Chapter 1',`Chapter 2',`Chapter 3');}
-\item \texttt{\&SUMSEQ('Z','all');} - sum over all sequences.
+\item \texttt{\&SUMSEQ(`Z',`all');} - sum over all sequences.
-\item \texttt{\&SUMSEQ('Z','regexp:Large Biomolecules');} -
+\item \texttt{\&SUMSEQ(`Z',`regexp:Large Biomolecules');} -
  sum over all sequences which match the regular expression 
 /Large Biomolecules/.
@@ -80,4 +80,23 @@
-In addition, most non-IO Perl functions work in cells.
+In addition, most non-IO Perl functions work in cells. Perl offers a compact \texttt{if} structure using the logic
+\texttt{TEST\char`_EXPR?IF\char`_TRUE\char`_EXPR\char`:IF\char`_FALSE\char`_EXPR;}. The \texttt{if} statements can be nested. For example, to scale the points awarded on the assessment spreadsheet (by default in \texttt{Z0}) with the number of tries (by default in \texttt{C0}), the adjusted score can be programmed in an empty cell in assessment spreadsheet row 0, where\\
+\texttt{C0$>$2 ? (0.5*Z0) \char`: (C0$>$1 ? (0.75*Z0) \char`: Z0);}\\
+is equivalent to
+if (C0 > 2) {
+  $cellvalue = 0.5*Z0; 
+} elsif (C0 > 1) {
+  $cellvalue = 0.75*Z0;
+} else {$cellvalue = Z0;}
+Use of parantheses is usually necessary in the compact \texttt{if} statement to assure correct precedence.

More information about the LON-CAPA-cvs mailing list