replace_letter now steal the history of the letter.
This commit is contained in:
parent
e02687c91b
commit
6428ab2c9e
@ -441,15 +441,30 @@ class AbstractPolynom(Explicable):
|
||||
>>> C = A.replace_letter(2)
|
||||
>>> C
|
||||
< Expression [2, 2, *, 1, +]>
|
||||
>>> e = Expression('2+3').simplify()
|
||||
>>> D = A.replace_letter(e)
|
||||
>>> D
|
||||
< Expression [2, 5, *, 1, +]>
|
||||
>>> for i in D.explain():
|
||||
... print(i)
|
||||
2 ( 2 + 3 ) + 1
|
||||
2 \times 5 + 1
|
||||
|
||||
"""
|
||||
exp_to_replace = Expression(letter)
|
||||
exp_to_replace.steal_history(letter)
|
||||
|
||||
postfix_exp = [
|
||||
Expression(letter) if i == self._letter
|
||||
exp_to_replace if i == self._letter
|
||||
else i
|
||||
for i in self.postfix_tokens
|
||||
]
|
||||
ini_step = Expression.develop_steps(postfix_exp)
|
||||
|
||||
return Expression(postfix_exp)
|
||||
ans = Expression(postfix_exp)
|
||||
ans.this_append_before(ini_step)
|
||||
|
||||
return ans
|
||||
|
||||
def __eq__(self, other):
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user