Rustのパターンマッチを完全に理解した (2)

本記事はRustその2 Advent Calendar 2018 の17日目の記事です。

本blogで Rustのパターンマッチを完全に理解した を書いてから約1年が経過しました。

その間にRustにはパターンマッチ関連の機能もいくつか追加され、以前の内容ではパターンマッチを完全に理解したとは言えなくなってしまいました。

そこで、本記事では

  • Rustに最近追加されたパターンマッチ関連の仕様
  • 最近追加されたわけではないが、以前の記事で書き忘れた機能

について紹介したいと思います。

続きを読む

Rustのパターンマッチを完全に理解した

プログラミング言語Rustのパターンマッチを完全に理解しました!!!
記念にここにメモしておこうと思います!

let文について

let文ってありますよね?こういうのです。

1
let x = 1;

タプルや構造体ならこんな感じ。

1
2
3
4
5
6
7
struct Foo {
a: i32,
b: i32,
};

let x = (1, 2);
let x = Foo { a: 1, b: 2 };

これが基本系ですね。

これが基本?そうじゃない!

続きを読む

差分表示ソフト Rekisa

Rekisaは一度に3つ以上のファイルを比較できる、テキスト比較ソフトです。

主な特徴

  • キーボード操作に適したテキストエディタ風インターフェイス
  • 行単位の違いを背景色で表示し、文字単位の違いは下線で表示
  • 左右のテキストのカーソルが文字単位で連動する為、テキストの対応関係がわかりやすい
  • SHIFT_JIS、EUC-JP、UTF-8等、様々な文字コードに対応し、自動判別して開く
  • 様々なコマンドラインオプションが使用可能な為、他のソフトとの連携が容易
  • “svn.exe” を使用してSubversionと連携することが可能

続きを読む

コマンド型ランチャ O2Handler

O2Handlerはキーワード入力によって、プログラムの実行、ファイルの削除、Web検索などを素早く行うためのソフトです。
次のような特徴があります。

  • ドラッグ&ドロップによる簡単コマンド登録
  • コマンドは自由に省略して実行可能(例:”InternetExplorer” を “ie” “inter” “net” の様にどの文字でも省略可能)
  • コマンドの合成機能を搭載(例:”Firefox<Vector” で FirefoxでVectorのページを開く)
  • 日本語のファイルやコマンドをローマ字で検索する機能を搭載(”メモ帳” を “memo” で検索可能)
  • ほぼ全ての操作は非同期処理(時間のかかる作業を行っても、同時に別の作業ができます)
  • タブ機能を搭載

続きを読む