Domanda

Ho giocato con i vari modi di fare programmazione alfabetizzati in Python. Mi piace noweb , ma ho due problemi principali con esso: in primo luogo, si tratta di duramente per costruire su Windows, dove trascorro circa la metà il mio tempo di sviluppo; e la seconda, mi obbliga a rientrare ogni pezzo di codice come sarà nel programma finale --- che non necessariamente so quando scrivo. Non voglio usare Leo, perché sto molto legato a Emacs.

C'è un buon strumento di programmazione letterato che:

  1. gira su Windows
  2. mi permette di impostare il rientro dei pezzi quando sono utilizzati, non quando sono scritte
  3. consente Ancora farmi lavorare in Emacs

Grazie!


Correzione: noweb non mi permetta di trattino entro --- ho letto male la carta che ho trovato su di esso.

  
    
      

Per impostazione predefinita, notangle preserva gli spazi e mantiene il rientro in caso di ampliamento pezzi. Può quindi essere utilizzato con linguaggi come Miranda e Haskell, in cui rientro è significativo

    
  

Questo mi lascia con solo il "Compatibile con Windows" problema.

È stato utile?

Soluzione

Ho fatto questo:

http://sourceforge.net/projects/pywebtool/

È possibile ottenere qualsiasi numero di prodotti web / tessuto che vi aiuterà a costruire un documento e il codice in un colpo solo.

È possibile - abbastanza facilmente - scrivere il proprio. Non è la scienza a razzo per tirare i blocchi di codice Python da sorgente RST e assemblarlo. Anzi, vi consiglio di scrivere le proprie direttive docutils per assemblare il codice Python da un documento di origine RST.

Si esegue la RST attraverso docutils rst2html (o Sfinge) per produrre il report HTML finale.

Si esegue il programma di utilità sulla stessa fonte RST per estrarre i blocchi di codice Python e produrre i moduli finali.

Altri suggerimenti

Ho scritto Pweave http://mpastell.com/pweave , che si rivolge per la generazione di report dinamici e utilizza la sintassi noweb. Si tratta di uno script python puro modo che venga eseguito anche su Windows. Essa non risolve il problema trattino, ma forse è possibile modificarlo per questo, il codice è davvero molto semplice.

Lo standard de facto nella comunità è notebook ipython.

eccellente esempio in cui Peter Norvig dimostra algoritmi per risolvere il problema del commesso viaggiatore: http: // nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb

Altri esempi elencati https://github.com/ipython/ipython / wiki / A-galleria-di-interessanti-ipython-Notebook

Si potrebbe usare org-mode e babel-groviglio.

Che funziona abbastanza bene, dal momento che si può dare:. Noweb-ref ai blocchi di origine

Ecco un esempio minimo: Attivare org-babel-groviglio , poi mettere questo nel file noweb-test.org:

#+begin_src python :exports none :noweb-ref c
abc = "abc"
#+end_src

#+begin_src python :noweb yes :tangle noweb-test.py
def x():
  <<c>>
  return abc

print(x())
#+end_src

È inoltre possibile utilizzare le proprietà di titoli per dare il noweb-ref. Può quindi concatenare anche automaticamente più blocchi di origine in un riferimento noweb.

Aggiungi :results output alla linea #+begin_src del secondo blocco di vedere i risultati di stampa ai sensi di tale blocco quando si colpisce C-c C-c nel blocco.

Si potrebbe trovare noweb 3 più facile da costruire su Windows. E 'stato progettato per essere più portabile di noweb standard.

Si veda anche il mio ultimo strumento LP: http://code.google.com/p/nano -lp . Non richiede il formato di input speciale, supporta Markdown / MultiMarkdown, reStructuredText, OpenOffice / LibreOffice, creolo, TeX / LaTeX e ha super leggero e la sintassi pulita -. I programmi di alfabetizzati non più criptici

Trovato questo strumento per essere utile: https://github.com/bslatkin/pyliterate

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top