define it as ( __LINE__ % 10) so that the problem goes away when you add a debug statement
Can someone ELI5 what this does?
__LINE__ returns the line of code its on, and % 10 means "remainder 10." Examples:
__LINE__
% 10
1 % 10 == 1 ... 8 % 10 == 8 9 % 10 == 9 10 % 10 == 0 <-- loops back to 0 11 % 10 == 1 12 % 10 == 2 ... 19 % 10 == 9 20 % 10 == 0 21 % 10 == 1
In code, 0 means false and 1 (and 2, 3, 4, ...) means true.
0
false
1
2
3
4
true
So, if on line 10, you say:
int dont_delete_database = true;
then it will expand to:
int dont_delete_database = ( 10 % 10 ); // 10 % 10 == 0 which means false // database dies...
if you add a line before it, so that the code moves to line 11, then suddenly it works:
// THIS COMMENT PREVENTS DATABASE FROM DYING int dont_delete_database = ( 11 % 10 ); // 11 % 10 == 1, which means true
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
define it as ( __LINE__ % 10) so that the problem goes away when you add a debug statement
Can someone ELI5 what this does?
__LINE__
returns the line of code its on, and% 10
means "remainder 10." Examples:In code,
0
meansfalse
and1
(and2
,3
,4
, ...) meanstrue
.So, if on line 10, you say:
then it will expand to:
if you add a line before it, so that the code moves to line 11, then suddenly it works: