Re: print with newline
| From: | Joe Watkins | Date: | Sun, 03 Mar 2019 06:49:25 +0000 |
| Subject: | Re: print with newline | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-104553@lists.php.net to get a copy of this message | ||
Sara, where do I send pull requests?
<?php
function println(string $format, ...$args) : void {
\vprintf($format . \PHP_EOL, $args);
}
function fprintln($stream, string $format, ...$args) : void {
if (!\is_resource($stream)) {
throw new \TypeError(\sprintf(
"Argument 1 passed to %s expected to be a resource, %s given",
__FUNCTION__,
\is_object($stream) ?
\sprintf(
"instance of %s", \get_class($stream)
) : \gettype($stream)));
}
\vfprintf($stream, $format . \PHP_EOL, $args);
}
function sprintln(string $format, ...$args) : string {
return \vsprintf($format . \PHP_EOL, $args);
}
Jokes aside, this is so trivially achievable in userland that there is no
justification whatever for an internal function or functions, or
constructs, or opcodes.
Cheers
Joe
On Sun, 3 Mar 2019 at 06:50, Ryan Jentzsch <ryan.jentzsch@gmail.com> wrote:
> I've always wondered why PHP didn't have a built in command or function
> that behaved as
echo but with a EOL.
> I propose not to modify print or
> echo (as this was rightly pointed out
> to cause b/c). How difficult would it be to add a new statement and/or
> function to the PHP core called say /
> say() that has an EOL?
>
> This seems to me to be simple to do. The benefit is less code to type in
> user land (ex: say 'Hello World'; as opposed to `echo
> 'Hello World' .
> PHP_EOL;`
>