Concat: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''concat'' fügt einer Zeichenkette eine zweite Zeichenkette unmittelbar an, so dass eine einzige Zeichenkette entsteht. Die Funktion erwartet zwei Strings und gibt einen String zurück.
Die Funktion ''concat'' fügt Zeichenketten unmittelbar aneinander, so dass eine einzige Zeichenkette entsteht. Die Funktion erwartet zwei oder mehr Zeichenketten und gibt eine Zeichenkette zurück.


=== Syntax ===
=== Syntax ===
  concat(String zeichenkette1, String zeichenkette2)
  concat([[Zeichenkette]] zeichenkette1, [[Zeichenkette]] zeichenkette2)


=== Parameter ===
=== Parameter ===
Zeile 15: Zeile 18:
==== Standardfälle ====
==== Standardfälle ====
  concat('hallo','welt')  --> returns 'hallowelt'
  concat('hallo','welt')  --> returns 'hallowelt'
concat('hallo','welt','!')  --> returns 'hallowelt!'
==== Benutzung mit Variablen ====
concat('anfang', [var=a])
concat([var=b], 'welt')


==== Benutzung von Variablen ====
==== Benutzung mit studentischen Eingaben ====
concat('[pos=1]','ende')
concat('anfang','[var=a]')
concat('[var=b]','[pos=2]')


====JUnit Tests====
'''Jack2:'''
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
  concat([pos=1],'ende')
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
concat([var=b],[pos=2])
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("Hallo"));
  placeExerciseVariable("a", OMParser.parse("Hallo"));
}
@Test
public void testConcat() {
  assertTrue("'HalloHallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('Hallo','Hallo')")));
  assertTrue("'Hallo Hallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('Hallo ',' Hallo')")));
  assertTrue("' '".equals(getEvaluator().getResultAsEvaluatorString("concat(' ','')")));
  assertTrue("' '".equals(getEvaluator().getResultAsEvaluatorString("concat('',' ')")));
}
@Test
public void testConcatWithInput() {
  assertTrue("'HalloHallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('[pos=1]','[pos=1]')")));
}
@Test
public void testConcatWithVariables() {
  assertTrue("'HalloHallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('[var=a]','[var=a]')")));
}


@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
'''Jack3:'''
public void testConcatWithWrongInputCharacter() {
concat([input=field1],'ende')
  getEvaluator().getResultAsEvaluatorString("concat(a,'abcd')");
concat([var=b],[input=field2])
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithOneArgument() {
  getEvaluator().getResultAsEvaluatorString("concat('abcd')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithOneRationalAndOneTextArgument() {
  getEvaluator().getResultAsEvaluatorString("concat(12, 'abcd')");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithTwoRationalArguments() {
  getEvaluator().getResultAsEvaluatorString("concat(12, 14)");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithThreeArguments() {
  getEvaluator().getResultAsEvaluatorString("concat('abcd', 'efg', 'hij')");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testConcatWithMissingExcerciseVariable() {
  getEvaluator().getResultAsEvaluatorString("concat('[var=j]','abcd')");
}
@Test (expected=UndefinedFillInVariableException.class)
public void testConcatWithMissingInput() {
  getEvaluator().getResultAsEvaluatorString("concat([pos=42],'abcd')");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
* Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Zeichenkettenfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 15. April 2024, 12:33 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion concat fügt Zeichenketten unmittelbar aneinander, so dass eine einzige Zeichenkette entsteht. Die Funktion erwartet zwei oder mehr Zeichenketten und gibt eine Zeichenkette zurück.

Syntax

concat(Zeichenkette zeichenkette1, Zeichenkette zeichenkette2)

Parameter

  • zeichenkette1 - erste Zeichenkette
  • zeichenkette2 - zweite Zeichenkette, die der ersten angehängt werden soll

Return Value

  • Gibt einen String zurück

Beispiele

Standardfälle

concat('hallo','welt')   --> returns 'hallowelt'

concat('hallo','welt','!')   --> returns 'hallowelt!'

Benutzung mit Variablen

concat('anfang', [var=a])
concat([var=b], 'welt')

Benutzung mit studentischen Eingaben

Jack2:
concat([pos=1],'ende')
concat([var=b],[pos=2])
Jack3:
concat([input=field1],'ende')
concat([var=b],[input=field2])

Hinweise

  • Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
  • Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.