@devilish666 C++ (non-stupid):
#include <stdio.h>
int main() {
puts("Hello, world!");
}
C) It's an obvious joke.
Because let x: y
is syntactically unambiguous, but you need to know that y
names a type in order to correctly parse y x
. (Or at least that's the case in C where a(b)
may be a variable declaration or a function call depending on what typedefs are in scope.)
POV: You open vim for the first time.
The same is true of std::endl. std::endl is simply defined as << '\n' << std::flush
; nothing more, nothing less. In all cases where endl gives you a "properly translated" newline, so does \n
.
std::endl provides zero portability benefits. C++ does have a portable newline abstraction, but it is called \n
, not endl.
Arguably, I never fully learned Bash syntax, but it also is just a stupid if-statement. There shouldn’t be that much complexity in it.
There isn't. The syntax is
if COMMANDthenCOMMAND(s)...elseCOMMAND(s)...fi
I believe, if you write the then onto the next line, then you don’t need the semicolon.
Yes, but that's true of all commands.
foo; bar; baz
is the same as
foobarbaz
All the ]
and -z
stuff has nothing to do with if
. In your example, the command you're running is literally called [
. You're passing it three arguments: -z
, "$var"
, and ]
. The ]
argument is technically pointless but included for aesthetic reasons to match the opening ]
(if you wanted to, you could also write test -z "$var"
because [
is just another name for the test
command).
Since you can logically negate the exit status of every command (technically, every pipeline) by prefixing a !
, you could also write this as:
if ! test "$var"; then ...
The default mode of test
(if given one argument) is to check whether it is non-empty.
Now, if you don't want to deal with the vagaries of the test
command and do a "native" string check, that would be:
case "$var" in "") echo "empty";; *) echo "not empty";;esac
Strictly speaking, it should be
Unsafe block syntax in C++
{ ...}
There's a lot of distorted facts here, but the weirdest one to me is "instead of regrouping their efforts (which, I might add, they did, and they got their day in parliament)". The first half just contradicts itself ("instead of doing X, which they did, ..."???) and the second half ("they got their day in parliament") is verifiably, obviously false: The EU petition is still ongoing and collecting signatures. The deadline is July 31.