Pimark

Marcação de objeto com sabor de python
Baixe Agora

Pimark Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Daniel Holden
  • Site do editor:
  • https://github.com/orangeduck/

Pimark Tag


Pimark Descrição

O Pymark é um módulo que usa o Python como um poderoso front end para marcar e compila dados para um formato binário simples para serialização rápida em um aplicativo.AvantagesHaving Um foco em uma front-end poderosa tem muitos benefícios em outras técnicas de marcação de objeto: - má sintaxe Na marcação é pego no momento do compilado. - Uma linguagem de programação inteira para ajudá-lo! - Listas, tuplas, dicionários são todas as estruturas de primeira classe. - Nem tudo tem que ser uma árvore de cordas. - Mais expressão e liberdade na marca. A manipulação / remendo pode ser feita facilmente e cedo. E ter um simples back end tem alguns benefícios também. Parser leve escrito em menos de 200 linhas de C.- Dados de leitura / escrita / fluxos rapidamente .- Se necessário, a ofuscação é possível. DesvantagensHaving Tanto acontecer na frente torna o sistema um tanto único-direcional. O que a fonte legível humana pode ser reconstruída em algum sentido, dados como comentários e outras marcas são perdidos na compilação. Para distribuição e colaboração, é importante também compartilhar os arquivos de origem. A entrada da primeira tarefa é realmente inserir seus dados. Para isso, você cria um módulo Python com um objeto, o mesmo nome do arquivo. Você pode estruturar isso como você por favor. Se você é um fã JSON, você pode escrever algo assim: "" "Meus animais de estimação favoritos - um exemplo básico" "" Pets_one = {"Benny": {"Tipo": "Cão", "Nome": "Benny Boos" , "Cor": "Brown", "Brinquedos": }, "Roger": {"Tipo": "Cavalo", "Nome": "Roger Horse", "Cor": "Branco", "Brinquedos": }, "Catherine": {"tipo": "gato", "nome": "Catherine", "cor": "Brinquedos": ": }} Mas ter Python permite que você seja muito mais expressivo. Você pode ajustar a entrada de dados de muitas maneiras diferentes para torná-lo mais simples, mais explícito ou mais estético. "" "Meus animais de estimação favoritos - outro exemplo" "" de pimark.util Import ENUM, módulo, struct "" "Def Pet (** Kwargs): Retorna a cor KwargsDef (R, G, B): Retorno (R, G, B)" "" "Constantes" "tipos = enum (" cão "," Cavalo "," Cavalo " Toys = enum ("string", "mouse", "pincel", "osso", "bola") cores = estrutura (marrom = cor (94, 83, 51), branco = cor (255, 255, 255) , Gengibre = cor (237, 133, 14),) "" "módulo" "" "pets_two = módulo (benny = pet (tipo = tipos.dog, name =" benny boos ", cor = cores.brown, brinquedos = ), roger = animal de estimação (tipo = tipos.horse, nome = "roger cavalo", cor = cores.white, brinquedos = ), Catherine = Pet (Catherine = Pet tipo = tipos.cat, name = "catherine", cor = cores.ginger, brinquedos = )) Talvez o exemplo acima se pareça com um pouco de uma bagunça, mas ele mostra alguns dos o potencial. Não tenho nenhuma preferência real para qualquer estilo, mas ao usar o Python, você tem a opção de adaptar sua marcação dependendo da preferência ou do domain.compilingOnce Você tem o módulo escrito apenas alimentá-lo em pmark.pymark pets_two.py> pets_two.pmkapplicationi tentaram fazer A API bastante simplista e clara. Carregando dados a tempo de execução e facilitando o acesso em um tipo de linguagem segura sempre será horrível. É uma das principais questões com a marcação de objetos em uma linguagem separada e há pouco tempo. Em c você pode fazer algo assim. # Incluir #include "pmark.h" int main (int argc, char ** argv) {pimarkobject * Pets = pimark_unpack ("pets_two.pmk"); Pimarkobject * cat = pets-> get (animais de estimação, "catherine"); Pimarkobject * cat_color = cat-> get (cath, "cor"); Pimarkobject * cat_toys = cat-> get (cath, "brinquedos"); printf ("TypeID:% i \ n", cat-> get (cath, "tipo") -> as_int); printf ("Nome:% s \ n", cat-> get (cath, "nome") -> as_string); printf ("cor: (% i,% i,% i)", cat_color-> itens .as_int, cat_color-> itens .as_int, cat_color-> itens . printf ("ToyIDs:"); para (int I = 0; eu comprimento; i ++) {printf ("% i", cat_toys-> itens -> as_int); } Printf ("\ n"); Pimark_delete (animais de estimação); return 0;} A sintaxe C ++ é um pouco mais sã, embora a implementação não seja muito mais limpa no geral. # incluem #include "pmark.hpp" int main (int argc, char ** argv) {pimark: : PymarkObject * Animais de estimação = pimark :: desembalar ("pets_two.pmk"); Pimark :: pimarkobject * cat = pets-> get ("catherine"); Printf ("TypeID:% i \ n", cat-> get ("Type") -> Asint ()); printf ("Nome:% s \ n", cat-> get ("nome") -> Assente ()); printf ("cor: (% i,% i,% i) \ n", cat-> get ("cor") -> em (0) -> Asint (), cat-> get ("cor") > Em (1) -> Asint (), cat-> get ("cor") -> em (2) -> Asint ()); Excluir animais de estimação; Retornar 0;} Espero que mais línguas suportadas em breve ... Homepage do produto


Pimark Software Relacionado

hn.

uma biblioteca CLI e Python para usar a API HNSearch ...

111

Download