|
I hope Toshiba paid Alexei Sayle for ripping-off his song[^] in their advert[^].
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I might do the same thing for our Toshiba, but my wife went through two Toshiba laptops which didn't last more than one month each, so now I may, emphasize may, do something about it in my lifetime.
Now THAT'S politics
"Seize the day" - Horace
"It's not what he doesn't know that scares me; it's what he knows for sure that just ain't so!" - Will Rogers, said by him about Herbert Hoover
|
|
|
|
|
Dalek Dave wrote: Only three months later and I have just done it! What a big mistake. Now you set expectations on your performance far to high.
Learn from Wally: http://dilbert.com/2014-06-09/[^]
|
|
|
|
|
if (e.Message.StartsWith("Case we don't care about"))
{
}
else
{
errorToDisplay += "\n" + e.Message;
}
8 years ago I apparently thought I was being clever by having an empty then block and only having actual code in the else branch.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Dan Neely wrote: 8 years ago I apparently thought I was being clever by having an empty then block and only having actual code in the else branch.
Well, in Ruby, you could write:
unless (e.Message.StartsWith(.....
which I find even more baffling linguistically. I always have to mentally change that to "if not..."
Or worse (because the conditional comes at the end, and in one case I never saw the conditional because it was off-screen on a very long line), but better linguistically:
errorToDisplay += "\n" + e.Message unless e.Message.StartsWith("Case we don't care about")
Why do I bring this up? Because idiomitic Ruby frowns on negative conditions, like "if !".
Personally, there is a lot of idiomatic Ruby that I refuse to use because it just seems idiotic, not idiomatic.
Marc
|
|
|
|
|
I'm glad none of the Ruby on the project I'm working on uses that wtftern...
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Jade also supports 'unless'.
e.g. (example from my article Feeling Jaded with Jade? Don't Be![^])
- var bob = 'woman'
unless bob == 'man'
p Bob is a not man!
would output
<p>Bob is not a man!</p>
Couple of times, I have confused myself trying to unwind what I wrote.
|
|
|
|
|
That whole "condition at the end" thing is crazy.
It's like "you thought this was crazy and wouldn't work half the time? ha! conditional!"
I hate surprises.
|
|
|
|
|
Yes, very clever, but I think sticking a ! in the conditional is easier to follow.
Just because the code works, it doesn't mean that it is good code.
|
|
|
|
|
Every today's clever code is tomorrow's WTF
--
"My software never has bugs. It just develops random features."
|
|
|
|
|
I think BASICplus has/had unless (and maybe until ), but I doubt it was used much. In my opinion, one of the shortcomings of BASIC, and its progeny, is it's plethora of keywords and built-in functions. C et al do very well with far fewer. Better to learn to do more with less.
# define unless(x) if(!(x))
Oh, what did I step in...? I pulled out my BASICplus book.
Modified IF : <statement> IF <condition>
UNLESS : <statement> UNLESS <condition>
Implied FOR Loop : <statement> FOR <variable> = <starting value> TO <ending value> [ STEP <increment> ]
FOR ... UNTIL and FOR ... WHILE : FOR <variable> = <starting value> TO <ending value> [ STEP <increment> ] WHILE | UNTIL <condition>
You'll never get very far if all you do is follow instructions.
modified 17-Jun-14 22:17pm.
|
|
|
|
|
Well, you could re-factor it to
if (CaseWeCareAbout(e.Message))
{
errorToDisplay += "\n" + e.Message;
}
...
private bool CaseWeCareAbout(string input)
{
bool weDontCare = input. StartsWith("Case we don't care about");
bool weCare = !weDontCare;
return weCare;
} Some time later, you'll think: wtf did I need so many lines and an extra function for such a simple task. Every beginner can understand that, but I ought to be capable to understand far more complicated things. What will others think of me writing such code?
deflinek's message is quite correct.
|
|
|
|
|
Nah, that still uses "!" which is "hard to read".
Try this:
private bool CaseWeCareAbout(string input)
{
bool weDontCare = input. StartsWith("Case we don't care about");
bool weCare = weDontCare ? false : true;
return weCare;
}
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
If ! is hard to read then make it more obvious
private bool CaseWeCareAbout(string input)
{
return !!!!!!!!!!!input.StartsWith("Case we don't care about");
}
|
|
|
|
|
Of course, a normal exclamation mark ought to be "closed" with an inverted exclamation mark, i.e.
return !!!!!!!!!!!input.StartsWith("Case we don't care about")¡¡¡¡¡¡¡¡¡¡¡;
|
|
|
|
|
If you find it nice!
The compiler understood either way, so do human!
|
|
|
|
|
This was at the top of the code:
#define 300 1
#define 100 0
I'm amazed that the compiler even accepted it!
"State acheived after eating too many chocolate-covered coconut bars - bountiful"
Chris C-B
|
|
|
|
|
|
|
No problem with the compiler, but that code should give a one-way ticket to the developer...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: that code should give a one-way ticket to the developer...
He's gone!
... but that means someone else has to sort it out!
"State acheived after eating too many chocolate-covered coconut bars - bountiful"
Chris C-B
|
|
|
|
|
It shouldn't take more than one block of chocolate to you
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
If only consumption of chocolate would fix that code!
"State acheived after eating too many chocolate-covered coconut bars - bountiful"
Chris C-B
|
|
|
|
|
Well, the good news is it wasn't hidden away in a header file...
If it's any consolation, A FORTRAN compiler I used to work with years, and years ago would accept a constant value as a function parameter, and let you change it at run time.
I can't remember FORTRAN syntax any more but it would be similar to:
void MyMethod (ref int i)
{
i = 666;
}
...
Console.WriteLine(42);
MyMethod(42);
Console.WriteLine(42);
Would happily print:
42
666
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
You surely meant to write
void MyMethod (const int i)
{
i = 666;
}
The console is a black place
|
|
|
|