在 Hack 中打印可变字符数的最有效方法?
Most efficient way to print variable number of characters in Hack?
我正在做一个 Hack 项目,遇到需要打印 $n
个空格的情况。这是我目前的做法:
for ($i = 0; $i < $n; $i++) echo " ";
我想知道 $n
调用 echo 是否是解决此问题的最有效方法?通过一些谷歌搜索,我了解到通常,对 echo 的多次调用比字符串连接更快,而且 Hack 没有内置的 StringBuilder 等效项。我的 for 循环是否达到了最大效率,还是我还缺少其他东西?
谢谢!
如果您使用的是 HackLang,则应使用 HSL
( Hack standard library ) 而不是遗留的 php 函数。
解决此问题的最佳方法是使用 Str\repeat
函数(与 PHP 中的 str_repeat
类似的行为)
use namespace HH\Lib\Str;
echo Str\repeat(' ', $n);
Note: make sure to use the same HSL version as HHVM
if you are using HHVM 4 ( recommended ), do composer require hhvm/hsl:^4
if you are using HHVM 3, do hhvm $(which composer) require hhvm/hsl:^3
etc...
我正在做一个 Hack 项目,遇到需要打印 $n
个空格的情况。这是我目前的做法:
for ($i = 0; $i < $n; $i++) echo " ";
我想知道 $n
调用 echo 是否是解决此问题的最有效方法?通过一些谷歌搜索,我了解到通常,对 echo 的多次调用比字符串连接更快,而且 Hack 没有内置的 StringBuilder 等效项。我的 for 循环是否达到了最大效率,还是我还缺少其他东西?
谢谢!
如果您使用的是 HackLang,则应使用 HSL
( Hack standard library ) 而不是遗留的 php 函数。
解决此问题的最佳方法是使用 Str\repeat
函数(与 PHP 中的 str_repeat
类似的行为)
use namespace HH\Lib\Str;
echo Str\repeat(' ', $n);
Note: make sure to use the same HSL version as HHVM
if you are using HHVM 4 ( recommended ), do
composer require hhvm/hsl:^4
if you are using HHVM 3, do
hhvm $(which composer) require hhvm/hsl:^3
etc...