error for array functions

ive been working on my pahing script and it works up to line 23 and 26 i get this eror mesige for both those lines.

Assets/controler.js(22,31): BCE0019: 'Push' is not a member of 'score[]'.

public var curwp : Transform;
public var open : score[];
public var close ;
var bestrate : float = 10000;
function Start () {
open = GetComponentsInChildren.<score>();
}

function Update () {
    bestrate = 10000;
    for (var val : score in open){
        if (val.tlscr < bestrate){
            bestrate = val.tlscr;
            print (bestrate);
        }
    }
    num = 0;
    for (var val : score in open){

        if (val.tlscr == bestrate){
            val.transform.renderer.material.color = Color.magenta;
            print (val);
            close.Add (val);
            print (close);
            print ("close = " + close);
            open.RemoveAt(num);
        }
    num += 1;
    }
}

any hints to what it could be???

Push, Add, and RemoveAt, are in fact, not members of Array.

You probably want to make open a `List.`, instead.

import System.Collections.Generic;

var moreDescriptiveNameThanOpen = List.<Score>(GetComponentsInChildren.<Score>());

(Score is a class, and therefore should be in PascalCase, not camelCase.)

If you want to use Push and stuff on arrays, you need to declare your variables a certain way. When you use the

public var myArray : float[];

construct, it's a C# array which does not have Push or RemoveAt.

Here's an example that pushes a float onto one array, and an object onto another.

public var testobjarr : Array;
public var testfloatarr : Array;

function Start()
{
  testfloatarr = new Array();
  testobjarr = new Array();
}

function Update ()
{
  if(testfloatarr.length < 3)
  {
   testfloatarr.Push(1);
  }
  if(testobjarr.length < 1)
  {
    testobjarr.Push(this);
  }
}