2009-06-24 22 views
13

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

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

я нашел, но не пробовал, то Mono C# REPL и Don Box's C# REPL

+3

см. вопрос: http: // stackoverflow.com/вопросы/337254/c-console-cli-interpreter –

ответ

1

Лучший инструмент я нашел для написания интерактивных C# код является C# Snippet Compiler.

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

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

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

4

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

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

0

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

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

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

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

1

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

+0

Удивительное видео. Часть об использовании компилятора в качестве услуги начинается с 59 минут и 25 секунд в разговоре, но все видео отлично. Андерс - действительно умный парень, и он дает хорошие разговоры. –

5

Моно поставляется с REPL tool called "csharp". Я просто попробовал его в Mac OS X, и он работает как магия. Единственная особенность в настоящее время не хватает, Intellisense, обещал появиться в Mono 2,6

Смежные вопросы