Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

277
Vistas
método indefinido `<' para nil:NilClass error pero no existe nil?

Me preguntaba por qué aparece el error: "método indefinido `<' para nil:NilClass" al compilar. Después de buscar los motivos, descubrí que no se puede usar [] en un objeto con valor nulo. Esto tiene sentido, pero no veo por qué mi matriz contendría cero. ¿Qué me estoy perdiendo?

 def binary_search(n, arr) middle = arr.length #pick middle value i = 0 j = arr.length - 1 while i <= j if arr[middle] == n return true elsif arr[middle] < n i = middle + 1 middle = (i + j) / 2 else j = middle - 1 middle = (i + j) / 2 end end false end nums = [76,32,50,90,10,8,15,49] nums.sort puts nums.inspect binary_search(50, nums)
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Veamos un subconjunto simplificado del código:

 arr = [76,32,50,90,10,8,15,49] middle = arr.length # 8 arr[middle] < 50 # NoMethodError
  • La length es de 8.
  • arr[8] es nil porque no hay ningún elemento en el índice 8. Recuerde que los índices de Ruby comienzan con 0.
  • nil < 50 es un NoMethodError
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda