Documentation
¶
Index ¶
Examples ¶
Constants ¶
View Source
const ( NullRune = '\uFFFD' OpenBracketRune = '{' CloseBracketRune = '}' QuoteRune = '"' SpaceRune = ' ' CommaRune = ',' NewLineRune = '\n' CarriageReturnRune = '\r' )
Variables ¶
View Source
var ErrNodeAddress = errors.New("address node is broken")
Functions ¶
Types ¶
type Node ¶
type Node interface {
// GetNode получение вложенных нов по их адресу в массиве норд
GetNode(address ...int) Node
GetNodeE(address ...int) (Node, error)
// Get получение значение ноды по адресу
Get(address ...int) string
// String получение строкового значение ноды
// Для нод без вложенных нод выводиться их значение
// Для всех остальных выводиться строковое представление ноды
String() string
// Int64 получение числового значение ноды
Int(address ...int) int
// Int64 получение числового значение ноды
Int64(address ...int) int64
// Bool получение булевного значение ноды
Bool(address ...int) bool
// Int получение числового с запятой значение ноды
Float64(address ...int) float64
// contains filtered or unexported methods
}
Node интерфес для работы с нодой
Нода представляет собой структуру типа:
{
0,
{0,0},
"Text",
{"text", 0}
}
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
func (Parser) NextNode ¶
ReadAllNodes выполняет последовательное чтение нод/объектов скобко файла
Example (Bytes) ¶
package main
import (
"bytes"
"github.com/v8platform/brackets"
"log"
)
func main() {
data := []byte("{20200412134348,N,\n{0,0},1,1,1,1,1,I,\"\",0,\n{\"U\"},\"\",1,1,0,1,0,\n{0}\n},\n{20200412134356,N,\n{0,0},1,1,2,2,1,I,\"\",0,\n{\"U\"},\"\",1,1,0,2,0,\n{0}\n},")
parser := brackets.NewParser(bytes.NewReader(data))
for node, size := parser.NextNode(); node != nil; node, size = parser.NextNode() {
log.Printf("readed node <%s> size<%d>", node, size)
}
}
Example (File) ¶
package main
import (
"github.com/v8platform/brackets"
"log"
"os"
)
func main() {
filename := "./20200412130000.lgp"
file, err := os.OpenFile(filename, os.O_RDONLY, 0644)
if err != nil {
log.Panicln(err)
}
parser := brackets.NewParser(file)
for node, size := parser.NextNode(); node != nil; node, size = parser.NextNode() {
log.Printf("readed node <%s> size<%d>", node, size)
}
}
func (Parser) ReadAllNodes ¶
ReadAllNodes выполняет чтение всех нод/объектов скобко файла
Example (Bytes) ¶
package main
import (
"bytes"
"github.com/k0kubun/pp"
"github.com/v8platform/brackets"
)
func main() {
data := []byte("{20200412134348,N,\n{0,0},1,1,1,1,1,I,\"\",0,\n{\"U\"},\"\",1,1,0,1,0,\n{0}\n},\n{20200412134356,N,\n{0,0},1,1,2,2,1,I,\"\",0,\n{\"U\"},\"\",1,1,0,2,0,\n{0}\n},")
parser := brackets.NewParser(bytes.NewReader(data))
nodes, size := parser.ReadAllNodes()
pp.Println("readed nodes", len(nodes), "size", size)
pp.Println(nodes)
}
Example (File) ¶
package main
import (
"github.com/k0kubun/pp"
"github.com/v8platform/brackets"
"log"
"os"
)
func main() {
filename := "./20200412130000.lgp"
file, err := os.OpenFile(filename, os.O_RDONLY, 0644)
if err != nil {
log.Panicln(err)
}
parser := brackets.NewParser(file)
nodes, size := parser.ReadAllNodes()
log.Printf("readed nodes %d, size: %d", len(nodes), size)
pp.Println(nodes)
}
Click to show internal directories.
Click to hide internal directories.