[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

lispとrubyに関するa2ikmのブックマーク (3)

  • Rubyの正規表現で対応する括弧を考慮していい具合にマッチさせる - There's an echo in my head

    1.9以降に搭載された正規表現エンジン(oniguruma, onigumo)では (?<name>式)によってマッチした式部分に名前(ここではname)を付けることができ、 それにマッチした内容を後方参照\k<name>で参照でき、 また\g<name>でその式を再帰的に呼び出すことができる これを使えば、括弧のペアを対応させた上でマッチさせることができる。 たとえば次の例ではLispのシングルクォーテーション記法をquote関数の呼び出しに変換する。 regexp = /'(?<paren>\((?:[^()]|\g<paren>)*\))/ replace = '(quote \k<paren>)' # 1段 "'(+ 1 2)".match(regexp) #=> #<MatchData "'(+ 1 2)" paren:"(+ 1 2)"> "'(+ 1 2)".gsub(reg

    Rubyの正規表現で対応する括弧を考慮していい具合にマッチさせる - There's an echo in my head
  • つくって学ぶプログラミング言語 RubyによるScheme処理系の実装

    プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基がはっきり分かります。 ※書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ

    つくって学ぶプログラミング言語 RubyによるScheme処理系の実装
  • なぜRubyは許容可能なLISPなのか - masatoi’s blog

    LISPの真実を読んでたら最後に出てきたので、かなり古い記事だけれども、Eric Kidd氏のWhy Ruby is an acceptable LISPを訳してみました。まつもとさんによる反応もあり、そのエントリの中で原文はほぼ要約されています。 一年前、私はRubyに注目してはいたものの、それを無視することにした。RubyPythonほどポピュラーではないし、LISPほど強力というわけでもない。なのに何故気にかけなければならないというのか。 もちろん、これらの評価基準は考えなおすこともできる。もしRubyがLISPよりもポピュラーで、Pythonよりも強力だったらどうなるだろうか?*1 それはRubyを興味深いものにするに足るのではないか? この疑問に答える前に、LISPを強力たらしめているものは何なのかを定義しておくべきだろう。Paul GrahamはLISPの美徳について雄弁に語

    なぜRubyは許容可能なLISPなのか - masatoi’s blog
  • 1