2011/08/22

csharp repl

何かとREPLが欲しくなるわけです。

monoにはC#のreplがあるってんで入れてみました。どうして肝心のVSにはないんでしょうね。馬鹿なの死ぬの? mono自体はyumで入れようと思いましたが途中でコケたので、ソースから入れました。(windowsでも
$ csharp
でREPL開始。

ShowUsing();でusingされている名前空間を、ShowVars();でREPLの環境内にある変数を表示しれくれます。quit;で終了。
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> ShowUsing();
using System;
using System.Linq;
using System.Collections.Generic;
using System.Collections;
csharp> var a = Enumerable.Range(0, 100);
csharp> ShowVars();
System.Collections.Generic.IEnumerable a = System.Linq.Enumerable+c__Iterator24
csharp> var a = Enumerable.Range(0, 100).ToArray();
csharp> ShowVars();
int[] a = System.Int32[]
csharp> a.Select(i => Convert.ToString((byte)i, 16).ToUpper());
{ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1A", "1B", "1C", "1D", "1E", "1F", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2A", "2B", "2C", "2D", "2E", "2F", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3A", "3B", "3C", "3D", "3E", "3F", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4A", "4B", "4C", "4D", "4E", "4F", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5A", "5B", "5C", "5D", "5E", "5F", "60", "61", "62", "63" }
csharp>
微妙に補完も助けてくれます。 Enumerableと入れてタブを押したら
csharp> Enumerable
Enumerable EnumerableExecutor EnumerableQuery
続いて「.」を入れてタブを押したら
csharp> Enumerable.
Aggregate All Any AsEnumerable Average Cast Concat Contains Count DefaultIfEmpty Distinct ElementAt ElementAtOrDefault Empty Except First FirstOrDefault GroupBy GroupJoin Intersect Join Last LastOrDefault LongCount Max Min OfType OrderBy OrderByDescending Range Repeat Reverse Select SelectMany SequenceEqual Single SingleOrDefault Skip SkipWhile Sum Take TakeWhile ThenBy ThenByDescending ToArray ToDictionary ToList ToLookup Union Where Zip
csharp> Enumerable.
といった具合です。

 テスト用のプロジェクトを立ち上げてもいいし、コードの余白に確認用のコードを書いてイミディエイトウィンドウで確認してもいいんですけどね。


ところで

最近mifareをC#でごにょごにょする仕事をしてます。
C#もVisual Studioもすごく久しぶりでプログラミング以前のところで四苦八苦したり。
プログラミングの方もだいぶ四苦八苦してますが。

C#(というか.NET)はすごいし、まじで素晴らしいです。でもC系のシンタックスって人に優しくなくないですか?優しくないです。

VSのEmacsキーバインドがどうにも微妙でViEmu入れてみたり。
このままだとViEmu買ってしまいそうで怖い。その点2010は無料でいい感じの拡張があっていいですねー(棒読み

 

追記


プログラミングC# 第5版

0 件のコメント:

コメントを投稿