kopia lustrzana https://github.com/backface/turtlestitch
distinguish between "transpose" (<3D) and "deep transpose"
rodzic
4eeb2e7567
commit
858fa17599
|
@ -20,6 +20,9 @@
|
|||
* **Translation Updates:**
|
||||
* German
|
||||
|
||||
### 2021-02-12
|
||||
* blocks, threads, lists: distinguish between "transpose" (<3D) and "deep transpose"
|
||||
|
||||
### 2021-02-11
|
||||
* objects: rearranged the blocks in the lists category palette
|
||||
* lists: fixed list.reverse() to return a shallow copy instead of mutating the original
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
<script src="src/morphic.js?version=2021-02-10"></script>
|
||||
<script src="src/symbols.js?version=2020-10-07"></script>
|
||||
<script src="src/widgets.js?version=2021-01-05"></script>
|
||||
<script src="src/blocks.js?version=2021-02-09"></script>
|
||||
<script src="src/threads.js?version=2021-02-10"></script>
|
||||
<script src="src/blocks.js?version=2021-02-12"></script>
|
||||
<script src="src/threads.js?version=2021-02-12"></script>
|
||||
<script src="src/objects.js?version=2021-02-11"></script>
|
||||
<script src="src/gui.js?version=2021-02-04"></script>
|
||||
<script src="src/paint.js?version=2020-05-17"></script>
|
||||
<script src="src/lists.js?version=2021-02-11"></script>
|
||||
<script src="src/lists.js?version=2021-02-12"></script>
|
||||
<script src="src/byob.js?version=2020-12-22"></script>
|
||||
<script src="src/tables.js?version=2020-10-06"></script>
|
||||
<script src="src/sketch.js?version=2020-07-13"></script>
|
||||
|
|
|
@ -158,7 +158,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
|
|||
|
||||
// Global stuff ////////////////////////////////////////////////////////
|
||||
|
||||
modules.blocks = '2021-February-09';
|
||||
modules.blocks = '2021-February-12';
|
||||
|
||||
var SyntaxElementMorph;
|
||||
var BlockMorph;
|
||||
|
@ -471,6 +471,7 @@ SyntaxElementMorph.prototype.labelParts = {
|
|||
'dimensions' : ['dimensions'],
|
||||
'flatten' : ['flatten'],
|
||||
'transpose' : ['transpose'],
|
||||
'deep transpose' : ['deep transpose'],
|
||||
'reverse' : ['reverse'],
|
||||
'~' : null,
|
||||
'lines' : ['lines'],
|
||||
|
|
13
src/lists.js
13
src/lists.js
|
@ -63,7 +63,7 @@ MorphicPreferences, TableDialogMorph, SpriteBubbleMorph, SpeechBubbleMorph,
|
|||
TableFrameMorph, TableMorph, Variable, isSnapObject, Costume, contains, detect,
|
||||
ZERO, WHITE*/
|
||||
|
||||
modules.lists = '2021-February-11';
|
||||
modules.lists = '2021-February-12';
|
||||
|
||||
var List;
|
||||
var ListWatcherMorph;
|
||||
|
@ -572,13 +572,16 @@ List.prototype.flatten = function () {
|
|||
};
|
||||
|
||||
List.prototype.transpose = function () {
|
||||
// answer a 2D list where each item has turned into a row,
|
||||
// convert atomic items into lists,
|
||||
// fill ragged columns with atomic values, if any, or empty cells
|
||||
|
||||
if (this.rank() > 2) {
|
||||
return this.strideTranspose();
|
||||
}
|
||||
return this.transpose2D();
|
||||
};
|
||||
|
||||
List.prototype.transpose2D = function () {
|
||||
// answer a 2D list where each item has turned into a row,
|
||||
// convert atomic items into lists,
|
||||
// fill ragged columns with atomic values, if any, or empty cells
|
||||
|
||||
var col, src, i,
|
||||
width = Math.max(this.width(), 1),
|
||||
|
|
|
@ -61,7 +61,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy, Map,
|
|||
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, BLACK,
|
||||
TableFrameMorph, ColorSlotMorph, isSnapObject, newCanvas, Symbol, SVG_Costume*/
|
||||
|
||||
modules.threads = '2021-February-10';
|
||||
modules.threads = '2021-February-12';
|
||||
|
||||
var ThreadManager;
|
||||
var Process;
|
||||
|
@ -1988,6 +1988,9 @@ Process.prototype.reportListAttribute = function (choice, list) {
|
|||
case 'flatten':
|
||||
return list instanceof List ? list.ravel() : new List([list]);
|
||||
case 'transpose':
|
||||
this.assertType(list, 'list');
|
||||
return list.transpose2D();
|
||||
case 'deep transpose':
|
||||
this.assertType(list, 'list');
|
||||
return list.transpose();
|
||||
case 'reverse':
|
||||
|
|
Ładowanie…
Reference in New Issue