タグ

関連タグで絞り込む (237)

タグの絞り込みを解除

Rubyに関するyouzのブックマーク (367)

  • 記号だけで brainfuck インタプリタ - まめめも

    Ruby 1.9 の新機能のひとつに「lambda { ... } を -> { ... } と書ける」というのがあります。この表記は反対意見が根強い *1 ですが、確実にすばらしい点があって、全部記号だということです。これによって Ruby が記号だけでチューリング完全になります *2 。 デモとして、brainfuck インタプリタを記号だけで書いてみました。 $___,@_,@__,$_=(@@__="")=~//,?#=~/$/,->(_){_<(__="####"=~/$/)**__&&(@@__<< _;@__[_+@_])},[*$<]*@@__;@__[$___];$____,$_,@___,$__,@__=$_[@_+($_+?!=~/!/ )..-@_],$`,[],[],->(_){(__=$_[_];__=~/[><+\-\.,]/?$__<<$_[_]:__==?

    記号だけで brainfuck インタプリタ - まめめも
  • ruby-minisat とパズルのソルバ - まめめも

    minisat という SAT ソルバの ruby バインディングを作ってみました。1.8.5 と 1.9.0 で動作確認してます。 http://dame.dyndns.org/misc/misc/ruby-minisat-1.14.0.tar.bz2 例えば という SAT 問題を解くときはこんな風にします。 require "minisat" solver = MiniSat::Solver.new # 問題定義 a = solver.new_var b = solver.new_var solver << [a, b] << [-a, b] << [a, -b] # 解の探索 p solver.solve #=> true (satisfiable) # 解の表示 p solver[a] #=> true p solver[b] #=> true リテラルの配列で表現した clau

    ruby-minisat とパズルのソルバ - まめめも
  • Matzにっき(2008-04-01)

    _ [Ruby] RubyFools エイプリルフールにちなんだRubyのイベントを開催するので、 とJAOOでお世話になった人たちから依頼されたので ほいほいとコペンハーゲンまで来たのだが、 まさかカンファレンスそのものが渾身のエイプリルフールジョークだとは思わなかった。 さすがヨーロッパはエイプリルフールにかける熱意とスケールが違う。 文化の違いに驚愕した。 今、コペンハーゲンで途方に暮れている。 どうしよう。 という嘘をつくのはどうだろうか。 こちらはまだ早朝で、まだ朝ご飯もべてないので、 実は嘘じゃなかったりするのかもしれないけど。 会場に着いた。冗談じゃなかった。当たり前だけど。 Dave Thomasのキーノートも、 Evan PhoenixのRubiniusの話もサイコーである。 来てよかった。 唯一の懸念は明日朝の私のキーノートだな。

  • 継続

    継続、continuationと来ればやはりSchemeの話になるのだろうか。一般社会で schemeと言えば「すきーむ(n)計画。陰謀。」であるがソフトウェア業界で Schemeと言ったらLispの一種のことだ。Lispには変種が腐るほど存在するが、 Common Lispと並んで有名なのがSchemeである。Common Lispが標準化の課程でゴテ ゴテと装備して巨大化したのに対し、Schemeは遥かにコンパクトでクリアな仕 様を持つ。またSchemeとは言語の一般名であり、その実装にはGaucheとか scmとかguileとかMIT Schemeなどがある。 さてCall/CC、正式名称Call with Current Continuation、について 説明しよう。Call/CCはちょっと見はsetjmp/longjmpと同じように見えるのだが、 スタックが深くなる方向にもジャ

    youz
    youz 2008/10/01
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • 【日本Ruby会議2008】東京大学にRubyをテーマにする研究室が発足

    「東京大学大学院で笹田研究室が発足した。研究内容はRuby。一緒に研究をしてくれる学生を募集している」---2008年6月21日,日Ruby会議での講演で,東京大学大学院 情報理工学系研究科 創造情報学専攻 講師 笹田耕一氏は,Rubyを中心テーマとする研究室が設置されたことを紹介した。 笹田耕一氏は,2007年12月に正式公開されたRuby 1.9に採用されたRubyの実行エンジンである仮想マシン「YARV」の開発者。講演では現在笹田氏がかかわっているRubyの研究プロジェクトを紹介した。 「RubyでのマルチVirtual Machine(VM)」は1つのインタプリタ上に複数のVMインスタンスを生成可能にする。これにより,複数のアプリケーションを効率的に実行できるようにすることを狙う(関連記事)。 「Rubyによるハイパフォーマンス・コンピューティング」は,大規模並列システムによる数

    【日本Ruby会議2008】東京大学にRubyをテーマにする研究室が発足
  • ミニパターン集

    $Id: minipattern.rd,v 1.8 2003/07/29 15:55:24 aamine Exp $ いかにも Ruby 特有ぽいものを中心に小技をあつめました。 Cookbook なんかと違うのは、具体的な課題を解決する方法ではなく 言語上のパターンにしぼったこと。 インスタンス変数の遅延初期化 初期化されているかどうかわからない インスタンス変数を初期化するときは ||= を使う。 @ivar ||= "" # @ivar が既に非 nil ならばそのまま、nil なら "" を代入 1.6.2 まではこう書くと初期化されていない場合に警告が出ていたのだが、 1.6.3 からは ||= を使う場合に限り警告が出なくなった。 Mix-in のメソッド中での初期化などに便利である。 コンテナの遅延初期化 例えば配列のハッシュを作るとき、ハッシュのキーになにが来るか わからな

  • なんでもquine : 404 Blog Not Found

    2006年04月08日17:07 カテゴリArt書評/画評/品評 なんでもquine とっても自己言及したくなったのでTB. Gödel, Escher, Bach Douglas R. Hofstadter [邦訳: ゲーデル、エッシャー、バッハ] rubyco(るびこ)の日記 - 自己言及とても眠いので自己言及プログラムを書きました。以下の一行をPerl Scriptに入れると、どんなものでも自己言及プログラム = quineになります。 open ME, $0 and print <ME>; こうしてもOK. print <ME> if open ME, $0; さらに暗黒面に進みたい人は、これも。 open 0 and print <0>; これが気に入った人はAcme::Bleachも気に入ることでしょう。 もちろん、Rubyだって出来ます。 File.open($0).read

    なんでもquine : 404 Blog Not Found
  • Matzにっき(2006-12-06)

    << 2006/12/ 1 1. [Ruby] Ruby Advent Calendar : 25 Days of Ruby Joy and Celebration 2 1. [教会] 宣教師の手伝い 2. [言語] ボヘミアンの勝利(?) 3. [Ruby] Erubis - A faster alternative to ERB / eRuby 3 1. [教会] ブルークリスマス 4 1. [Ruby] 日 Ruby 会議 2007 2. 凄い漢字 5 1. [原稿] 日経Linux 2006年2月号 2. チープ教育 3. [Ruby] erubycon 6 1. [原稿] 日経Linux 2006年2月号 2. スライド 3. 懇親会 4. [Ruby] TopFunky's PodCast Interview with Matz - O'Reilly Ruby 5. [言語]

  • RubyKaigi 2008 参加 - まめめも

    初参加してきました。今更バッジ。 自分の発表 初参加ついでに「テストベースコードリーディングのすすめ」というタイトルで初発表しました。コミッタかつスピーカで参加費無料というありがたい身分だったので、それにこたえるべくそれなりにがんばってみたつもりです。楽しんでいただけていたら幸いです。 id:sshi さんに「真面目なのかネタなのかわからなかった」と言われていますが、自分でもわかりません。こんなことを漠然と考えながらやってたという感じ。ただ「僕は『新人は下積みをするもの』だと思う」だけはネタ。というか嘘です。あと「そんな簡単にテストコード書けるもん?」はどうなんでしょうね。実際にやってみて思ったのは、最初にコードを読むだけ読んで理解したつもりになっても、テストを書いてみると思うとおりにカバーされないことが結構あって、動かしてみると理解できてないことに気づくなぁ、ということ。百見は一実行にし

  • RubyForge: Test your SimpleDB applications offline: Project Info

    SimplerDB is an in-memory implementation of Amazon's SimpleDB API, suitable for unit testing or working on a SimpleDB application offline. No SimpleDB beta account needed. This project has not yet categorized itself in the Trove Software Map.Registered: 2007-12-26 22:57 Activity Percentile: 0% View project activity statistics.

  • COZMIXNG RWiki - Rabbit

    --- Rabbit 2008-11-08T16:35:27+09:00 (リビジョン 1870) +++ Rabbit 2008-12-21T11:05:40+09:00 (リビジョン 1879) @@ -44,9 +44,9 @@ # description = 追いかけ屋1 # class = right -最新バージョン: 0.5.7(((<download|URL:http://www.cozmixng.org/~kou/download/rabbit-0.5.7.tar.gz>))) +最新バージョン: 0.5.8(((<download|URL:http://www.cozmixng.org/~kou/download/rabbit-0.5.8.tar.gz>))) -The latest version: 0.5.7(((<download|URL:http://www.c

  • プログラミング言語

    では余り知られていませんが、非常に優れた純粋関数型言語Concurrent Cleanの使い方、チュートリアル・言語リポートの翻訳を載せています。一応ここだけ見れば、Cleanの基は分かるようにしているつもりです。純粋関数型という最先端の言語でありながら、統合開発環境を持ち、GUI作成のライブラリも豊富な、そして、効率的なexeファイルを出力するコンパイラです。インタプリタではありません。 やはり言っておくべきなのでしょうが、ここにある内容は、基的に、明示的型宣言を行う命令型言語及びオブジェクト指向言語(具体的には、C/C++Java、C#、Pascal等)をやった人でないと分からないような内容が多いかもしれません。 ただ、Rubyの所は、Rubyだけ分かっていれば分かる内容だと思います。 個人的な意見ですが、関数型言語それ自体は命令型言語を勉強しないままでも入って行けると思

    youz
    youz 2008/10/01
    関数型プログラミングの基礎概念・Rubyによる関数型プログラミング・オランダ産関数型言語Concurrent-Cleanの詳説
  • O(log n)でフィボナッチ数を求める - 趣味的にっき

    O(log n)でフィボナッチ数のN番目を求める方法をRubyで実装してみました。この間のSICP勉強会で教えてもらったやつです。 まず普通のフィボナッチ数。こいつはO(n)です。 def fib1(n) a, b = 0, 1 n.times do a, b = a + b, a end a end O(log n)版のフィボナッチ数。なんでこれでフィボナッチ数が求められるかは、ここを参照してください。ちなみにRubyのMatrixの**は、O(log n)で実装されています。 require 'matrix' def fib2(n) a = Matrix[[1, 1], [1, 0]] b = Matrix[[0], [1]] (a ** n * b)[0, 0] end こんな感じでベンチマークをとってみました。 require 'benchmark' n = 100_000 Ben

    O(log n)でフィボナッチ数を求める - 趣味的にっき
    youz
    youz 2008/10/01
  • 【RubyKaigi'08】詳細レポート : 多様化するRuby(続):CodeZine

    基調講演とM17N 日Ruby会議 2008 初日午後のメインセッションでは、まつもとゆきひろ氏による基調講演に続いて、成瀬ゆい氏とMartin J. Durst氏によるRuby 1.9から取り入れられたM17Nについてのセッション(Ruby M17NRuby M17N)が行われた。

  • RubyForge: Retrospectiva: Project Info

    A web-based, minimalistic and intuitive management tool for software development projects, featuring: issue tracking, source code and revision management, wiki, blog, multiple repositories and projects, web based administraion, flexible extension API. Development Status: 4 - Beta, 5 - Production/Stable Environment: Web Environment Intended Audience: Developers, System Administrators License: MIT/

    youz
    youz 2008/10/01
    Rubyによるプロジェクト管理システム。 オフィシャル-> http://retrospectiva.org/
  • John Lam on Software: IronRuby at Tech Ed 2008

    John Lam on Software Ruby, Dynamic Language Runtime, Silverlight and Microsoft I’d like to start out by thanking everyone who came up to talk to me at the conference. We had a Dynamic Languages booth at the conference, and it was great to talk to all of the folks who took the time out to drop by for a visit. A big thanks goes out to our booth staffers – Dave Fugate, Curt Hagenlocher, Jimmy Scheme

  • http://www.darrenks.com/golfscript/index.html

    youz
    youz 2008/10/01
    Golf向けスクリプト。Rubyで実装されている。
  • Lisp in Ruby - { |one, step, back| }

    I stumbled across this and it got me thinking … Update I’ve updated the Textile formatter on the site and the code for this entry is now displaying correctly. The previous version was swalling the == operators in the code. Lisp 1.5 Programmer’s Manual I stumbled across this in Bill Clementson’s blog and remembered using the Lisp 1.5 Prgrammers manual from the college years. I have strong memories

    youz
    youz 2008/10/01
    Rubyで、配列をS式として評価する。exp = [:reverse, [:quote, [:a, :b, :c, :d, :e]]].sexp