Add list/text join/split block.

This commit is contained in:
Neil Fraser
2015-01-18 16:54:30 -08:00
parent 8dce3aa271
commit e69f5f4502
71 changed files with 1128 additions and 476 deletions

View File

@@ -311,3 +311,24 @@ Blockly.Python['lists_getSublist'] = function(block) {
var code = list + '[' + at1 + ' : ' + at2 + ']';
return [code, Blockly.Python.ORDER_MEMBER];
};
Blockly.Python['lists_split'] = function(block) {
// Block for splitting text into a list, or joining a list into text.
var mode = block.getFieldValue('MODE');
if (mode == 'SPLIT') {
var value_input = Blockly.Python.valueToCode(block, 'INPUT',
Blockly.Python.ORDER_MEMBER) || '\'\'';
var value_delim = Blockly.Python.valueToCode(block, 'DELIM',
Blockly.Python.ORDER_NONE);
var code = value_input + '.split(' + value_delim + ')';
} else if (mode == 'JOIN') {
var value_input = Blockly.Python.valueToCode(block, 'INPUT',
Blockly.Python.ORDER_NONE) || '[]';
var value_delim = Blockly.Python.valueToCode(block, 'DELIM',
Blockly.Python.ORDER_MEMBER) || '\'\'';
var code = value_delim + '.join(' + value_input + ')';
} else {
throw 'Unknown mode: ' + mode;
}
return [code, Blockly.Python.ORDER_FUNCTION_CALL];
};