Skip to content

Commit 9d075b4

Browse files
committed
Copy printArray method from processing core
Signed-off-by: Umair Khan <[email protected]>
1 parent ff8fd7f commit 9d075b4

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

core/src/processing/core/PApplet.java

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3542,6 +3542,100 @@ static public void println(Object what) {
35423542
}
35433543
}
35443544
}
3545+
3546+
3547+
/**
3548+
* @webref output:text_area
3549+
* @param what one-dimensional array
3550+
* @usage IDE
3551+
* @see PApplet#print(byte)
3552+
* @see PApplet#println()
3553+
*/
3554+
static public void printArray(Object what) {
3555+
if (what == null) {
3556+
// special case since this does fuggly things on > 1.1
3557+
System.out.println("null");
3558+
3559+
} else {
3560+
String name = what.getClass().getName();
3561+
if (name.charAt(0) == '[') {
3562+
switch (name.charAt(1)) {
3563+
case '[':
3564+
// don't even mess with multi-dimensional arrays (case '[')
3565+
// or anything else that's not int, float, boolean, char
3566+
System.out.println(what);
3567+
break;
3568+
3569+
case 'L':
3570+
// print a 1D array of objects as individual elements
3571+
Object poo[] = (Object[]) what;
3572+
for (int i = 0; i < poo.length; i++) {
3573+
if (poo[i] instanceof String) {
3574+
System.out.println("[" + i + "] \"" + poo[i] + "\"");
3575+
} else {
3576+
System.out.println("[" + i + "] " + poo[i]);
3577+
}
3578+
}
3579+
break;
3580+
3581+
case 'Z': // boolean
3582+
boolean zz[] = (boolean[]) what;
3583+
for (int i = 0; i < zz.length; i++) {
3584+
System.out.println("[" + i + "] " + zz[i]);
3585+
}
3586+
break;
3587+
3588+
case 'B': // byte
3589+
byte bb[] = (byte[]) what;
3590+
for (int i = 0; i < bb.length; i++) {
3591+
System.out.println("[" + i + "] " + bb[i]);
3592+
}
3593+
break;
3594+
3595+
case 'C': // char
3596+
char cc[] = (char[]) what;
3597+
for (int i = 0; i < cc.length; i++) {
3598+
System.out.println("[" + i + "] '" + cc[i] + "'");
3599+
}
3600+
break;
3601+
3602+
case 'I': // int
3603+
int ii[] = (int[]) what;
3604+
for (int i = 0; i < ii.length; i++) {
3605+
System.out.println("[" + i + "] " + ii[i]);
3606+
}
3607+
break;
3608+
3609+
case 'J': // int
3610+
long jj[] = (long[]) what;
3611+
for (int i = 0; i < jj.length; i++) {
3612+
System.out.println("[" + i + "] " + jj[i]);
3613+
}
3614+
break;
3615+
3616+
case 'F': // float
3617+
float ff[] = (float[]) what;
3618+
for (int i = 0; i < ff.length; i++) {
3619+
System.out.println("[" + i + "] " + ff[i]);
3620+
}
3621+
break;
3622+
3623+
case 'D': // double
3624+
double dd[] = (double[]) what;
3625+
for (int i = 0; i < dd.length; i++) {
3626+
System.out.println("[" + i + "] " + dd[i]);
3627+
}
3628+
break;
3629+
3630+
default:
3631+
System.out.println(what);
3632+
}
3633+
} else { // not an array
3634+
System.out.println(what);
3635+
}
3636+
}
3637+
System.out.flush();
3638+
}
35453639

35463640
//
35473641

0 commit comments

Comments
 (0)