「Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、本来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる
いいね! 6 ツイート B! はてブ 738 Pocket 138 tracをご存知ですか?tracは主にシステム開発系プロジェクトにおいて、バグ管理・バージョン管理・ドキュメント共有に使われる超便利ツールです。これがないと開発なんて出来ないよ!という開発者も多いはず。 そんなtracですが、個人用や家庭用でもカナリ使えるツールなんです。開発をしなくても、「脳をすっきりさせたり」「自分タスクを整理したり」「アイデアを貯めたり」「旅行計画を家族と共有したり」、日常生活という自分プロジェクトの管理ツールとして活用することができます。 tracとは 前述の通り、tracは主にシステム開発で使うプロジェクト管理ツールで、無償ソフトとして配布されているので、誰でも自由にダウンロードして使うことができます。 主に利用できる機能が4つあって ■ wiki 誰でもいつでも編集できるwiki機能があります。
makeというコマンドは、Makefileというファイルの記述に従ってファイ ルの更新を行なうユーティリティです。 と書いてもよくわからんだろうなぁ(^^; まあ、最初のセクションmakeって何するもん?でも読んでみてください。 このページの目標地点は入門の手前あたりまでです。「makeって聞いた ことはあるけど」とか「ちょっと触ってみようかな?」というレベルを 対象に書いてみました。「Makefileって最初だけを大文字にしなくちゃ いけないの?」などということさえ書かれていません。そのへんはman かinfoか成書で調べてください。 なお、このページ中で $ ls などと書いてあるときの$はコマンドプロンプトです。 目次 makeって何するもん? もっとも簡単な例 複数ファイルの場合 マクロの利用 ターゲットの生成方法の指定 ちょっとした応用 C以外にmakeを使う サフィックスルール
録箱 [last updated:2005/03/30] [since:2003/11/09] Ruby 1.8.xをPlan9で動かす もともとは「Ruby 1.8.0をPlan9で動かす」という題名でしたが、 Ruby 1.8.1にも対応したので、変更しました。 Plan9の Additional Software を見ると、PerlとかPythonとかはあるのに、 Rubyはありません。 ということで、RubyをPlan9でコンパイルしてみることにしました。 Plan9のAPE環境でコンパイル出来るようにすることを目指しました。 成果物を以下に置いておきます。 使用条件は、もとのRubyと同じということで(手抜き)。 このアーカイブのソースコードは、他のプラットフォームではコンパイルできない (かもしれない)形に改変されています。 単にmakeしてmake testを通しただけなので
Welcome to CLikiCLiki is a Common Lisp wiki hosted by The Common Lisp Foundation. CLiki contains resources for learning about and using the programming language Common Lisp, and information about DFSG-compliant free software implemented in Common Lisp. CLiki Resources Getting Started - Practical tips and basics for newcomers to Lisp Free Software Common Lisp implementations Development tools Curre
オブジェクト倶楽部2007クリスマスイベント ライトニングトークス(オーム社) 編集からアジャイル編集者へRead less
はじめに このジェネレータはJudeで作成したクラス図の情報を取得し、それを元に、ActiveScaffoldで必要なコーディングのソースを自動生成することにより、ActiveScaffoldの環境構築を行えば、クラス図を書くだけでActiveScaffoldのアプリケーションを作成できるというツールです。 早い話がクラス図を描いたら、とりあえずアプリケーションができますという話です。もちろん限定されたところにしか使えないと思いますが、JudeとRubyを活用してこんなに簡単にジェネレータが作れるというのを感じていただければ嬉しいです。ジェネレータを使用するための環境設定 最初にジェネレータを使用するに当たって、JRubyとLuRuJuというライブラリ、およびUMLツールのJudeのセットアップを行いましょう。JRubyのセットアップ JRubyはRubyのJavaでの実装です。通常のRu
次の関数は再帰的な関数だ。 (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1)))))) この関数は内部で自分自身を呼び出しているので、普通の方法では無名関数として定義できない。 こういう場合、不動点オペレータというものを使うと以下のようにしてfactを定義することができる。(fact関数の中で直接factという名前を使っていない所がポイント) (define fact (let ((Y (lambda (F) ((lambda (s) (F (lambda (x) ((s s) x)))) (lambda (s) (F (lambda (x) ((s s) x)))))))) (Y (lambda (f) (lambda (n) (if (= n 0) 1 (* n (f (- n 1))))))))) ここで天下り的に出て
不動点オペレータY 階乗関数は、 (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1)))))) のように、再帰的に定義できる。 再帰的定義を行なう場合はdefineやletrecを使うけど、 代わりにletを使うと再帰的定義はできない。 defineやletrecをどうしても使いたくないなら、多少工夫がいる。 例えば、factの引数を増やすという方法がある。 (let ((fact (lambda (self n) (if (= n 0) 1 (* n (self self (- n 1))))))) (fact fact 10)) ⇒ 3628800 (中略) 不動点オペレータYを使うと次のように書ける。 (let* ((Y (lambda (g) ((lambda (s) (g (lambda (x) ((s s) x))
_ [ネット] Fの不動点 ラムダ式fを受けとったら、ラムダ式を返す次のようなプロシージャFを定義します。 (define F (lambda (f) (lambda (n) (if (= n 0) 1 (* n (f (- n 1))))))) とりあえず簡単な例で計算してみましょう。Fに常に5を返すラムダ式を渡して、返ってきたラムダ式に3を渡してみましょう。 ((F (lambda (n) 5)) 3) いくらになるでしょうか。 ;; => (* 3 (f (- 3 1))) => 15 15になりました。そして、次のようなプロシージャ fを考えます。 (define f (lambda (s) (F (lambda (x) ((s s) x))))) fはラムダ式を受けとるようなラムダ式sを受けとって、ラムダ式を生成した後、それをFに渡します。 さて、次のような単純なプロシージャhを
GrahamのANSI Common Lispでは嫌われていて碌に説明のないloopマクロ。一方、Practical Common Lispでは対照的に好んで用いられていて、全編に渡って頻繁に使われている。しかしloopマクロは難しいという意識があるのかその説明は第22章とかなり後回しにされており、ちぐはぐな感を受ける。ここでは、LOOP for Black-Belts という題のつけられたその章で解説されているloopマクロの用法を整理してみた。 ANSI Common Lispでの黒魔術扱いに敬遠していたloopマクロだったが、こうして整理してみるとそれほど難しく考えずとも便利に使うことができそうだ。 目次 繰り返し 計数繰り返し コレクション内繰り返し 変数更新しながら繰り返し ループ終了条件の追加 アクション 集約 ループ内ローカル変数 任意の式の実行 条件分岐 ループ中断 その他
that book is dead sexy —Xach on #lisp (more blurbs) This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book. If you find errors in these pages, please send email to book@gigamonkeys.com. These pages will remain online in perpetuity—I hope they will serve as a useful introdu
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く