Trim: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''trim'' entfernt aus einer Zeichenkette alle am Anfang und am Ende stehende Leerzeichen. Die Funktion erwartet einen String und gibt eine modifizierte Zeichenkette als String zurück.
Die Funktion ''trim'' entfernt aus einer Zeichenkette alle am Anfang und am Ende stehende Leerzeichen. Die Funktion erwartet eine [[Zeichenkette]] und gibt eine modifizierte [[Zeichenkette]] zurück.


=== Syntax ===
=== Syntax ===
  trim(String zeichenkette)
  trim([[Zeichenkette]] zeichenkette)


=== Parameter ===
=== Parameter ===
* '''zeichenkette''' - die Zeichenkette bei der die am Anfang und Ende befindlichen Leerzeichen entfernt werden sollen
* '''zeichenkette''' - die [[Zeichenkette]] bei der die am Anfang und Ende befindlichen Leerzeichen entfernt werden sollen


=== Return Value ===
=== Return Value ===
* Gibt einen Stringzurück
* Gibt eine [[Zeichenkette]] zurück


=== Beispiele ===
=== Beispiele ===
====Standardfälle====
====Standardfälle====
  trim('    Leerzeichen wurden entfernt      ')  --> returns 'Leerzeichen wurden entfernt'
  trim('    Leerzeichen wurden entfernt      ')  --> returns 'Leerzeichen wurden entfernt'
  trim('  hello')  --> returns 'hello'
  trim('  hello')  --> returns 'hello'


====Benutzung mit Variablen====
====Benutzung mit Variablen====
  trim('[pos=1]')
  '''JACK2:'''
  trim('[var=a]')
  trim('[var=a]')


====JUnit Tests====
'''JACK3:'''
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
trim([var=a])
@Before
 
public void beforeTest(){
====Benutzung mit studentischen Eingaben====
  placeFillInVariable(1, OMParser.parse("hello"));
'''JACK2:'''
trim('[pos=1]')


  placeExerciseVariable("a", OMParser.parse("hello"));
'''JACK3:'''
}
trim([input=field1])
@Test public void testTrim(){
  assertTrue("'hello'".equals(getEvaluator().getResultAsEvaluatorString("trim(' hello')")));
  assertTrue("'hello'".equals(getEvaluator().getResultAsEvaluatorString("trim('hello ')")));
  assertTrue("'hello'".equals(getEvaluator().getResultAsEvaluatorString("trim(' hello ')")));
  assertTrue("'hel lo'".equals(getEvaluator().getResultAsEvaluatorString("trim(' hel lo ')")));
}
@Test
public void testTrimWithExpression(){
  assertTrue("'w o r k'".equals(getEvaluator().getResultAsEvaluatorString("trim(trim(' w o r k '))")));
  assertTrue("'w o r k'".equals(getEvaluator().getResultAsEvaluatorString("trim(trim(trim(' w o r k ')))")));
}
@Test public void testTrimWithInput(){
  assertTrue("'hello'".equals(getEvaluator().getResultAsEvaluatorString("trim(' [pos=1] ')")));
}
@Test public void testTrimWithVariables(){
  assertTrue("'hello'".equals(getEvaluator().getResultAsEvaluatorString("trim(' [var=a] ')")));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testTrimWithWrongInputCharacter(){
  getEvaluator().getResultAsEvaluatorString("trim(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testTrimWithTwoArguments(){
  getEvaluator().getResultAsEvaluatorString("trim(' a', 'a ')");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testTrimWithThreeArguments(){
  getEvaluator().getResultAsEvaluatorString("trim(' a', 'a ', ' a ')");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testTrimWithMissingExerciseVariable(){
  getEvaluator().getResultAsEvaluatorString("trim('[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testTrimWithMissingInput(){
  getEvaluator().getResultAsEvaluatorString("trim('[pos=42]')");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Es werden keine Leerzeichen zwischen den Wörtern der Zeichenkette entfernt.
* Es werden keine Leerzeichen zwischen den Wörtern der Zeichenkette entfernt, sondern nur die Leerzeichen am Anfang oder am Ende.
* '''Im Moment werden jedoch alle Leerzeichen entfernt!'''


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

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

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion trim entfernt aus einer Zeichenkette alle am Anfang und am Ende stehende Leerzeichen. Die Funktion erwartet eine Zeichenkette und gibt eine modifizierte Zeichenkette zurück.

Syntax

trim(Zeichenkette zeichenkette)

Parameter

  • zeichenkette - die Zeichenkette bei der die am Anfang und Ende befindlichen Leerzeichen entfernt werden sollen

Return Value

Beispiele

Standardfälle

trim('     Leerzeichen wurden entfernt      ')   --> returns 'Leerzeichen wurden entfernt'

trim('   hello')   --> returns 'hello'

Benutzung mit Variablen

JACK2:
trim('[var=a]')
JACK3:
trim([var=a])

Benutzung mit studentischen Eingaben

JACK2:
trim('[pos=1]')
JACK3:
trim([input=field1])

Hinweise

  • Es werden keine Leerzeichen zwischen den Wörtern der Zeichenkette entfernt, sondern nur die Leerzeichen am Anfang oder am Ende.