diff --git a/README.md b/README.md index c0a382e..5f16055 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,25 @@ # lua-buffer AS3 ByteArray class for lua. -#usage -add the module: -` +# usage +add the module: +```lua luaopen_bytearr(L); -` +``` -## constructor +# constructor create( [capacity, [endian]] ) - Create an empty byte array. init( [param1, param2, ...] ) - Create a byte array with initial bytes. Parameters should be a list of number or table. load( str ) - Create a byte array with lua string object for read data. This byte array is read-only. return - A ByteArray object. -` +```lua local x = ByteArray.create() -- create an empty byte array local y = ByteArray.init( 0, 1, 2, 3 ) -- create a byte array with initial bytes local z = ByteArray.load( "hello" ) -- create a byte array with a lua string object -` +``` -## method for read data +# method for read data readByte() - Read a 8-bit signed integer from byte array. readUnsignedByte() - Read a 8-bit unsigned integer from byte array. readShort() - Read a 16-bit signed integer from byte array. @@ -31,14 +31,14 @@ readDouble() - Read a 64-bit float from byte array. readCString() - Read a string end with \0 from byte array. return - A lua number object. -` -local t = ByteArray.init( 1, 2, 3, 4, 5, 6 ) -local a = t:readByte() -- a == 1 -local b = t:readUnsignedByte() -- b == 2 -local c = t:readShort() -- c == 0x0403 -` +```lua +local t = ByteArray.init( 1, 2, 3, 4, 5, 6 ) +local a = t:readByte() -- a == 1 +local b = t:readUnsignedByte() -- b == 2 +local c = t:readShort() -- c == 0x0403 +``` -## method for write data +# method for write data writeByte( s8 ) - Write a 8-bit signed integer to byte array. writeUnsignedByte( u8 ) - Write a 8-bit unsigned integer to byte array. writeShort( s16 ) - Write a 16-bit signed integer to byte array. @@ -50,50 +50,50 @@ writeDouble( f64 ) - Write a 64-bit float to byte array. writeCString( str ) - write a string end with \0 to byte array. return - The ByteArray object itself. -` +```lua local buf = ByteArray.create() buf:writeByte(1):writeByte(2):writeInt(0x0403) -` +``` -## method for copying data between ByteArray object -readBytes( to[, offset, length] ) - Read data to first parameter(a ByteArray object), the range for the target byte array is start from offset with length. -writeBytes( from[, offset, length] ) - Write data from first parameter(a ByteArray object), the range for the data is start from offset with length. -` +# method for copying data between ByteArray object +readBytes( to[, offset, length] ) - Read data to first parameter(a ByteArray object), the range for the target byte array is start from offset with length. +writeBytes( from[, offset, length] ) - Write data from first parameter(a ByteArray object), the range for the data is start from offset with length. +```lua local buf = ByteArray.init( 1, 2, 3, 4, 5 ) local d = ByteArray.create() buf:readBytes( d ) -` +``` -## member position +# member position start position for reading / writing data. -` +```lua local buf = ByteArray.init( 1, 2, 3, 4, 5 ) buf.position = 3 local d = ByteArray.create() buf:readBytes( d ) -- buf = <4 5> print( buf.position ) -- 5 -` +``` -## member length +# member length set / get length -` +```lua local buf = ByteArray.init( 1,2,3,4,5,6,7 ) print( buf.length ) buf.length = 4 for i=1, #buf do print(buf[i]) end -` +``` -## member endian +# member endian set / get endian -` +```lua local buf = ByteArray.init(2,3) buf.endian = ByteArray.LITTLE_ENDIAN -` +``` -## indexing +# indexing index start from 1 to length. If out of range, return -1. -` +```lua local buf = ByteArray.init(2,3) print(buf[1]) print(buf[2]) -` +```