2016-05-23 13 views
2

Mit Python in der Befehlszeile können Sie Hilfe (Funktion) schreiben, um Docstring zu sehen. Gibt es in Fsharp etwas Ähnliches für FSI?Gibt es so etwas wie Python Hilfe-Funktion in Fsharp interaktiv?

Haben Sie irgendwelche Tipps und Tricks für die Arbeit in fsi sowieso?

Was ist sogar möglich ohne IDE herauszufinden? Nur von der interaktiven Sitzung.

EDIT: Diese Frage richtet sich eigentlich an Python Jungs, die Fsharp auch kennen. Ich denke, MS Jungs verlassen sich auf ihre VS finden meine Frage ziemlich seltsam :)

Bisher scheint es, dass meine Frage hat einfache Antwort: NEIN.

BEISPIEL: Nehmen wir an, Sie sind auf Remote-Computer über die Konsole angemeldet. Ich weiß nicht, ob das ein typisches oder sogar ein mögliches Szenario ist. Aus irgendeinem Grund begann ich fsi und was nun? Bin ich verloren oder habe ich einige Chancen haben etwas Hilfe von fsi direkt

DISCLAMER zu bekommen: weiß, dass ich Scott Wlaschins fsharpforfunandprofit.com ziemlich gut. Aber sein Beispiel ist C# Benutzern gewidmet. Pythonisten haben unterschiedliche Arbeitsabläufe.

+2

Können Sie das klären - Sie möchten Verwendung FSI _nur_ , keine IDE irgendeiner Art? –

+0

Ich fing an, eine Antwort dafür zu schreiben, aber diese Frage ist so offen, dass es schwer ist, eine hilfreiche Antwort zu geben. Diese könnten helfen. [Visual Studio Intellisense] (https://msdn.microsoft.com/de-de/library/hcw1s69b.aspx), [Visual Studio Objekt-Browser] (https://msdn.microsoft.com/en-us/library/ exy1facf (v = vs.90) .aspx) oder [NuGet] (https: //www.nuget.org /) –

+0

Im Grunde musst du deine Denkweise von Python mit [ente typing] (https://en.wikipedia.org/wiki/Duck_typing) zu F # mit statischer Typisierung ändern, [.Net Library] (https://msdn.microsoft.com/en-us/library/gg145045(v=vs.110).aspx), [F # core] (https://msdn.microsoft.com/en-us/library/ee353567 (v = vs.100) .aspx) und Erweiterungen. –

Antwort

0

Ja.

Einfache Selbstbeobachtung kann durch typeof < _> oder typedefof < _> erfolgen.

Zum Beispiel:

typeof < System.Console> ;;

In FSI können Sie TAB-Ergänzung, aber apperant nur von der Befehlszeile verwenden. Es funktioniert nicht in meinem Xamarin.

Ordentlich Trick ist, auszuführen:

fsi --use: yourfile.fsx

, die Ihre Datei ausführen und lassen Sie es interaktiv testen.

Weitere Informationen können Sie in der Befehlszeile fsi.exe --help verwenden.

+1

'typeof ' funktioniert, wenn 'T' ein Ausdruck ist, der einen Typ/ein Modul bezeichnet (sie sind aus Sicht der Laufzeit dasselbe). Wenn Sie den Typ einer Instanz erhalten möchten, können Sie die Methode 'GetType' verwenden. – pqnet

+0

ja, danke. Es funktioniert großartig. –

2

Wenn Sie auf der interaktiven Python verwendet werden, und Sie den Ansatz, können Sie einen Blick auf diese F # Motor haben für ipython Notebook:

https://github.com/fsprojects/IfSharp

+0

Das ist ein tolles Projekt, ich stimme zu! Leider habe ich einen Fehler, um es auszuführen. Aber die ipython-Befehlszeile ist nicht dasselbe wie jupyter. Aber ich bin jetzt mit fsi zufrieden. Ich entdeckte einige Dinge :) –

+1

@PavelHanpari gibt es einen neuen Zweig, der jupyter kompatibel sein soll. Da es noch in der Entwicklung ist, müssen Sie es leider manuell aus dem Repository kompilieren. Ich habe es gestern versucht und es hat funktioniert. – pqnet

+0

Ich muss es selbst nochmal probieren. Ich habe versucht zu kompilieren, aber es gab einen Fehler in meinem Fall über die Version der Bibliothek. Vielleicht könnte die Lösung Paket sein, das das Problem lösen sollte, wenn ich es richtig verstanden habe. Aber mein .NET ist irgendwie kaputt. –