サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
mnzk.hatenablog.com
この記事は Clojure Advent Calendar 2014 - Qiita 15日目の記事です。 まえおき 去る2014/11/12、無償オープンソース版VisualStudio である VisualStudio Community 2013 が公開されました。Pro相当で機能的な制限はなし。となれば、Clojureの.Net版である Clojure CLR にも今後何らかの動きがあるかもしれない、という期待を抱きつつ久しぶりに触ってみました。このエントリはそのすったもんだです。 vsClojureの導入 VisualStudio(以下 VSと略)のClojure拡張は「vsClojure」です。ツールメニューの「拡張機能と更新プログラム」からインストールできます。 今回は触れませんが、Clojurescriptという記述もありますね。 インストール後VSを再起動するとプロジェク
Windowsのバッチスクリプトで年月日時分秒を表す数列を得る方法。 ファイルのバックアップ時などに欲しくなることあるよね。 日付は環境変数DATEで取得できます。 > echo %DATE% 2014/07/09変数名の後にコロン+チルダを書いてその後ろにスライスする要素の先頭インデックスと切り取る長さを指定 > echo %DATE:~0,4% 2014 > echo %DATE:~0,4%%DATE:~5,2%%DATE:~8,2% 20140709置換を使う。 コロンの後に置換指定もできる。/ を何かに置換するならこんな感じ。 > echo %DATE:/=-% 2014-07-09 > echo %DATE:/=% 20140709時刻も同様に。環境変数TIMEから、コロンを除去する。 > echo %TIME::=% 203341.31おっと、秒未満があるのか。 > set N
この記事は,PowerShell Advent Calendar 2013の7日目の記事です。 なお、私のPowerShell環境は V3 です。以下すべて検証は V3でのみ行っています。 ScriptBlockで文脈を作る ScriptBlockで高階関数を作るとコンテキストをカスタマイズしているかのようなコードが書けます。 PowerShellの冗長性をなんとか回避できないかと奮戦している最中なのですが、その中途半端な成果物をお見せします。 first 関数 function first ([ScriptBlock]$Body) { $input | select -First 1 | % { & $Body } }Select -First 1 と書くのが面倒なので関数にしたものです。 一要素しかないオブジェクトをパイプに流して処理する場合にもよく使っています。 new Uri "h
はじめに このエントリーは、Java8のlambda式についてのエントリー派生シリーズへの便乗記事です。まだ下の記事を見ていない方はリンク先を見ておいてください、そうしないと意味がわかりません。 Java 8を関数型っぽく使うためのおまじない - きしだのはてな Java 8を関数型っぽく使うためのおまじないをF#でやってみた - ぐるぐる~ Java 8 を関数型っぽく使うためのおまじないを F# でやってみたを Scheme でやってみた - 月の塵 SchemeがあるならClojureがあってもいいですよね。 なお、本エントリーは 2013年5月時点の最新バージョンである Clojure 1.5.1にて検証しています。 IFn型 (インターフェース) Clojureでは関数のように振る舞うオブジェクトはIFn*1というインターフェースを実装します。パッケージ名まで含めると cloju
instaparseは文脈自由文法(CFG)による構文解析ライブラリです。ほぼそのままのEBNFと正規表現を使えます。ここでは手ごろなところでCSVの解析器を作ってみます。 leiningenプロジェクト依存モジュール 何はともあれproject.clj。最低限必要なライブラリは以下の二つ。 :dependencies [[org.clojure/clojure "1.5.1"] [instaparse "1.0.1"]] CSVのBNF CSVはRFC4180にBNFが記述されているのでこれを拝借します。 file = [header CRLF] record *(CRLF record) [CRLF] header = name *(COMMA name) record = field *(COMMA field) name = field field = (escaped / non
前編に引き続き、使うのはEmacs Lispです。 -*- 遅延リスト -*- ものすごく基本的なことを書きます。 二つのオブジェクトのペアを作る関数consがあります。このペアはドット対とも呼ばれますが、cdr部がnilの場合、真のリスト*1になります。またcdr部が真のリストであるペアもまた真のリストになります。 (setq c (cons 1 2)) ;=> (1 . 2) ;ドット対 (car c) ;=> 1 car部 (cdr c) ;=> 2 cdr部 (setq ls (cons 1 (cons 2 (cons 3 nil)))) ;=> (1 2 3) ;リスト (car ls) ;=> 1 (cdr ls) ;=> (2 3) (car (cdr ls)) ;=> 2 (car (cdr (cdr ls)) ;=> 3 (car (cdr (cdr (cdr ls)))
(これは、Lisp Advent Calendar 2012の20日目の記事です。) 長いので前後編に分けます。お暇な方はどうぞ。 -*- delayとforce -*- 正格評価の言語でもクロージャがあれば遅延評価を行うことができます。計算式をクロージャに包んでしまえば、クロージャが呼び出されるまで中の式は評価されません。*1 先行評価 (+ 2 3) ;=> 5 遅延評価 (setq p (lambda () (+ 2 3))) ;=> 計算式を包んだクロージャ (funcall p) ;=> 5 遅延評価したい式をいちいちlambdaで包むのは面倒だし、lambdaだけでは「式を遅延評価させたい」という意図が伝わりません。ライブラリにしましょう。 (defmacro delay (expr) `(lambda () ,expr)) (defalias 'force 'funcall)
[2012/12/22 追記] VirtualBoxのバージョンアップ(4.2.6)を行ったところ、ブリッジアダプタが選択できるようになりました。 VirtualBox(4.2.4)をWindows7にインストールして利用していましたが、ホストOSをWindows8へアップグレードしたところ、ネットワーク設定のブリッジアダプタがエラーになり、ブリッジアダプタ接続で利用していたゲストOSがLANに繋らない状態になってしまいました。設定を変えつつ試したところ、以前とは異る設定ですが一応繋るようになりましたので、ご報告。 ◆状態確認1: Windows8へのアップグレード直後のVirtualBox ゲストOSのネットワーク設定を確認。ブリッジアダプタ割り当ての「名前」のコンボに「未選択」しか表示されないため設定できない。割り当てを「ホストオンリーネットワーク」にしても同様でした。 ◆状態確認2:
このページを最初にブックマークしてみませんか?
『Code Aquarium』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く