我发现我经常写出来的功能,我总是称之为“clamp()”,这是一种min()max()的组合。是否有此功能的标准,“规范”的名字吗?

它总是看起来是这样的:

function clamp($val, $lower, $upper)
{
  if ($val < $lower)
    return $lower;
  else if ($val > $upper)
    return $upper;
  else
    return $val;
}

或者简单地使用内置min()max()功能:

function clamp($val, $lower, $upper)
{
  return max($lower, min($upper, $val));
}

变化存在:也可以检查无效输入,其中lower > upper,并且或者抛出异常或反向器的输入。或者你可以忽略的输入顺序,并把它称为中位数的三个功能,但可能会造成混淆。

有帮助吗?

解决方案

<强>钳是一个很好的名称。

让我们把它的标准。

其他提示

在某些语言你有功能限制

NUM =极限(VAL,最小,最大)

clip(val, lo, hi)

我们在这里使用pin。事实上,我们使用pin简单范围和clamp为其他的东西。

我刚刚去一个函数名“rangeCheck”

中值

由于它推广到更多的值。

约什么的结合

bound(min, val, max)

约束

constrain(val, min, max)

你觉得什么东西例如 InRangeClosestTo (数量,RangeLowerBound,RangeUpperBound)或 ClosestInRange (数量,LowerBoundOfRange,UpperBoundOfRange)?他们的意思是“给我最接近数范围的元素”,因为我希望是显而易见的。

在概念比呀具有两面性,但是没有更多,或限制或约束,且可能不希望返回任何东西,如果数量不是范围内的钳更精确,

要我,他们也更清晰,然后我看到了休息;虽然它可能需要几秒钟去了解他们,你只需要推理的名字,并且在多数有在确认注释简单介绍一下;它很不错,当你看到如何准确它(它是精确的,对吧?)。

您可能只对范围是否包含或不怀疑,但我想大多数人都会正确假设它的包容。或者您可以使用InInclRangeClosestTo和InExclRangeClosestTo,althought我没有看到有很多用途的专用范围。

当然,你应该有一个自动完成的IDE,如果你想使用它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top