fix string/array (sequence) multiplications with integer.

This commit is contained in:
Dave Halter
2014-06-26 00:49:56 +02:00
parent 47205dd7f3
commit bdcbac160b
3 changed files with 10 additions and 8 deletions

View File

@@ -250,6 +250,8 @@ def _element_calculate(evaluator, left, operator, right):
# for iterables, ignore * operations
if isinstance(left, iterable.Array) or _is_string(left):
return [left]
elif isinstance(right, iterable.Array) or _is_string(right):
return [right]
elif operator == '+':
if _is_number(left) and _is_number(right) or _is_string(left) and _is_string(right):
return [create(evaluator, left.obj + right.obj)]

View File

@@ -56,14 +56,6 @@ a = ['']*2
#? list()
a
a = 2*2
#? int()
a
a = "a"*3
#? str()
a
# -----------------
# tuple assignments
# -----------------

View File

@@ -41,6 +41,14 @@ x = 'upp' + 'e'
#? str.upper
getattr(str, x + 'r')
a = "a"*3
#? str()
a
a = 3 * "a"
#? str()
a
# -----------------
# assignments
# -----------------