Herramientas de usuario

Herramientas del sitio


es:manual:spsl

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:spsl [2026/02/17 15:13] – rootes:manual:spsl [2026/09/26 16:35] (actual) – [@File / @End] root
Línea 469: Línea 469:
  
 En caso de que la respuesta se considere correcta, es decir, cuando la ejecución ha llegado al final del //script de procesamiento//, nunca se añade el resultado de la instrucción del sistema operativo. Solo se hace cuando como resultado de una prueba se ha detectado un error. En caso de que la respuesta se considere correcta, es decir, cuando la ejecución ha llegado al final del //script de procesamiento//, nunca se añade el resultado de la instrucción del sistema operativo. Solo se hace cuando como resultado de una prueba se ha detectado un error.
 +
 +==== @File / @End ====
 +Esta //sentencia de control// indica al script que el contenido que viene a continuación debe guardarse en un fichero de nombre //fileName//
 +
 +La sintaxis es la siguiente:
 +
 +;#;
 +''@File'' <typo fs:small>fileName</typo>
 +;#;
 +;#;
 +....
 +;#;
 +;#;
 +''@End''
 +;#;
 +
 +Por ejemplo, sea el siguiente //script de procesamiento// que comprueba si un programa en Python ha definido correctamente la función ''factoria(n)'' mediante una serie de pruebas unitarias:
 +
 +   @File factorial.txt
 +   factorial (3) => 6
 +   factorial (5) => 120
 +   factorial (7) => 5040
 +   factorial (-1) => None
 +   @End
 +   @Command on
 +   python3 check.py factorial.txt  == ok -> Correcto : Incorrecto
 +
 +El trozo de código comprendido entre ''@File'' y ''@End'' se guardará en un fichero ''factorial.txt'' en el directorio de trabajo. Este nombre se usa en la instrucción final como entrada a un programa Python que hace las comprobaciones que el fichero indica.
 +
 +Esta opción es una alternativa al uso de ficheros en el [[es:manual:items:externosfichero#directorio de trabajo]] , ya que en casos simples como este no es necesario establecer un [[es:manual:items:externosfichero#directorio base]].
 +
 +
  
 ==== Variables ==== ==== Variables ====
Línea 542: Línea 574:
 Aunque no es obligatorio, el uso del bucle ''for'' suele ir asociado a los modos de evaluación ''@Eval add all'' y ''@OnError continue'', que realiza todas las pruebas y contabiliza las que obtiene un resultado positivo, descontando o no las pruebas con resultado negativo.  Aunque no es obligatorio, el uso del bucle ''for'' suele ir asociado a los modos de evaluación ''@Eval add all'' y ''@OnError continue'', que realiza todas las pruebas y contabiliza las que obtiene un resultado positivo, descontando o no las pruebas con resultado negativo. 
 ==== Comentarios ==== ==== Comentarios ====
-Cualquier línea que comience con el caracter ''#'' se considera un comentario, y se ignora completamente. Los espacios en blanco no se tienen en cuanta mas que para separar los diferentes elemntos del lenguaje.+Cualquier línea que comience con el caracter ''#'' se considera un comentario, y se ignora completamente. Los espacios en blanco no se tienen en cuanta mas que para separar los diferentes elemrntos del lenguaje.
  
 ==== Gramática ==== ==== Gramática ====
Línea 555: Línea 587:
  |  forSent LF  |  forSent LF
 controlSent → patternType fileExecFlag “:” patternOptions controlSent → patternType fileExecFlag “:” patternOptions
 + | “@File” fileName
  | “@OnError” errorOption  | “@OnError” errorOption
  | “@Eval” evalOption         | “@Eval” evalOption       
Línea 560: Línea 593:
  | “@Answer” label     | “@Answer” label   
  | “@ssh”   | “@ssh” 
-    
  | “@timeout” NUMBER     | “@timeout” NUMBER   
          | “@command” commandOption             | “@command” commandOption   
es/manual/spsl.1771341201.txt.gz · Última modificación: (editor externo)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki