Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 1 | SYNOPSIS |
| 2 | mixed * transpose_array(mixed *arr) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 3 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 4 | BESCHREIBUNG |
| 5 | Transponiert das Array <arr>. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 6 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 7 | transpose_array( ({ ({1,2,3}) , ({a,b,c}) }) ) |
| 8 | ergibt: ({ ({1,a}), ({2,b}), ({3,c}) }) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 9 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 10 | Wird transpose_array() auf eine Alist angewendet, ergibt das ein |
| 11 | Array von ({ key, data }) in Paaren. Das ist praktisch, wenn |
| 12 | sort_array() oder filter() auf die Alist angewendet werden soll. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 13 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 14 | BEISPIELE |
| 15 | sort_array(transpose_array( ({m_indices(map), m_values(map) }) ), |
| 16 | lambda( ({'a, 'b}), |
| 17 | ({#'<, ({ #'[, 'a, 0}), |
| 18 | ({ #'[, 'b, 0}) }) )); |
| 19 | Dieses Gebilde liefert das Mapping 'map' als Array von ({key, data }) |
| 20 | Paaren, sortiert nach den Keys. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 22 | SIEHE AUCH |
| 23 | alists(LPC), sort_array(E) |