Need Help instantiating GameObjects in an array using the middle mouse wheel. whew.

public class WeaponSwitch : MonoBehaviour
{

    public int currentWeapon = 3;
    public GameObject[] blockPrefabs;
    public GameObject current;
    // public GameObject[] blocks;
    
    // Start is called before the first frame update
    void Start()
    {
        blockPrefabs = new GameObject[currentWeapon];
    }

    // Update is called once per frame
    void Update()
    {
         // checks for equipment

        if (Input.GetAxis("Mouse ScrollWheel") > 0f) {
            SelectWeapon();

            Debug.Log("wheel works");
        }

         if (Input.GetAxis("Mouse ScrollWheel") < 0f) {
            SelectWeapon();
        }

    }
    public void SelectWeapon (){

         //makes sure they match length
        for (int i = 0; i < currentWeapon; i++)
        {
            Debug.Log(gameObject.name);
            GameObject go = Instantiate(blockPrefabs*) as GameObject;*

go.transform.localScale = Vector3.one;
blockPrefabs = go;
}

}
}
basically, I want to have 3 prefabs that are weapons and be able to cycle through them using the middle mouse button.
hitting a wall on what I am doing wrong.
any help is appreciated.
thank you for your time.

public class WeaponSwitch : MonoBehaviour
{
public GameObject weaponPrefabs; // Drag & drop the prefabs in the inspector
private GameObject weapons;
private int currentWeapon = 0;

    private void Start()
    {
        weapons = new GameObject[weaponPrefabs.Length];
        for (int i = 0; i < weaponPrefabs.Length; i++)
        {
            weapons _= Instantiate(weaponPrefabs*);*_

weapons*.SetActive(i == currentWeapon);*
weapons*.transform.localScale = Vector3.one;*
}
}

private void Update()
{
* float scroll = Input.GetAxis(“Mouse ScrollWheel”);*
if (scroll > Mathf.Epsilon) {
SelectNextWeapon();
}
* else if (scroll < -Mathf.Epsilon) {*
SelectPreviousWeapon();
}

}
private void SelectNextWeapon ()
* {*
weapons[currentWeapon].SetActive(false);
* currentWeapon = (currentWeapon + 1) % weapons.Length;*
weapons[currentWeapon].SetActive(true);
}

private void SelectPreviousWeapon ()
* {*
weapons[currentWeapon].SetActive(false);
* currentWeapon = (currentWeapon + weapons.Length - 1) % weapons.Length;*
weapons[currentWeapon].SetActive(true);
}
}