本文整理汇总了C++中CFunctionsScopePtr::getLength方法的典型用法代码示例。如果您正苦于以下问题:C++ CFunctionsScopePtr::getLength方法的具体用法?C++ CFunctionsScopePtr::getLength怎么用?C++ CFunctionsScopePtr::getLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFunctionsScopePtr
的用法示例。
在下文中一共展示了CFunctionsScopePtr::getLength方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scArrayPush
static void scArrayPush(const CFunctionsScopePtr &c, void *data) {
CScriptVarPtr arr = c->getArgument("this");
uint32_t len = c->getLength(arr);
uint32_t args = c->getArgumentsLength();
for (uint32_t i=0; i<args; ++i)
c->setProperty(arr, i, c->getArgument(i));
}
示例2: scArrayPop
static void scArrayPop(const CFunctionsScopePtr &c, void *data) {
CScriptVarPtr arr = c->getArgument("this");
uint32_t len = c->getLength(arr);
if(len) {
c->setReturnVar(c->getPropertyValue(arr, len-1));
arr->removeChild(int2string(len-1));
} else
c->setReturnVar(c->constScriptVar(Undefined));
}
示例3: scArrayFill
static void scArrayFill(const CFunctionsScopePtr &c, void *data) {
CScriptVarPtr arr = c->getArgument("this");
uint32_t len = c->getLength(arr);
CNumber startNumber=0, endNumber=len;
CScriptVarPtr value = c->getArgument(0);
CScriptVarPtr startVar = c->getArgument(1);
CScriptVarPtr endVar = c->getArgument(2);
c->setReturnVar(arr);
if(!startVar->isUndefined()) startNumber = startVar->toNumber();
if(!endVar->isUndefined()) endNumber = endVar->toNumber();
uint32_t start = (startNumber.sign()<0 ? startNumber+len : startNumber).clamp(0, len).toUInt32();
uint32_t end = (endNumber.sign()<0 ? endNumber+len : endNumber).clamp(0, len).toUInt32();
for(; start < end; ++start) c->setProperty(arr, start, value);
}