|
|
|
|
|
by TuringTest
1263 days ago
|
|
>> The origin text that you're cutting will have a precise syntax determining where the block starts and ends. > Will it? Are you sure? Yes, it's defined as part of Python specification.
https://docs.python.org/3/reference/lexical_analysis.html#in... Indentation increasing or decreasing generates INDENT and DEDENT tokens, which are used as block delimiters. > Remember, we're talking about an IDE automatically figuring out proper indentation for something. The IDE doesn't need to figure out whether the program is correct. Only has to treat code blocks as defined by the language syntax. In your linked example: if x > 0:
function1()
function2()
function3()
if x > 0:
function1()
function2()
function3()
The IDE should treat the blocks as if defined with delimiters this way: if x > 0: {
function1()
function2()
function3()
}
if x > 0: {
function1()
function2()
}
function3()
Because that's how Python will interpret them. So, the IDE would do exactly the same behavior with curly bracket delimiters and with changes in indentation, because in both cases there is a precise rule to define where blocks start and end. |
|