es:manual:spsl
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
es:manual:spsl [2023/09/12 18:26] – [Gramática] root | es:manual:spsl [2023/11/16 10:28] (actual) – [@OnError skip / @OnError recover] root | ||
---|---|---|---|
Línea 109: | Línea 109: | ||
Si no hay ninguna //sentencia de control// para cambiar el patrón, por defecto se usa el [[es: | Si no hay ninguna //sentencia de control// para cambiar el patrón, por defecto se usa el [[es: | ||
- | ==== Sentencias de prueba simple ==== | + | ==== Sentencias de prueba simple. Salida directa |
La opción mas sencilla son las // | La opción mas sencilla son las // | ||
Línea 115: | Línea 115: | ||
grep -l function test.txt | grep -l function test.txt | ||
- | En este caso la sentencia de prueba | + | En este caso la sentencia de prueba |
==== Ejecución de una lista de sentencias de prueba ==== | ==== Ejecución de una lista de sentencias de prueba ==== | ||
Línea 125: | Línea 125: | ||
| | ||
- | Evidntemente | + | Evidentemente |
- | prueba se satisface, por lo que el script no termina, sino que continúa ejecutandose. Supongamos que la segunda | + | prueba se satisface, por lo que el script no termina, sino que continúa ejecutandose. Supongamos que la segunda |
''< | ''< | ||
Línea 134: | Línea 134: | ||
si no es necesario diferenciar entre uno u otro caso. | si no es necesario diferenciar entre uno u otro caso. | ||
+ | |||
+ | ==== @Answer label ==== | ||
+ | Cuando se trata de preguntas simples, Siette solo espera una respuesta tras la ejecución del script de verificación del fichero. Ahora bien, en el caso de preguntas compuestas, es necesario devolver una respuesta por cada una de las subpreguntas. | ||
+ | |||
+ | Cuando se usan preguntas compuestas con fichero, el script correspondiente a la pregunta compuesta se obtiene mediante la concatenación de los scripts de cada una de las subpreguntas. La etiqeuta '' | ||
+ | |||
+ | Este proceso es transparente al usuario, ya que al construir la pregunta externa de fichero, si se trata de una pregunta compuesta, Siette se preocupa de añadir para cada una de las subpreguntas la opción '' | ||
+ | |||
+ | Podriamos decir que la sentencia '' | ||
==== @OnError stop ==== | ==== @OnError stop ==== | ||
- | El modo descrito | + | El modo descrito |
Supongamos un conjunto de sentencias de prueba | Supongamos un conjunto de sentencias de prueba | ||
Línea 179: | Línea 188: | ||
- | ==== @OnError skip ==== | + | ==== @OnError skip / @OnError recover |
- | Esta //sentencia de control// se usa en combinación con la //sentencia de control// '' | + | Esta //sentencia de control// se usa en combinación con la //sentencia de control// '' |
@OnError skip | @OnError skip | ||
+ | instr1 | ||
+ | instr2 | ||
+ | instr3 | ||
+ | @OnError recover | ||
+ | instr4 | ||
+ | instr5 | ||
+ | @OnError recover | ||
+ | instr6 | ||
+ | instr7 | ||
+ | ... | ||
+ | |||
+ | La ejecución comienza lanzando la instrucción instr< | ||
+ | instr< | ||
+ | |||
+ | Nótese que la //sentencia de control// '' | ||
+ | |||
+ | === Preguntas compuestas === | ||
+ | |||
+ | Un caso especial y muy frecuente del uso de estas // | ||
+ | |||
+ | @OnError skip | ||
+ | instr(0, | ||
+ | ... | ||
+ | |||
@Answer label(1) | @Answer label(1) | ||
+ | @OnError recover | ||
instr(1, | instr(1, | ||
instr(1, | instr(1, | ||
Línea 193: | Línea 227: | ||
| | ||
@Answer label(2) | @Answer label(2) | ||
+ | @OnError recover | ||
instr(2, | instr(2, | ||
instr(2, | instr(2, | ||
Línea 202: | Línea 237: | ||
| | ||
@Answer label(3) | @Answer label(3) | ||
+ | @OnError recover | ||
instr(3, | instr(3, | ||
... | ... | ||
+ | Si suponemos que las // | ||
- | Si suponemos | + | La instrucción '' |
- | Además de producirse el salto, la instrucción '' | ||
- | |||
- | ==== @Answer label ==== | ||
- | Cuando se trata de preguntas simples, Siette solo espera una respuesta tras la ejecución del script de verificación del fichero. Ahora bien, en el caso de preguntas compuestas, es necesario devolver una respuesta por cada una de las subpreguntas. | ||
- | |||
- | Cuando se usan preguntas compuestas con fichero, el script correspondiente a la pregunta compuesta se obtiene mediante la concatenación de los scripts de cada una de las subpreguntas. La etiqeuta '' | ||
- | |||
- | Este proceso es transparente al usuario, ya que al construir la pregunta externa de fichero, si se trata de una pregunta compuesta, Siette se preocupa de añadir para cada una de las subpreguntas la opción '' | ||
- | |||
- | Podriamos decir que la sentencia '' | ||
| | ||
==== @Eval add all ==== | ==== @Eval add all ==== | ||
- | Esta sentencia de control indica que cuando se devuelve un valo a Siette se deben //sumar// todas las etiquetas que se hayan producido, y no solamente utilizar la última. Evidentemente esto solo puede hacerse si las etiquetas tienen un valor numérico. Si no lo tienen o no se han escrito etiquetas en la //sentencia de prueba//, se tomara como valor 0. | + | Esta sentencia de control indica que cuando se devuelve un valor a Siette se deben //sumar// todas las etiquetas que se hayan producido, y no solamente utilizar la última. Evidentemente esto solo puede hacerse si las etiquetas tienen un valor numérico. Si no lo tienen o no se han escrito etiquetas en la //sentencia de prueba//, se tomara como valor 0. |
- | Por ejemplo, supongamos que se quiere comprobar si un programa en [[wp> | + | Por ejemplo, supongamos que se quiere comprobar si un programa en [[wp> |
| |
es/manual/spsl.1694543208.txt.gz · Última modificación: 2023/09/12 18:26 por root