C # 4.0 REPL Андерса Хейлсберга

В течение последних 10 минут своего выступления Андер Будущее C # демонстрирует действительно классное чтение C #. Цикл Eval-Print, который будет огромным подспорьем в изучении языка.

Уже доступно несколько загрузок, связанных с .NET4: Visual Studio 2010 и .NET Framework 4.0 CTP, Учебный комплект Visual Studio 2010 и .NET Framework 4. Вы знаете, что случилось с этим REPL? Это где-то спрятано среди примеров?

Я знаю про моно репл. Пожалуйста, никаких альтернативных решений.


person George    schedule 27.07.2009    source источник
comment
Я знаю, что это очень давно, но для следующего человека, который наткнется на это, когда я искал C # Roslyn REPL (в основном тот, который использует Андерс), перейдите по адресу: http://www.microsoft.com/download/en/details.aspx?id=27746, установить, перезапустить визуальный studio ... по ссылке: Новое окно инструмента под названием C # Interactive доступно в Visual Studio при вызове View - ›Other Windows -› C # Interactive из меню.   -  person ckozl    schedule 28.12.2011
comment
Ссылка мертва. Похоже, MS убила версию 2010 года. Если у вас 2012, вы можете попробовать следующее: microsoft.com /en-us/download/details.aspx?id=34685   -  person John Fouhy    schedule 20.12.2012
comment
ScriptCS, по-видимому, лучший автономный REPL, построенный на основе API Roslyn и использующий NuGet в качестве диспетчера пакетов: github.com/scriptcs/scriptcs   -  person dperish    schedule 17.11.2014


Ответы (10)


Демонстрация REPL была частью того, «что может случиться дальше», т. Е. после 4.0; в .NET 5.0 или что-то подобное.

Это не функциональность 4.0 и никогда не использовалась.

person Marc Gravell    schedule 27.07.2009
comment
Я предположил, что он продемонстрировал в ответ на этот пост аналогичную технологию в Mono: tirania.org/blog/archive/2008/Sep-10.html - person plinth; 27.07.2009
comment
Да, ответ от Mono неплох (для тех, кто этого не знает, возьмите mono, затем monodir / bin / gsharp или / bin / gsharp). Но мне не хватает возможности добавлять функции так же, как это делает Андерс. - person George; 27.07.2009
comment
В качестве альтернативы я использую slover.com/dotnet/SnippetCompiler и REPL от Mono, но он было бы неплохо иметь достойный C # Repl. - person George; 27.07.2009
comment
@DamianPowell зависит от вашей точки зрения; p В то время OP ожидал, что REPL будет включен в состав .NET 4.0 BCL, что явно не так, поскольку это не было функциональностью 4.0. - person Marc Gravell; 05.02.2013

Вероятно, стоит упомянуть, что в проекте Mono уже есть C # REPL, который я обычно использую для тех небольших проверок, которые вы делаете время от времени. Взгляните. Кроме того, если я тестирую идею, которая мне не нравится, Mono - это будет хорошо работать, и не стоит начинать новый тестовый проект, тогда всегда приходит Snippet Compiler удобно.

person EightyOne Unite    schedule 26.11.2009

Окно Immediate (Debug> Windows> Immediate Ctrl + D, I) - довольно хорошая встроенная замена. Оно требует, чтобы вы запустили IDE и на чем-то поставили точку останова.

Это дает вам контекст, в котором вы хотели бы поэкспериментировать.

person Kevin Driedger    schedule 21.01.2011
comment
Немедленный режим не поддерживает лямбды C # :( - person bradgonesurfing; 28.11.2012
comment
Это тяжелая пилюля: лямбда-выражения, безусловно, хороши, и их использование в непосредственном окне, а также при редактировании и продолжении значительно улучшит впечатления от визуальной студии. - person Kevin Driedger; 03.12.2012
comment
Немедленное окно - это шутка по сравнению с REPL - оно создано, чтобы помочь вам с отладкой, не более того. Настоящий REPL всегда доступен, и как только вы загрузите все зависимости, нет никаких ограничений на то, что вы можете делать. В окне «Непосредственно» вы не можете создавать классы. Вы не можете создавать методы. Вы не можете переопределить код. Лямбды. И т.д. Вы можете вызывать методы, изменять значение свойства и создавать переменные. Вот и все. Если вы когда-либо действительно использовали REPL, вы должны знать, что окно Immediate далеко не является заменой - мотоцикл просто нельзя заменить трехколесным велосипедом. - person Unknown; 08.05.2015
comment
Настоящее дело - редактирование кода в реальном времени с помощью инструмента, который знает о состоянии системы ... подумайте о REPL с обозревателем кода. Мне кажется, что Smalltalk - это модель, которую мы должны искать (и да, добавление / удаление полей / методов / классов, редактирование тела метода и проверка состояния программы) - person Kevin Driedger; 27.05.2015

Ответ Марка совершенно правильный, возможность ответа или сценария, такого как C #, обсуждалась Эриком Липпертом в двух сообщениях в блоге:

Я бы добавил, что CTP 2010 действительно содержит f # repl (не очень полезен для C #, но если вас интересует какой-то аспект BCL или CLR, этого может быть достаточно для ваших нужд)

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

person ShuggyCoUk    schedule 27.07.2009
comment
Подсказка о F # Interactive очень полезна. Я часто использую это, чтобы быстро проверить такие вещи, как классы Regex, сетевые классы и т. Д. - person Armentage; 24.10.2010
comment
Я обычно использую PowerShell, когда хочу что-то протестировать в рамках. Это стало еще проще, теперь у нас есть консоль диспетчера пакетов. Очевидно, это не поможет вам что-то протестировать на языке C #. - person Damian Powell; 05.02.2013

Взгляните на эту C # REPL Script Environment, которая является отличный способ быстро запустить сценарий C # (и научиться программировать)

person Dinis Cruz    schedule 02.08.2012

Я только что опубликовал расширение VisualStudio, которое предоставляет среду REPL внутри VisualStudio (а именно среду REPL C # с Fluent API для .NET и VisualStudio).

Помимо возможности писать и выполнять быстрые фрагменты кода C # (в среде REPL), вы можете программировать VisualStudio IDE в реальном времени!

Вы можете установить его с помощью диспетчера расширений VisualStudio (поиск C # REPL) или по ссылке для загрузки на странице галереи VisualStudio: VisualStudio C # REPL

Страница VisualStudio C # REPL также содержит дополнительные сведения и примеры кода.

Также существует ветка Reddit по этому расширению (которая содержит дополнительный код образцы).

Дай мне знать, что ты об этом думаешь

person Dinis Cruz    schedule 02.10.2012
comment
Есть ли планы по обновлению до VS 2013? - person cori; 18.07.2014
comment
Да, думаю, пора это сделать. Я добавил эту проблему, чтобы отслеживать ее (github.com/o2platform/FluentSharp.VisualStudio/issues/ 1). Это открытый исходный код, поэтому, если вы (или другие) могли бы помочь, было бы здорово - person Dinis Cruz; 18.07.2014

Командная строка REPL

Чтобы поиграть с C # REPL вне Visual Studio, откройте Командную строку разработчика для VS2015 и введите команду csi, чтобы начать интерактивный сеанс. Вот список аргументов, которые можно передать в csi.

Примечание. csi означает "CSharp Interactive".

Вы также можете открыть интерактивное окно прямо из Visual Studio, перейдя к View > Other Windows > C# Interactive.

Посетите Roslyn Wiki в интерактивном окне C #.

person anishpatel    schedule 11.05.2017

Я нашел http://kamimucode.com/Home.aspx/C-sharp-REPL/1. Это кажется довольно хорошим, и я считаю, что также предоставляет API для динамической оценки выражений.

person ricardo    schedule 05.04.2011

Чтобы обновить этот старый вопрос, C # REPL теперь доступен как часть Visual Studio IDE (начиная с версии VS 2015 update 1).

Представляем Visual Studio 'C # REPL'

person Tilak    schedule 11.08.2016

Время от времени я хочу попробовать какой-нибудь .NET API вместо того, чтобы интересоваться синтаксисом языка C #. (В API гораздо больше тонкостей, чем в самом языке.) Если вы ищете только REPL для .NET, старый добрый PowerShell всегда с вами.

C#:

using System;
using System.Text;

Convert.ToBase64String(Encoding.UTF8.GetBytes("Overflow"));

PowerShell:

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("Overflow"))
person Franklin Yu    schedule 17.11.2018