跳至内容

Set

Set

根据指定索引设置向量元素值。

bool vector::Set(
  ulong   index,     // 元素索引
  double  value      // 值
   );

参数

index

[in] 需要为其设置值的元素索引。

[in] 值。

返回值

如果成功返回true,否则返回false。

注意

Set方法的作用与使用方括号赋值的作用相同,即:vector[index]=value. 添加该方法是为了简化从使用此类符号的语言中传递代码的过程。下面的示例显示了按指定索引用值填充向量的两个选项。

示例:

void OnStart()
  {
//---
   vector v1(10, VectorAssignValues);
   Print("v1 = ", v1);

   vector v2(10, VectorSetValues);
   Print("v2 = ", v2);
  }
 /* Result
  v1 = [1,2,4,8,16,32,64,128,256,512]
  v2 = [1,2,4,8,16,32,64,128,256,512]
  */
//+-------------------------------------------------------------------------+
//| 通过赋值运算用数字的幂填充向量                                              |
//+-------------------------------------------------------------------------+
void VectorAssignValues(vector& v, double initial=1)
  {
   double value=initial;
   for(ulong k=0; k<v.Size(); k++)
     {
      v[k]=value;
      value*=2;
     }
  }
//+--------------------------------------------------------------------------+
//| 使用Set方法用数字的幂填充向量                                                |
//+--------------------------------------------------------------------------+
void VectorSetValues(vector& v, double initial=1)
  {
   double value=initial;
   for(ulong k=0; k<v.Size(); k++)
     {
      v.Set(k, value);
      value*=2;
     }
  }