2012年02月29日

Wordでルーラのつまみを無段階で動かしたい

   このエントリーをはてなブックマークに追加 Clip to Evernote

Wordを使っていて不便に感じていたのは、段落などを設定できるルーラーで、
こまかな設定ができず、マウスでつまみを動かすと、カクカクした動きになって
しまうことでした。
文字単位でインデントを設定できるので、普段はこれで問題ないのですが、時々、
微調整をしたくなるときがあります。
先日、初めて知ったのですが、Alt キーを押しながらつまみを動かすと、スムースに動かせます。
いままでなんで気が付かなかったんだろう?
  

Posted by gushwell at 23:30Comments(0)TrackBack(0)

2012年02月26日

Interactive Extensions(Ix) - Distinctメソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
EnumerableEx.Distinct拡張メソッドは、シーケンスの重複する値を削除するメソッドですが、
LINQ 標準のものと異なり、重複比較をするためのキーセレクター(デリゲート)を受けとります。

以下が、ためしに書いたコードです。


3の剰余をキーセレクターとしました。
これにより、余りが1 である 1 4 7 10... は同じ値とみなされます。

結果は、


と出力されます。

  
Posted by gushwell at 23:00Comments(0)TrackBack(0)

2012年02月22日

Interactive Extensions(Ix) - Catchメソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
EnumerableEx.Catch拡張メソッドは、シーケンス列挙時に、例外が発生した場合に、
引数で指定した別のシーケンスを後に続けることができるというメソッドです。

以下のようなメソッドを書いてみました。


CreateNumsメソッドがシーケンスを列挙するのですが、
ある確率で、列挙途中で例外を発生するようにしています。

Catchメソッドだけだと、例外が処理済みと認識されないので、
例外を処理済みにするには、try-catchが必要みたいです。

結果は、例えば、以下のようになります。


  
Posted by gushwell at 23:30Comments(0)TrackBack(0)

2012年02月19日

Interactive Extensions(Ix) - Concatメソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
EnumerableEx.Concatメソッドは、複数のシーケンスを一つのシーケンスに連結するメソッドです。
標準のConcat メソッドは、


と宣言されており、2つのシーケンスの連結ですが、IxのConcatは、


と宣言されていて、拡張メソッドと、通常のstaticメソッドの2つが用意されています。
後者のメソッドを利用するコードを書いてみました。


実行すると、3つのシーケンスが連結され、以下のような結果が得られます。


  
Posted by gushwell at 22:24Comments(0)TrackBack(0)

2012年02月15日

素因数分解小町

   このエントリーをはてなブックマークに追加 Clip to Evernote
WebサイトGushwell's C# Programming page に、「素因数分解した結果が小町になる数を求める」を掲載しました。

これは、ある整数 N を素因数分解したときに、因数が1-9をひとつずつ使っている Nを求める、
というものです。いくつかの制約を加えて、C#で解いています。

世の中に小町数マニアのような人がいるのかどうかわかりませんが、小町数に関するこの手の
数学パズル問題はいろいろあります。
このGushwell"s C# Programing Page のプログラム小品集でもこれまでに、この問題も含めて
7つ取り上げています。
こんな面白い小町数問題があるよ、という方がいれば、是非お教えください。

  
Posted by gushwell at 21:14Comments(0)TrackBack(1)

2012年02月12日

Interactive Extensions(Ix) - Bufferメソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
EnumerableEx.Buffer拡張メソッドは、シーケンスを指定した個数単位で分割して列挙します。
言葉だけで説明するのは難しいですね。
以下のコードを見てください。


結果は、


と出力され、指定した6個単位で分割されているのが確認できます。

変数 buffersは、IEnumerable<IList<int>> 型となります。

  
Posted by gushwell at 23:30Comments(0)TrackBack(0)

2012年02月10日

禁則文字?

   このエントリーをはてなブックマークに追加 Clip to Evernote
とある所で、「ファイル名の禁則文字」というのを目にした。
気になってしかたがない。
「ファイル名に使用できない文字」とかにするべきです。

ちなみに、禁則文字とは、複数行にまたがる文章を書く際に、
行頭、行末には来ていけない文字のことで、
行頭禁則文字と、行末禁則文字があります。


  
Posted by gushwell at 23:00Comments(4)TrackBack(0)

2012年02月08日

Interactive Extensions(Ix) - ForEachメソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
インタラクティブエクステンション(Interactive Extensions; Ix)は、
LINQ to Objectに拡張機能を供給するMicrosoftが提供しているライブラリです。
ここからダウンロードできます。
http://www.microsoft.com/download/en/details.aspx?id=27203
NuGetのIx_Experimental-Mainでも入手できます。

どんなものかなーと興味があったので、動かしてみました。
しばらくの間、このライブラリで遊んでみようと思います。

今日は、ForEachです。

これを使えば、いちいち ToList(), ToArray() を呼び出さなくても、ForEachメソッドが
使えます。
foreach 文を使わずにシーケンスに対する反復処理が書けるので楽ですね。


なお、上記コードは、以下のコードと同等です。

このForEachメソッドは多くの人が自作したと思われますが、これで自作メソッドを
使う必要もなくなりましたね。
  
Posted by gushwell at 22:30Comments(0)TrackBack(1)