sábado, noviembre 28, 2009

Harbour VS xHarbour, Las diferencias verdaderas (Parte 13)

Indices negativos en el operador [ ] para acceder a los elementos de un arreglo por el final.

xHarbour soporta índices negativos en el operador [ ]. Se utiliza para acceder a los elementos por el final de la lista, por ejemplo: aVal[-1] tiene el mismo efecto que aVal[len(aVal)-1].

Por default el núcleo de Harbour no tiene incorporada dicha funcionalidad, sin embargo su API de POO es lo suficientemente robusta para permitir añadir dicha extensión sin tocar el núcleo aún a nivel .PRG. Está implementado en Harbour en XHB.LIB.

Este código puede ser compilado y ejecutado por ambos compiladores:
    #ifndef __XHARBOUR__
#include "xhb.ch" // add support for negative indexes in Harbour
#endif
proc main()
local s := "ABCDEF", a := {"1", "2", "3", "4", "5", "6"}
? s, "=>", s[1], s[2], s[3], s[4], s[5], s[6], "=>", ;
s[-1], s[-2], s[-3], s[-4], s[-5], s[-6]
? a[1], a[2], a[3], a[4], a[5], a[6], "=>", ;
a[-1], a[-2], a[-3], a[-4], a[-5], a[-6]
return
¡ Advertencia !: Vea la nota en el artículo anterior sobre los índices fuera de rango usados con el operador [] y los elementos en cadenas de caracteres.

Continuará....

No hay comentarios.: