2009-06-24 25 views
13

Alcune implementazioni del linguaggio di programmazione forniscono una shell interattiva Read, Evaluate, Print Loop per consentire al programmatore di valutare espressioni e frammenti di programma e di programmare in modo incrementale e interattivo.Cos'è un'implementazione di lettura, eval, stampa, loop valida per C#?

Quali implementazioni di un C# REPL avete utilizzato e apprezzato? Sarebbe bello averne uno che potesse integrarsi anche con Visual Studio.

ho trovato, ma non provato, il Mono C# REPL e Don Box's C# REPL

+3

vedere la domanda: http: // stackoverflow.it/questions/337254/c-console-cli-interpreter –

risposta

1

Lo strumento migliore che ho trovato per la scrittura di codice C# interattivo è il C# Snippet Compiler.

Non sono sicuro che sia esattamente REPL ma è un ottimo modo per testare quasi tutto usando C# /. NET.

Supporta versioni di framework fino a 3,5. Non è progettato per integrarsi direttamente con Visual Studio, tuttavia fornisce anche il proprio intellisense.

Naturalmente è molto semplice copiare/esportare il codice da questo nei progetti di Visual Studio.

4

Visual Studio 2008 include funzionalità REPL-like, anche se non le chiamerei necessariamente "buone". Penso che abbiano il vantaggio di essere inclusi e sempre disponibili, il che può essere utile quando si cerca di lavorare su una workstation diversa dalla propria.

In Visual Studio, è possibile creare un'istanza e richiamare metodi di oggetti utilizzando Object Test Bench. È inoltre possibile scrivere codice C# interattivo (con molti limiti) utilizzando lo Immediate Window (Debug->View->Immediate Window). La finestra immediata può essere utilizzata al di fuori di una sessione di debug.

0

Non so di shell interattiva per l'esecuzione di snippet di codice C#. Ce n'è uno per il progetto mono, ma non l'ho provato: http://www.mono-project.com/CsharpRepl

Ho provato il compilatore snippet C#, e sembra essere praticamente lo stesso di creare una nuova applicazione console in Visual Studio, ma con intelligenza limitata e nessuna delle funzioni di debug.

In questo momento utilizzo il modello di applicazione console incorporato ogni volta che voglio provare codice sperimentale di tipo input-output semplice. Io uso console Console.ReadLine() e Console.WriteLine() per l'input e l'output.

In realtà funziona abbastanza bene per me. Di solito, salvo tutti i miei piccoli programmi di test, posso tornare indietro e trovare qualcosa con cui ho lavorato qualche mese fa e ottenere le funzionalità complete di debug di Visual Studio.

1

Uno che ho visto è solo alla fine di this video da PDC in cui Hejlsberg va oltre C# 4.

+0

Video impressionante. La parte sull'uso del compilatore come servizio inizia a 59 minuti e 25 secondi nel talk, ma l'intero video è fantastico. Anders è un ragazzo davvero intelligente, e fa davvero un buon discorso. –

5

Mono viene fornito con REPL tool called "csharp". L'ho appena provato su Mac OS X e funziona come per magia. L'unica caratteristica che attualmente manca è Intellisense, ha promesso di comparire in Mono 2.6