O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Como fazer uma variável análisar se o valor de uma array está vazio? (Script)

Iniciado por Rayner, 08/06/2017 às 23:00

Eu gostaria de adicionar um valor a primeira váriavel vazia disponivel, mas como fazer com que a variável analise as Arrays até achar uma vazia (a primeira encontrada) para ser preenchida?

Exemplo:
Botão enter foi pressionado, adicionar variável a Array
Como deve ocorrer - Array[0] ocupada, vendo a proxima.
Array[1] ocupada, vendo a proxima.
Array[2] vazia, variável  3 adicionada a Array [2]
Tipo isso. Como posso fazer isso acontecer?
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------


Você pode usar um loop nessas horas.
for i in 0...my_array.size
  if my_array[i].nil?
    my_array[i] = my_thing
    break # Lembre-se de cancelar o loop quando achar o lugar vazio.
  end
end

Spoiler

Em javascript é a mesma coisa.
for (var i = 0; i < myArray.length; i++) {
    if (myArray[i] === null || myArray[i] === undefined) {
        myArray[i] = myThing
        break;
    }
}


Em c# também.
for (int i = 0; i < myArray.Length; i++) {
    if (myArray[i] == null) {
        myArray[i] = myThing;
        break;
    }
}

[close]

Citação de: Alisson online 08/06/2017 às 23:08
Você pode usar um loop nessas horas.
for i in 0...my_array.size
  if my_array[i].nil?
    my_array[i] = my_thing
    break # Lembre-se de cancelar o loop quando achar o lugar vazio.
  end
end

Spoiler

Em javascript é a mesma coisa.
for (var i = 0; i < myArray.length; i++) {
    if (myArray[i] === null || myArray[i] === undefined) {
        myArray[i] = myThing
        break;
    }
}


Em c# também.
for (int i = 0; i < myArray.Length; i++) {
    if (myArray[i] == null) {
        myArray[i] = myThing;
        break;
    }
}

[close]

Desculpe pela minha ignorância, mas não consigo entender  :O_O:  :facepalm: Poderia me explicar as linhas de codigo por favor?
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------


for é um loop. De maneira resumida, estamos fazendo um loop que vai de 0 até o número máximo da array.
Ali, i é uma variável que irá mudar a cada iteração do loop, começando por 0 (que é o número do primeiro loop), 1, 2, 3.
Desta forma, estamos checando os elementos da array um por um e, caso o elemento que encontrarmos for nil, digamos que é o elemento que a gente quer. Lembrando de cancelar o loop assim que encontrarmos o valor desejado, sendo que não haveria necessidade dele continuar.

Citação de: Rayner online 08/06/2017 às 23:26
Citação de: Alisson online 08/06/2017 às 23:08
Você pode usar um loop nessas horas.
for i in 0...my_array.size
  if my_array[i].nil?
    my_array[i] = my_thing
    break # Lembre-se de cancelar o loop quando achar o lugar vazio.
  end
end

Spoiler

Em javascript é a mesma coisa.
for (var i = 0; i < myArray.length; i++) {
    if (myArray[i] === null || myArray[i] === undefined) {
        myArray[i] = myThing
        break;
    }
}


Em c# também.
for (int i = 0; i < myArray.Length; i++) {
    if (myArray[i] == null) {
        myArray[i] = myThing;
        break;
    }
}

[close]

Desculpe pela minha ignorância, mas não consigo entender  :O_O:  :facepalm: Poderia me explicar as linhas de codigo por favor?

Vamo la:

i é o indice, e vai correr toda a sua array (for i in 0...my_array.size)
se encontrar um espaço vazio (if my_array.nil?)
ao encontrar um espaço vazio coloca o que você quer naquele espaço (my_array = my_thing)
e sai do loop (break)

Citação de: Alisson online 08/06/2017 às 23:41
for é um loop. De maneira resumida, estamos fazendo um loop que vai de 0 até o número máximo da array.
Ali, i é uma variável que irá mudar a cada iteração do loop, começando por 0 (que é o número do primeiro loop), 1, 2, 3.
Desta forma, estamos checando os elementos da array um por um e, caso o elemento que encontrarmos for nil, digamos que é o elemento que a gente quer. Lembrando de cancelar o loop assim que encontrarmos o valor desejado, sendo que não haveria necessidade dele continuar.

Citação de: fraphael online 08/06/2017 às 23:43
Citação de: Rayner online 08/06/2017 às 23:26
Citação de: Alisson online 08/06/2017 às 23:08
Você pode usar um loop nessas horas.
for i in 0...my_array.size
  if my_array[i].nil?
    my_array[i] = my_thing
    break # Lembre-se de cancelar o loop quando achar o lugar vazio.
  end
end

Spoiler

Em javascript é a mesma coisa.
for (var i = 0; i < myArray.length; i++) {
    if (myArray[i] === null || myArray[i] === undefined) {
        myArray[i] = myThing
        break;
    }
}


Em c# também.
for (int i = 0; i < myArray.Length; i++) {
    if (myArray[i] == null) {
        myArray[i] = myThing;
        break;
    }
}

[close]

Desculpe pela minha ignorância, mas não consigo entender  :O_O:  :facepalm: Poderia me explicar as linhas de codigo por favor?

Vamo la:

i é o indice, e vai correr toda a sua array (for i in 0...my_array.size)
se encontrar um espaço vazio (if my_array.nil?)
ao encontrar um espaço vazio coloca o que você quer naquele espaço (my_array = my_thing)
e sai do loop (break)

Ah sim, entendi :D  :XD: Obrigado aos 2 ;D
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------