Skip to content

Fix Context Managers examples #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 15, 2017
Merged

Fix Context Managers examples #3

merged 1 commit into from
Feb 15, 2017

Conversation

FHeilmann
Copy link
Contributor

\begincenter and \endcenter don't exist in LaTeX and the example code does not produce the expected result due to missing escape sequences for the backslash and curly braces. The example changes once you switch to raw strings, where backslashes do not need to be escaped, but curly braces still do.

I have fixed the strings and outputs, and changed the 2nd and 3rd example to use simple strings instead of raw strings. Readers may not catch that the switch happens which adds to confusion since backslashes need to be escaped in simple strings, but not in raw strings.

You also may want to consider adding a note, that even through the output will display two backslashes, the actual string only has one backslash.

Finally the may_error() part could become very confusing, especially when people execute the code and get different results from the ones you printed and, even worse, potentially varying results if they run the example multiple times.

`\begincenter` and  `\endcenter` don't exist in LaTeX and the example code does not produce the expected result due to missing escape sequences for the backslash and curly braces. The example changes once you switch to raw strings, where backslashes do not need to be escaped, but curly braces still do.

I have fixed the strings and outputs, and changed the 2nd and 3rd example to use simple strings instead of raw strings. Readers may not catch that the switch happens which adds to confusion since backslashes need to be escaped in simple strings, but not in raw strings.

You also may want to consider adding a note, that even through the output will display two backslashes, the actual string only has one backslash. 

Finally the `may_error()` part could become very confusing, especially when people execute the code and get different results from the ones you printed and, even worse, potentially varying results if they run the example multiple times.
@mattharrison mattharrison merged commit b816e00 into mattharrison:master Feb 15, 2017
@mattharrison
Copy link
Owner

Thanks for the PR. may_error illustrates that the exit block will always run even if there was an exception. I understand it is somewhat contrived.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants