bytearray: Print objects properly.

This commit is contained in:
Paul Sokolovsky 2014-01-28 03:40:48 +02:00
parent 0b7e29c025
commit 1801421f6d
2 changed files with 11 additions and 9 deletions

View File

@ -124,19 +124,20 @@ static void array_set_el(mp_obj_array_t *o, int index, mp_obj_t val_in) {
static void array_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in, mp_print_kind_t kind) {
mp_obj_array_t *o = o_in;
if (o->typecode == BYTEARRAY_TYPECODE) {
print(env, "bytearray(", o->typecode);
print(env, "bytearray(b", o->typecode);
mp_str_print_quoted(print, env, o->items, o->len);
} else {
print(env, "array('%c'", o->typecode);
}
if (o->len > 0) {
print(env, ", [", o->typecode);
for (int i = 0; i < o->len; i++) {
if (i > 0) {
print(env, ", ");
if (o->len > 0) {
print(env, ", [", o->typecode);
for (int i = 0; i < o->len; i++) {
if (i > 0) {
print(env, ", ");
}
print(env, "%d", array_get_el(o, i));
}
print(env, "%d", array_get_el(o, i));
print(env, "]");
}
print(env, "]");
}
print(env, ")");
}

View File

@ -1,6 +1,7 @@
a = bytearray([1, 2, 200])
print(a[0], a[2])
print(a[-1])
print(a)
a[2] = 255
print(a[-1])
a.append(10)