roInt, roFloat, roString
21 min
los tipos intrínsecos docid\ wuqphxgsf7mp5qpdwarsj int32 , flotar , y cadena tienen equivalentes de objeto e interfaz estos son útiles en las siguientes situaciones se necesita un objeto en lugar de un valor tipado (por ejemplo, el objeto rolist mantiene una lista de objetos) cuando se pasa un entero, float o string a una función que espera un objeto brightscript como parámetro, brightscript crea automáticamente el objeto equivalente si cualquier objeto expone las interfaces ifint , iffloat o sicadena , ese objeto puede utilizarse en cualquier expresión que espere un valor tipado por ejemplo, un rovideoevent docid\ iiesqvxyxwm5rpqymuaa8 puede utilizarse como un entero con un valor que representa el id del evento operaciones con enteros si "o" es del tipo roint , entonces estas sentencias tendrán los siguientes efectos imprimir o imprime el valor de o getint() i%=o asigna al entero i% el valor de o getint() k=o presumiblemente k se tipa automáticamente, por lo que se convierte en otra referencia al roint o o=5 esto no es lo mismo que o setint(5) en su lugar, libera o , cambia el tipo de o a roint32 ( o se tipa automáticamente) y le asigna el valor 5 ifint roint contiene la interfaz ifint , que proporciona lo siguiente getint() as integer devuelve el valor entero del objeto setint(value as integer) as void establece el valor entero del objeto ifintops roint también contiene la interfaz ifintops , que proporciona lo siguiente tostr() as string devuelve el valor entero como un string no se agrega un espacio al principio para números positivos iffloat rofloat contiene la interfaz iffloat , que proporciona lo siguiente getfloat() as float devuelve el valor float del objeto setfloat(value as float) as void establece el valor float del objeto ifstring rostring contiene la interfaz sicadena , que proporciona lo siguiente getstring() as string devuelve el valor string del objeto setstring(value as string) as void establece el valor string del objeto ifstringops rostring también contiene la interfaz ifstringops , que proporciona lo siguiente algunas funciones globales docid 8viubcc3f1mpxoos0i8yf ofrecen la misma funcionalidad que los métodos de ifstringops los índices de función de los métodos de ifstringops empiezan en cero, mientras que los de las funciones globales empiezan en uno setstring(str as string, str len as integer) establece el valor de cadena del objeto utilizando los valores especificados de cadena y longitud de cadena esto es similar al método setseting() , que no acepta un parámetro para la longitud de la cadena appendstring(str as string, str len as integer) agrega al valor de cadena del objeto utilizando los valores especificados de cadena y longitud de cadena este método se modifica a sí mismo; esto puede causar resultados inesperados cuando pasa un tipo de cadena intrínseco, en lugar de un objeto de cadena ejemplo x="string" x ifstringops appendstring("ddd",3) print x 'will print 'string' y=box("string") y ifstringops appendstring("ddd",3) print y 'will print 'stringddd' len() as integer devuelve el número de caracteres en una cadena getentityencode() as string devuelve la cadena con ciertos caracteres reemplazados por secuencias de codificación de entidades html carácter reemplazado por " (comillas dobles) " ' (comillas simples) ' < < > > & & tokenize(delim as string) as rolist divide una cadena en subcadenas utilizando los caracteres delimitadores especificados el parámetro delim puede contener uno o más caracteres para tratar como delimitadores si el objeto de cadena contiene múltiples delimitadores contiguos, se tratarán como un único delimitador este método devuelve las subcadenas como un objeto rolist ; los delimitadores no se devuelven con las subcadenas ejemplo brightscript> s = "one&\&two" brightscript> print s tokenize("&") one two trim() as string devuelve la cadena con cualquier carácter de espacio en blanco inicial y final (p ej , tab, lf, cr, vt, ff, no break space) eliminado toint() as integer devuelve el valor de la cadena como un número entero tofloat() as float devuelve el valor de la cadena como un número de punto flotante left(n as integer) as string devuelve los primeros n caracteres de la cadena right(n as integer) as string devuelve los últimos n caracteres de la cadena mid(start index as integer) as string devuelve un subconjunto de la cadena que comienza en el valor de start index basado en cero y termina al final de la cadena mid(start index as integer, n as integer) as string devuelve un subconjunto de la cadena, que comienza en el índice basado en cero start index y consta de n caracteres si la cadena contiene menos de n caracteres después del start index especificado, este método devolverá todos los caracteres después del start index instr(substring as string) as integer devuelve el índice basado en cero de la primera aparición de la subcadena en la cadena si la subcadena no aparece en la cadena, este método devuelve 1 instr(start index as integer, substring as string) as integer devuelve el índice basado en cero de la primera aparición de la subcadena después del start index especificado en la cadena si la subcadena no aparece después del start index especificado, este método devuelve 1 instr() también se ofrece como una función global docid 8viubcc3f1mpxoos0i8yf (tenga en cuenta que el índice de cadena de la función global comienza en 1) ejemplos brightscript> o=createobject("roint") brightscript> o setint(555) brightscript> print o 555 brightscript> print o getint() 555 brightscript> print o 55 500 un valor entero de 5 se convierte automáticamente al tipo roint porque el método addtail() espera un objeto brightscript como parámetro brightscript> list=createobject("rolist") brightscript> list addtail(5) brightscript> print type(list gettail()) aquí, el método listdir() devuelve un objeto rolist que contiene objetos rostring brightscript> l=listdir("/") brightscript> for i=1 to l count()\ print l removehead()\ next test movie 3 vob test movie 4 vob test movie 1 vob test movie 2 vob