タグ

ブックマーク / d.hatena.ne.jp/kitokitoki (19)

  • $@ などの特殊変数をわかりやすい英語名で使用する - わからん

    require "English" すれば、 $@ ではなく $ERROR_POSITION と書けるみたいです。Perl にはそういうのがあると、昔、刺身さんから聞いた気がします。Ruby にもあったのかー。いつのまにか Ruby 標準添付ライブラリの地位を奪取していた James Edward Gray II さん作の csv ライブラリを眺めていてみつけました。上級者は使わないというわけでもなく、好みの問題みたいですね。 ▼ ~/.rvm/rubies/ruby-1.9.3-p125-perf/lib/ruby/1.9.1/English.rb # Include the English library file in a Ruby script, and you can # reference the global variables such as \VAR{\$\_} usin

    sonota88
    sonota88 2018/02/13
    2012
  • 今みつけたおもしろコード - わからん

    rdiscount gem の rdiscount-1.6.8/bin/rdiscount という、コマンドのエントリーファイルをみてびびった。ターミナルで rdiscount --help と実行したときの処理の書き方がたのしい。 #!/usr/bin/env ruby # Usage: rdiscount [<file>...] # Convert one or more Markdown files to HTML and write to standard output. With # no <file> or when <file> is '-', read Markdown source text from standard input. if ARGV.include?('--help') File.read(__FILE__).split("\n").grep(/^# /)

    sonota88
    sonota88 2012/08/28
  • Emacs からポンと利用できる個人用バックアップスクリプトを書いた - わからん

    Emacs勉強会(#Agile渋谷) で紹介した、emacs から使っている、僕のバックアップスクリプトを載せておきます。ちょっとでも不安になったときにとりあえず f12 を押しておく、といったふうに使っています。経緯や思い入れは会場で述べました。使い方はソースコードのコメント欄に書きました。 久しぶりに東京で行われた emacs の勉強会、楽しかったです。編以外だと、2010年3月に行われた ありえるえりあ勉強会〜第2回Emacs〜 で、アリエルネットワーク CTO の井上さんが self-insert-command があるところが emacs の気に入っているところ/良いところといった話をされていたのを覚えていたのですが、なんで self-insert-command をそんなに推すのか 2年半近く気になっていました。今回、ご人に直接質問して解決できてよかったです。 それから、g

    sonota88
    sonota88 2012/08/27
  • 「DSL は自然言語のように読めることを目指すべきか」についてのマーチンファウラーさんの見解 - わからん

    「DSL は自然言語のように読めることを目指すべきか」について、書籍「ドメイン特化言語」で、マーチンファウラーさんは次のような見解を述べていました。 1つだけ特に注意してほしいことがあります。それは、自然言語のように読める DSL を目指してはいけないということです。汎用言語でも同様の試みが何度となく行われてきました。 AppleScript はもっとも顕著な例です。このような試みはシンタックスシュガーの濫用をまねき、意味を理解しずらくします。DSL がプログラミング言語であることを忘れないで下さい。そのため、DSL を利用するときはプログラミングをしている感覚を持てるようにすべきですし、自然言語に比べてはるかに高い簡潔さと正確さを DSL は備えるべきです。プログラミング言語を自然言語のように見せようとするのは、誤った方向の努力です。プログラムに手を加えるときは、プログラミング言語の環境

    sonota88
    sonota88 2012/08/05
  • 祝!「GNU GLOBAL ハンドブック」出版 - わからん

    ソースコードタグシステム GLOBAL の、作者自身による解説「GNU GLOBAL ハンドブック」を読んだので紹介します。章立ては次の通りです。長かったので少し「(省略)」と書いてはしょりました。 目次 第1部 導入編 第1章 インストール 1.1 インストールの最も簡単な説明 1.2 インストールの準備 1.3 ソースアーカイブからのインストール 1.4 CVS リポジトリからのインストール 1.5 ソースアーカイブの署名を確認する 第2章 さぁはじめよう 2.1 GLOBAL ひとめぐりのための最初の題材 2.2 タグファイルを作る 2.3 シンボルの定義場所を調べる 2.4 シンボルの参照場所を調べる(-rオプション) 2.5 定義でも参照でもないシンボルを探す(-sオプション) 2.6 ディレクトリを移動する 2.7 正規表現を使う 2.8 egrep 相当の機能を使う(-gコ

  • Jim Weirich さんから学ぶ DI(Dependency Injection) - わからん

    PHP コミュニティでは今、DI コンテナが花盛りです。良い機会と捉え、勉強しています。このブログ記事では、Jim Weirich さんの O’Reilly Open Source Convention August 1-5, 2005 での Vitally Important or Totally Irrelevant? というタイトルのプレゼン資料を紹介します。完全な翻訳ではなく、省略したりおぎなったりしています。間違いはコメント欄などでご指摘下さい。 この資料では、動的型付け言語である Ruby にとって DI は重要な設計方針なのかを、静的型付け言語である Java のサンプルコードを引き合いに出し論じています。これを読むことで、DI とは何かを(実際に動く)コードレベルから理解することができました。また、Ruby ならではの実装を知ることができました。しかし、Ruby にとって

    sonota88
    sonota88 2012/04/08
  • repl - わからん

    howm wiki より。笑える。 今週気づいたこと: lisp だと文字どおり (loop (print (eval (read)))) で repl ができる

  • grep-a-lot.el のすすめ - わからん

    rgrep という emacs から指定したディレクトリ以下に対して grep する機能がある。M-x rgrep で実行可能。だけど一度 rgrep して *grep* バッファを削除していない場合、次に rgrep しようとしたときに "rgrep: Buffer is read-only: #<buffer *grep*>" といわれ実行できない。以前その対策をしたことがある。 *grep* バッファがあれば、M-x rgrep したときにそれを削除する処理をはさむというもの。 *grep* バッファがあっても rgrep する - わからん grep-a-lot.el はこれとは違い、*grep* バッファをどんどん増やしていくというアプローチ。 rubikitch さんので紹介されていた。 http://www.emacswiki.org/emacs/grep-a-lot.el

    grep-a-lot.el のすすめ - わからん
  • anything で Ruby のマニュアル検索した結果に対して、メモを書き足していけるようにした - わからん

    メソッドなどを anything でマニュアル検索した結果のマニュアルに対して、個人的なメモを付け足していけるようにしました。また、検索項目の追加も可能です。emacs 同様、リファレンスマニュアルを育てゲー化したかんじです。以前の emacs から anything で ruby のマニュアル検索 - わからん を改良しました。以下で導入方法を解説していきます。 ダウンロードしたマニュアルとツールは、~/Dropbox/data/rubyrefm ディレクトリに配置し、自作のメモを書き足していく辞書は ~/Dropbox/data/rubyrefm/mydict ディレクトリに配置するという想定になっています。各自の環境で置き換えて読んで下さい。 まずはマニュアルとツールの設置です。http://doc.okkez.net/archives/200909/ruby-refm-1.9.1-

    anything で Ruby のマニュアル検索した結果に対して、メモを書き足していけるようにした - わからん
  • フェイス情報を表示するコマンドを作成 - わからん

    sonota88
    sonota88 2010/09/26
    M-x describe-face もよかですよ
  • "M-x cc で symfony cc する" は2度死ぬ - わからん

    sonota88
    sonota88 2010/09/11
    with-temp-buffer / call-process / buffer-string
  • function, symbol-function, fset, setf, letf, flet, labels などを少しだけ整理 - わからん

    elisp の、function, symbol-function, fset, setf, letf, flet と似たような名前の関数が、どういう構文で関数定義を置き換えるかという視点で少し整理しました。意味的な違い?に関しては調べきれてないですが、長くなってしまうので、ここで一区切り。 ▼ symbol-function の docstring "Return SYMBOL's function definition. Error if that is void. (fn SYMBOL)" ▼ function の docstring "Like `quote', but preferred for objects which are functions. In byte compilation, `function' causes its argument to be compil

  • flet と labels の動作確認 - わからん

    cl パッケージの flet と labels について、勉強しました。 ▼ flet の解説(docstring) "Make temporary function definitions. This is an analogue of `let' that operates on the function cell of FUNC rather than its value cell. The FORMs are evaluated with the specified function definitions in place, then the definitions are undone (the FUNCs go back to their previous definitions, or lack thereof). (fn ((FUNC ARGLIST BODY...) .

  • anything のバッファ一覧で howm のファイルはタイトルを表示させる - わからん

    howm のファイルを開いているときに anything を実行すると,バッファ一覧が次のように表示され,メモの内容がわかりません。 そこで, anything-c-source-buffers+ にフィルタ処理を追加し,ファイル名が "日付時刻.howm" 形式の howmファイルは,メモのタイトル(ファイルの一行目)を表示するソースを書きました。 コードは GitHub で管理しています。 http://github.com/kitokitoki/anything-c-howm-buffer-title/raw/master/anything-c-howm-buffer-title.el 設定は,例えばこうします。 (require anything-c-howm-buffer-title) (defun anything-buffers () (interactive) (anyth

    anything のバッファ一覧で howm のファイルはタイトルを表示させる - わからん
  • undo-tree.el を少し変更 - わからん

    最近導入した,プログラマに必須の拡張(と僕は思っている) undo-tree.el をいじって gist に置きました.変更点は以下になります. q で,*undo-tree* バッファ/ウィンドウを削除し元のwindowに戻る 上下分割ではなく左右分割 上下分割は使わないのでフラグで場合分けなどはしていません.ウィンドウ幅は半分でいいので設定用の変数などはありません.今回の変更で行うべき dot.emacs への追加の設定はありません.undo-tree.el は何ができるのか,どう導入するのかは関連リンクにわかりやすく書いてあります. 関連リンク undo-tree.el- Tobby Cubbit undo-tree.el の導入 - とりあえず暇だったし何となく始めたブログ undo-tree.elを小さいwindowで実行して終了時にもとのwindowに戻るようにする - hit

    undo-tree.el を少し変更 - わからん
    sonota88
    sonota88 2010/02/12
  • anything-howm, こう書く.org - わからん

    元ネタ : anything.el + howm - # cat /var/log/stereocat | tail -n3 Common Lisp を気にしだした最近の気分で書くとこうなります。もちろん僕のコードほうが優れているという主張ではありません。ついでにいつものチラ見機能もつけておいた。howm とは長い付き合いになりそう。anything-howm.el を育てていきます。 (require 'cl) (require 'anything) (require 'anything-match-plugin) (require 'howm) (require 'howm-menu) (defvar anything-howm-recent-menu-number-limit 70) (defvar anything-howm-persistent-action-buffer "*h

    sonota88
    sonota88 2010/01/31
    anything-match-plugin がなくても動く?
  • Emacs Lisp のデータベース入門 - わからん

    概要 Emacs Lisp でデータを ".el ファイル" で保持する場合の扱いやすいデータ構造には、連想リスト、ベクタ型オブジェクトのハッシュテーブル、pure elisp のハッシュテーブル型オブジェクトのハッシュテーブル、clパッケージによるハッシュテーブル型オブジェクトのハッシュテーブルがあるようです。それぞれを少し触ってみました。あらかじめちょっとヒントを挙げておくと、文字列をキーにしたい場合は equal での比較を指定することです(僕がハマった)。 パターン1 連想リスト これは誰もが使いますね。基です。 ;; データベースの作成 (defvar db-a '(("key-a" . "val-a") ("key-b" . "val-b"))) ;; 確認 db-a => (("key-a" . "val-a") ("key-b" . "val-b")) ;; データの登録

  • 誤入力しやすい全角文字などを片っ端から目立たせるフェイス設定のテンプレート - わからん

    プログラマ向けに、全角のスペースなどを目立たせる emacs のカスタマイズをよく見かけます。しかし例えば、 WordPress で書かれたブログからのコピペ時の全角のシングルクオート (’) 、 YAML ファイル編集時の全角のハッシュ記号 (#) など、他にも気をつけるべき文字はいろいろあります。そこで、blankspace > font-lock を参考にし、そういった注意すべき文字を片っ端から目立たせる設定を書きました。よろしければ、雛形として利用して下さい。 直感的に理解できるとは思いますが、少し解説します。フェイスは、背景色を変更する派手目な "my-warnig-face1" と、アンダーラインのみの地味目な "my-warnig-face2" の 2 つ用意しました。 type として指定している "tty" はコンソール、"x" は X Window System 、"w

    誤入力しやすい全角文字などを片っ端から目立たせるフェイス設定のテンプレート - わからん
    sonota88
    sonota88 2009/08/30
    "[(){}<>]" みたいにまとめると行数が節約できる
  • Ubuntu で 日本語の man を emacs から 快適にみれるように WoMan の設定をした - わからん

    概要 emacs には、WoMan という man ファイルを emacs から見るための標準パッケージが付属しています。今回は、日語の man を anything を通して検索し WoMan で表示し、それを anything を通して imenu で一覧/検索/移動できるようにしたさいのインストール/設定手順の紹介です。ただし、anything そのもののセットアップ方法には触れていません。 手順 まずは、日語の man をインストール。環境は、Ubuntu 9.04 です。 # sudo apt-get install manpages-ja 次に設定ファイルを作成します。 ▼ man のパスを明示的に指定し、 (setq woman-manpath '("/usr/share/man/ja")) ▼ マニュアル表示を新フレームで行うデフォルトの動作をやめ、 (setq wom

    Ubuntu で 日本語の man を emacs から 快適にみれるように WoMan の設定をした - わからん
  • 1