タグ

dslに関するyuisekiのブックマーク (7)

  • Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)

    最近、fluent-plugin-droongaという分散データストリームエンジンを書いています。その中で、RubyでDSLを実現するときに工夫していることに気づきました。それは、値を設定するときは代入する字面にするということです。代入する字面にするために、グループ化用のオブジェクトを作っていました。 これだけだとどういうことかわからないので、具体例を示しながら説明します。 RubyとDSL Rubyを使っているとRubyで実現されたDSLに触れることが多くあります。RubyのMake実装であるRakeの設定ファイルもそうですし、ライブラリー管理ツールのBundlerの設定ファイルもそうです。 Rakeの場合:

    Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)
  • ラムダ式で学ぶクロージャとDSL - Qiita

    はいこんにちはこんにちは! 今日はラムダ式でクロージャとDSLの解説をします。 ガチなラムダ計算の話ではまったくないのでご安心ください。函数型プログラミング言語の話でもないので怯える必要はありません。 それと、実用なDSLそのものではなく、どちらかといふと ふざけたDSL をシンプルに作ってみました! といふ例題なのでその点はご承知おきください。 謎のコピペとDSL まづはこちらのソースコードをお読みください。 # -*- Coding: utf-8 -*- scripter = ->(*args){->{puts args.join("\n")}} title = ->(text){"『#{text}』\n"} paragraph = ->(*args){args.join("\n")+"\n"} chara = ->(name){ ->(text){"#{name}「#{text}」"

    ラムダ式で学ぶクロージャとDSL - Qiita
  • 実践プログラミングDSL - 翔泳社の本

    DSLを設計/実装するために必要な知識のすべてがここにある DSL(Domain-Specific Language:ドメイン特化言語)とは、特定の領域の問題に特化したコンピュータ言語です。ビジネス上の概念を表現するにせよ、コンピュータ内部の処理を表現するにせよ、汎用のプログラミング言語では表現力に限界があり、その表現はたちまち煩雑なものとなりがちです。しかし、その問題に特化した言語、すなわちDSL を利用すれば、その問題を明確に表現、あるいはエレガントに解決することができます。DSLを使って高度なレベルで問題を表現することで、その問題に関わる専門家とのコミュニケーションを円滑にすることも可能です。 書は、読者が自分自身でDSLを設計/実装し、それを効果的に利用するために必要となるすべての知識を提供します。そのようなDSLは独立した処理系として利用することも、既存のプログラミング言語に組

    yuiseki
    yuiseki 2012/06/16
  • Graphvizによる有向グラフの自動生成 (2) « Stop Making Sense

    August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) はじめに Graphvizによる有向グラフの自動生成の続編です。 前回は、こんなXMLデータを元に、 <?xml version="1.0" encoding="UTF-8"?> <addressbook> アドレス帳 <person> <name>

  • DOT言語 - Wikipedia

    DOTとは、データ記述言語の一種で、グラフをデータ構造としてプレーンテキストで表現するための言語である。 コンピュータで処理しやすく、読みやすいように簡略化した形式でグラフを記述する。 DOTで書かれたデータのファイルには、しばしば .gv または .dot という拡張子が付けられる(Microsoft Word 2007以前で使われていた拡張子 .dot (Wordテンプレートファイル)との混乱を避けるため、拡張子 .gv が好ましい。[3])。 DOT言語処理系は数多く実装されており、いずれもDOT言語記述をファイルから読み込み、画像を生成したりグラフを操作したりすることができる。そのうちの一つ、dot はドキュメンテーションジェネレータの doxygen で使われている。dot は Graphviz パッケージの一部である。

    DOT言語 - Wikipedia
  • Graphvizによる有向グラフの自動生成 « Stop Making Sense

    August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) Graphvizとは AT&T研究所が開発したグラフ描画ツールです。 ただし、折れ線グラフや棒グラフみたいなExcelで作成するようなグラフではなく、ダイヤグラムや有向グラフなどが対象となります。 Graphvizの公式サイト Graphvizを使う

  • RubyのPDF生成、Prawnを使って簡単かつきれいに

    Ruby(とRails)でPDFを生成する方法は(リンク)現在、数種類存在する。既存のソリューションに不満のあるGregory Brownは、DSLアプローチを使って独自のライブラリを設計することに決めた。Prawnは(リンク)また他のRubyPDFライブラリより、速度でも上を行くはずである。 インストールを完了すると、DSL風のアプローチを使って簡単にPDFを生成できる(Prawnのサンプルから例を引用)。 Prawn::Document.generate("image.pdf", :page_layout => :landscape) do text 'Welcome in Prawn!', :at => [50,525] pigs = "data/images/dice.png" image pigs, :at => [50,450], :scale => 0.5 ruport =

    RubyのPDF生成、Prawnを使って簡単かつきれいに
    yuiseki
    yuiseki 2009/01/11
  • 1