Что такое хорошая реализация Read, Eval, Print, Loop для С#?

Некоторые реализации языка программирования предоставляют интерактивную оболочку Read, Evaluate, Print Loop, позволяющую программисту оценивать выражения и фрагменты программ и программировать инкрементным интерактивным способом.

Какие реализации С# REPL вы использовали и любили? Было бы неплохо иметь тот, который мог бы интегрироваться с Visual Studio.

Я нашел, но не пробовал, Mono С# REPL и Don Box С# REPL

Ответы

Ответ 1

Mono поставляется с инструментом REPL под названием "csharp" . Я просто попробовал его в Mac OS X, и он работает как магия. Единственной особенностью, которой в настоящее время не хватает, является Intellisense, обещал появиться в Mono 2.6

Ответ 2

Visual Studio 2008 включает REPL-подобные возможности, хотя я бы не стал называть их "хорошими". Я думаю, что у них есть преимущество в том, что они включены и всегда доступны - что может быть удобно при попытке выполнить работу на рабочей станции, отличной от вашей.

В Visual Studio вы можете создавать и запускать методы объектов с помощью Object Test Bench. Вы также можете написать интерактивный код С# (со многими ограничениями), используя Immediate Window (Debug->View->Immediate Window). Немедленное окно может использоваться вне сеанса отладки.

Ответ 3

Лучший инструмент, который я нашел для написания интерактивного кода С#, - это С# Snippet Compiler.

Не уверен, что это именно REPL, но это отличный способ проверить почти все, используя С#/. NET.

Он поддерживает версии рамок до 3.5. Он не предназначен для непосредственного интегрирования с Visual Studio, однако он даже предоставляет свой собственный intellisense.

Конечно, очень легко скопировать/экспортировать код из этого в ваши проекты Visual Studio.

Ответ 4

Один из тех, что я видел только в конце это видео из PDC, где Хейлсберг выходит за пределы С# 4.

Ответ 5

Я не знаю об интерактивной оболочке для запуска фрагментов кода С#. Есть один для монопроекта, но я его не пробовал: http://www.mono-project.com/CsharpRepl

Я попробовал компилятор С# snippet, и он, похоже, почти такой же, как создание нового консольного приложения в Visual Studio, но с ограниченными возможностями intellisense и ни одна из функций отладки.

В настоящее время я использую встроенный шаблон консольного приложения в любое время, когда хочу попробовать простой экспериментальный код типа ввода-вывода. Я использую консоли Console.ReadLine() и Console.WriteLine() для ввода и вывода.

На самом деле это работает очень хорошо для меня. Я, как правило, сохраняю все свои маленькие тестовые программы, поэтому я могу вернуться и найти то, с чем я работал несколько месяцев назад, и вы получаете полные функции отладки Visual Studio.