我正在考慮一個本地化的功能,我確切知道它應該做什麼,和如何做到這一點,但我不能爲我的生活弄清楚這是一個很好的名字。我很確定在英語中有一個體面的標準表達式,可以在這裏出色地應用這個東西,我找不到它。命名功能! (因爲我不能)
這個問題本身完全是語言不可知的,但這裏的代碼是在PHP中,因爲這就是我現在正在寫的東西。
所以,請爲我的功能命名!
/**
* Expand a number into a format string based on its value, giving
* different format strings for 0, 1 and greater than one.
*
* example:
* myFun(count($apples), 'No apples', 'one apple', '%d apples.');
*
* @param integer $aNumber
* @param string $ifZero
* @param string $ifOne
* @param string $ifGreaterThanOne
* @return string
*/
function myFunc($aNumber, $ifZero, $ifOne, $ifGreaterThanOne)
{
assert('is_integer($aNumber) && $aNumber > -1;');
assert('is_string($ifZero);');
assert('is_string($ifOne);');
assert('is_string($ifGreaterThanOne);');
$result = null;
if ($aNumber == 0)
{
$result = strpos($ifZero, '%d') > -1
? sprintf($ifZero, $aNumber)
: $ifZero;
}
else if ($aNumber == 1)
{
$result = strpos($ifOne, '%d') > -1
? sprintf($ifOne, $aNumber)
: $ifOne;
}
else
{
$result = strpos($ifGreaterThanOne, '%d') > -1
? sprintf($ifGreaterThanOne, $aNumber)
: $ifGreaterThanOne;
}
return $result;
}
@Dennis,我覺得你更清醒,我是因爲我不知道你在說什麼。儘管如此,喬爾和傑夫很可能只是對程序員在程序員支持網站上提出編程問題感到高興,**和**也收到了實際有用的評論。 – Kris