Indoor European. I know #regex. I write #code (in #C or #Haskell or #Perl or #JavaScript or #bash).100% OPSEC.
Kompatibel mit handelsüblichen Klemmbausteinen.
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
@racketlauncher831 As far as the C compiler is concerned, there is literally no difference between those two notations. If you declare a function parameter as an array (of T), the C compiler automatically strips the size information (if any) and changes the type to pointer (to T).
(And if we're talking humans, then char *args[] does not mean "follow this address to find a list of characters" because that's the syntax for "array of pointers", not "pointer to array".)
@affiliate Hey, you didn't even mention that char *args[] actually means char **args in a parameter list.
@stebo02 @Bogus5553 Neither of them require a return value, but void main isn't legal C++.
Strictly speaking, it should be
Unsafe block syntax in C++
{ ...}
That confirms exactly what tyler said. I'm not sure if you're misreading replies to your posts or misreading your own posts, but I think you're really missing the point.
Let's go through it point by point.
Your response starts with "yes it is", but it's unclear what part you're disagreeing with, because your own link agrees with pretty much everything tyler said.
Even the part of the standard you're explicitly quoting does not say anything about 1.0 and 1 being the same number.
Why did you bring up JSON Schema (by linking to their website) in the first place? Were you just confused about the difference between JSON in general and JSON Schema?
@masterspace Love the confidence, but your facts could do with some work.
.pyc files or PHP's "opcache").{ at the end, none of the code will be executed (in Javascript, Python, Perl, PHP, C, Haskell, but not in shell scripts)./*FALLTHRU*/ comment in switch statements) beyond what the compiler does by itself.use strict directly from Perl (albeit as a string because Javascript doesn't have use declarations), but turned it into a runtime check, which makes it a lot less useful.Not to be rude but not having a linter configured and running is a pretty basic issue.
Yeah, if you're a C programmer in the 1980s, maybe. But it's 2006 now and compilers are able to do basic sanity checks all on their own.
I haven’t used Perl though, what do you like better about it?
"Undeclared variable" is a compile-time error.
@masterspace "Undeclared variable" is a runtime error.
Perl.

@Tangentism @Ephera Did you mean:
echo "${var:-empty}${var:+no it aint}"?