超雑にまとめました。修正してください。
登場人物
- アプリケーション先輩: いつも忙しい。横に広がるのが得意(デブじゃない)。
- 後輩: 頼んでばっかしで役に立たない。
- サーバー先輩: アプリケーション先輩と仲がいい。Unix Socket でつながるくらい仲良し。
- プロクシ先輩: アプリケーション先輩とかサーバー先輩と後輩の間を取り持って代わりに伝えたりしてくれる。たまに勝手にレスポンスを書き換える。
| function! s:is_cmdwin() | |
| try | |
| noautocmd wincmd p | |
| noautocmd wincmd p | |
| catch | |
| return 1 | |
| endtry | |
| return 0 | |
| endfunction |
| /* vim:set ts=2 sw=2 sts=2 expandtab */ | |
| /*jshint asi: true undef: true es5: true node: true devel: true | |
| forin: false latedef: false */ | |
| /*global define: true */ | |
| if (typeof(WeakMap) === 'undefined') WeakMap = (function(global) { | |
| "use strict"; | |
| function defineNamespace(object, namespace) { |
| function! s:open_pair_file() | |
| let path = expand('%:p') | |
| let pairs = [ | |
| \ ['/autoload/\([^/]\+\).vim$', '/plugin/\1.vim'], | |
| \ ['/plugin/\([^/]\+\).vim$', '/autoload/\1.vim'] | |
| \ ] | |
| for [pat, sub] in pairs | |
| if match(path, pat) != -1 | |
| execute 'hide' 'edit' substitute(path, pat, sub, '') | |
| break |
| " Commands | |
| command! -nargs=0 -bang Vai | |
| \ call s:vai.vavai('<bang>' == '!') | |
| " Variables | |
| let s:vai = {} |
| fizz = function f() { | |
| fizz = function () { | |
| fizz = function () { | |
| fizz = f | |
| return "Fizz" | |
| } | |
| } | |
| } | |
| buzz = function f() { |
MonoDevelop勉強会では、MonoDevelopの使い方を基礎の基礎から応用まで説明する。これはその補完的な事前資料とする。
C#と.NET Frameworkは、ECMA CLI標準に従っており、プラットフォーム中立の中間言語を使用するので、本来はどんなOS環境でも動作できるようになっている。しかし、Microsoftの.NET FrameworkはWindowsでしか動作しない。これをLinuxやMac OS Xでも使えるようにしようと始まったのがMonoプロジェクトである(MicrosoftはsscliというFreeBSDベースの実装を公開している)。
.NET Frameworkがそうであるように、monoにもC#コンパイラと基本ライブラリ、そして中間言語コードを実行するランタイムがある。monoのC#コンパイラはC#で書かれていて、それ自身monoで動作する(.NET Frameworkのcscもいずれそうなる予定)。.NETはP/Invoke(プラットフォーム呼び出し)によって、ネイティブコードを呼び出すことができるようになっていて、.NETではWin32 APIが頻繁に呼び出されている。monoでもこの仕組みを利用してgtk+のアプリケーションをC#で開発できる、Gtk#というライブラリが提供されている。
| (use 'clojure.test) | |
| (with-test | |
| (defn f | |
| [& {:as options}] | |
| options) | |
| (is (nil? (f))) | |
| (is (thrown? IllegalArgumentException (f nil))) | |
| (is (thrown? IllegalArgumentException (f :a))) | |
| (is (= (f nil nil) {nil nil})) |