Frage

Ich habe mit verschiedenen Möglichkeiten zu tun, lesen und Programmierung in Python zu spielen. Ich mag noweb , aber ich habe zwei Hauptprobleme mit sich: Erstens, es ist hart auf Windows zu bauen, wo ich etwa die Hälfte meiner Entwicklungszeit verbringen; und zweitens, es verlangt, dass ich jedes Stück Code einrücken, wie es im endgültigen Programm sein wird ---, die ich nicht unbedingt wissen, wenn ich es schreiben. Ich will nicht, Leo verwenden, weil ich sehr zu Emacs angebracht bin.

Gibt es ein gutes lesen und Programmier-Tool, dass:

  1. Läuft unter Windows
  2. Erlaubt mir die Vertiefung der Stücke zu setzen, wenn sie verwendet werden, nicht, wenn sie geschrieben sind
  3. lässt mich immer noch in Emacs arbeiten

Danke!


Korrektur: noweb hat Lassen Sie mich später einrücken --- ich falsch verstanden das Papier ich es gefunden.

  
    
      

Standardmäßig bewahrt notangle Leerzeichen und hält Einzug bei Brocken zu erweitern. Es kann daher mit Sprachen wie Miranda und Haskell verwendet werden, bei der Vertiefung von Bedeutung ist

    
  

Das läßt mich nur mit der „Läuft unter Windows“ -Problem.

War es hilfreich?

Lösung

Ich tue dies:

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

Sie können eine beliebige Anzahl von Web / Webart Produkte erhalten, die Sie bauen ein Dokument und Code auf einen Schlag helfen.

Sie können - ziemlich einfach - schreiben Sie Ihre eigenen. Es ist kein Hexenwerk, die Python-Code-Blöcke aus RST Quelle zu zerren und sie zusammenbauen. In die Tat, empfehle ich Sie Ihre eigenen Docutils Richtlinien schreiben den Python-Code aus einem RST Quelldokument zusammenzustellen.

Sie führen die RST durch docutils rst2html (oder Sphinx) Ihren endgültigen HTML-Bericht zu erzeugen.

Sie führen Ihr eigenes Dienstprogramm auf der gleichen RST Quelle der Python-Code-Blöcke und produzieren die letzten Module zu extrahieren.

Andere Tipps

Ich habe geschrieben Pweave http://mpastell.com/pweave , dass für die dynamische Erstellung von Berichten ausgerichtet ist und verwendet noweb Syntax. Es ist eine reine Python-Skript, so dass es auch unter Windows läuft. Es ist fix nicht Ihren Einzug Problem, aber vielleicht können Sie es für das ändern, ist der Code wirklich ganz einfach.

Der de-facto-Standard in der Gemeinde ist IPython Notebooks.

Ausgezeichnetes Beispiel, bei dem Peter Norvig zeigt Algorithmen, um das Reiseproblem zu lösen: http: // nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb

Weitere Beispiele aufgeführt unter https://github.com/ipython/ipython / wiki / A-Galerie-of-interessant-IPython-Notebooks

Sie könnten org-Modus und babel-Gewirr verwenden.

Das funktioniert ganz gut, da Sie geben können. Noweb-ref Quellenblocks

Hier ist ein minimales Beispiel: aktivieren org-babel-Gewirr , dann die Datei noweb-test.org setzen diese in:

#+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

Sie können auch verwenden, um Eigenschaften von Überschriften für den noweb-ref geben. Es kann dann auch automatisch mehrere Quellenblocks in eine noweb Referenz verketten.

:results output auf die #+begin_src Linie des zweiten Blocks Fügen Sie die Druckergebnisse unter diesem Block zu sehen, wenn Sie C-c C-c im Block getroffen.

Sie können feststellen, noweb 3 einfacher auf Windows zu bauen. Es wurde entwickelt, um mehr tragbar als Standard noweb zu sein.

Siehe auch mein letztes LP-Tool: http://code.google.com/p/nano -lp . Es ist erfordert kein spezielles Eingabeformat unterstützt Markdown / Multimark, reStructuredText, Openoffice / Libreoffice, Kreolisch, TeX / LaTeX und super leicht und sauber Syntax hat -. Nicht mehr kryptische lesen und schreiben Programme

Wir haben dieses Tool nützlich zu sein: https://github.com/bslatkin/pyliterate

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top