Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

C# REPL com Mono no Windows


REPL Feedback

Uma das coisas que me fascinaram logo no VB6 foi o Immediate. Foi bem legal descobrir que poderia executar alguns comandos, criar e inspecionar valores, executar operações, etc, em uma janela de comando.No .NET isso continuou, e temos o Immediate Windows no Visual Studio. Uma das coisas que mais me frustraram foi a incapacidade de utilizar o Immediate sem estar em debug de uma aplicação(acho que hoje isso já é possível). Ainda assim o Immediate possui algumas limitações, não avalia query expression por exemplo:

var pares = from num in new[]{
,2,3,4,5}
    where num%2==0    select num;
    

Isso não é possível.O Projeto Mono tornou possível a realização dessa tarefa com um console para a execução de comandos C# sem a necessidade de uma aplicação estar em debug, e sem a necessidade do Visual Studio estar aberto: agora temos o CSharpREPL.REPL é algo muito comum em linguagens dinâmicas. REPL significa: Read-Eval-Print-Loop.É um ambiente onde podemos executar nossos códigos, sem compilação, e sem complicação. Temos um feedback muito rápido sobre alguma operação que queremos executar em nosso código.

Instalando o Mono

Para utilizarmos o CSharpREPL precisamos instalar o Mono. Faça o download do Mono aqui.Selecione a plataforma Windows e a opção "Mono for Windows, Gtk#, and XSP".Após o download o setup é ao melhor estilo Windows: NNF.

Abrindo o Console Mono

Execute então o console do Mono:Mono-Console CSharpREPL

A seguinte tela será exibida:Mono CSharpREPL

Digite então "csharp", e o REPL será aberto:Executando CSharpREPL

Executando comando C# no REPL

Agora podemos executar comando C# diretamente no console.Executando Linq no REPL do C#:Linq no CSharpREPL

Usando variáveis no REPL C#:Variáveis no CSharpREPL

Executando operações com System.IO no REPL C#:DirectoryGetFiles no CSharpREPL

Conclusão

É isso galera. O projeto Mono possui coisas bastante interessante e tem gente muito boa trabalhando nele. Vale muito a pena conferir como ele pode nos ajudar, ainda que trabalhemos com .NET no Windows e utilizando o Visual Studio.Espero que o REPL ajude vocês assim como tem ajudado uma série de outras pessoas.

Abraços, e não deixem de conferir o site do Projeto Mono que lançou sua versão 2.8 esta semana.Vinicius Quaiato.

Voltar

Fork me on GitHub