Expand: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Die Funktion ''expand'' ist veraltet und wird in Jack3 nicht mehr unterstützt. Bitte nicht mehr verwenden!'''
Jack3: Die Funktion ist nicht mehr notwendig, da Ausdrücke jetzt immer automatisch ausmultipliziert werden.
==Zugehörige Evaluatoren==
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''expand'' multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.
Die Funktion ''expand'' multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.


===Syntax===
===Syntax===
  expand(Expression term)
  expand([[Ausdruck]] term)


===Parameter===
===Parameter===
* '''term''' - der Ausdruck, der ausmultipliziert wird.
* '''term''' - der [[Ausdruck]], der ausmultipliziert wird.


===Return Value===
===Return Value===
Zeile 14: Zeile 20:
  expand('2*(a+b)')    --> returns '2*a+2*b'
  expand('2*(a+b)')    --> returns '2*a+2*b'


====JUnit Tests====
[[Kategorie:Ausdruckfunktionen]][[Kategorie:JACK2]]
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("1"));
  placeFillInVariable(2, OMParser.parse("5"));
  placeExerciseVariable("a", OMParser.parse("1"));
  placeExerciseVariable("b", OMParser.parse("5"));
}
@Test
public void testExpand() {
  assertTrue("'2*a+2*b'".equals(getEvaluator().getResultAsEvaluatorString("expand('2*(a+b)')")));
  assertTrue("'3*a'".equals(getEvaluator().getResultAsEvaluatorString("expand('2*a+a')")));
  assertTrue("'2*a+c'".equals(getEvaluator().getResultAsEvaluatorString("expand('2*a+c')")));
}
@Test
public void testExpandWithInput() {
  assertTrue("'x+5*y'".equals(getEvaluator().getResultAsEvaluatorString("expand('[pos=1]x+[pos=2]y')")));
}
@Test
public void testExpandWithVariables() {
  assertTrue("'x+5*y'".equals(getEvaluator().getResultAsEvaluatorString("expand('[var=a]x+[var=b]y')")));
}
@Test
public void testExpandWithONECharacter() {
  assertTrue("'a'".equals(getEvaluator().getResultAsEvaluatorString("expand(a)")));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testExpandWithEmptyStringArgument() {
  getEvaluator().getResultAsEvaluatorString(("expand('')"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testExpandWithEmptyArgument() {
  getEvaluator().getResultAsEvaluatorString(("expand()"));
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testExpandWithoutExerciseVariable() {
  getEvaluator().getResultAsEvaluatorString("expand([var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testExpandWithoutInput() {
  getEvaluator().getResultAsEvaluatorString("expand([pos=42])");
}
</syntaxhighlight>
===Hinweise===
 
[[Kategorie:Evaluatorfunktion]]

Aktuelle Version vom 27. März 2024, 14:31 Uhr

Die Funktion expand ist veraltet und wird in Jack3 nicht mehr unterstützt. Bitte nicht mehr verwenden!
Jack3: Die Funktion ist nicht mehr notwendig, da Ausdrücke jetzt immer automatisch ausmultipliziert werden.


Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion expand multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.

Syntax

expand(Ausdruck term)

Parameter

  • term - der Ausdruck, der ausmultipliziert wird.

Return Value

  • Gibt den ausmultiplizierten Wert des Ausdrucks zurück.

Beispiele

expand('2*(a+b)')    --> returns '2*a+2*b'