タグ

Rubyとrubyに関するshibachoのブックマーク (30)

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

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

    記号だけで brainfuck インタプリタ - まめめも
  • やる夫で学ぶJRuby最適化 - recompile.net

    ____ / \  /\  キリッ .     / (ー)  (ー)\ /   ⌒(__人__)⌒ \ |      |r┬-|    |  Ruby 1.9はクリスマス前にリリースします \     `ー'´   / ノ            \ /´               ヽ |    l              \ ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒)) ____ /_ノ  ヽ、_\ ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒) | / / /     |r┬-|    | (⌒)/ / / // | :::::::::::(⌒)    | |  | 

  • 琴欧洲のブログをYahoo!かな漢字変換Webサービスで変換してみた - aike’s blog

    かな漢字変換ソフト「VJE」、ヤフーのWeb APIとして“復活”:ITpro Yahoo! JAPANが、かな漢字変換Webサービスを開始したそうです。いったい何のために、という気がしないでもないですが、なかなか面白そうですね。これで何かできないかなあと考えていたら、ぴったりの題材を見つけました。 ねとらぼ:「たい2ひき」 琴欧洲の“平仮名ブログ”が人気 - ITmedia News 私も大好きなブルガリア出身の人気力士の琴欧洲が、ひらがなでブログを書いているそうです。 はじめてゆうしょうできました おうえんありがとうございました うわあ、なんか可愛い。アルジャーノンとかMeたんとか言っちゃだめですよ。ゆうしょうりきしに対して失礼です。 さて、見てるとなんだか変換したくなりますね。このブログのRSSを取ってきて漢字変換した後にまたRSSとして配信するWebアプリを、Rubyで書いてみるこ

    琴欧洲のブログをYahoo!かな漢字変換Webサービスで変換してみた - aike’s blog
  • 『てっく煮ブログ - ActionScript やるなら入れとけ。rascut 導入と使い方。』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『てっく煮ブログ - ActionScript やるなら入れとけ。rascut 導入と使い方。』へのコメント
  • Ruby on Rails 2.0入門:Flickerベースのアプリケーションの作成:CodeZine

    はじめに 2004年に初めてリリースされたRails Webアプリケーションフレームワークは、Ruby言語のキラーアプリケーションになり、CRUD(Create、Read、Update、Delete)パターンに基づくWebアプリケーションを短時間で作成できる非常に強力なツールとして急速に普及しました。そして2007年末、今やすっかり有名になったこのWebアプリケーションフレームワークのバージョン2.0がリリースされました。最初のリリースのときほどの驚きはありませんが、Rails 2.0はやはり多くのイノベーションを実現し、開発をより効率的で楽しいものにしています。 稿では、Rails 2.0の概要と、最も重要な新しい機能を説明し、それらを使ってシンプルでも目を引くWebアプリケーションを作成する方法を紹介します。よくある「15分でブログを作る」というような例ではなく、ここで紹介するアプリ

  • なんかばんざい | Rubyからニコニコ動画をいろいろするNicokitつくった

    githubに置いてみた。 RDocでマニュアルつくってみたけど、instance_evalで独自getter定義とか気持ち悪いことしてるのであんまり役に立たない気が……。 ログイン 最初にログインしておかないと他の機能が動きません(raiseが発生します)。 mail="xxx@xxx.com" password="xxxxxxxx" Nicokit.login(mail,password) マイページ いまんとこ自分のマイリスト一覧を取ってくるだけ。 「自分のマイリスト一覧」を正しい日語でどういえばいいのかわからない。 my=Nicokit::My.new # 自分のマイリスト一覧 my.list.each{|l| puts l.title # マイリストのタイトル puts l.description # マイリストの説明 } 誰かのマイリスト l=Nicokit::VideoLi

  • Rubyの拡張ライブラリの作り方 - アホメモ - Seesaa Wiki(ウィキ)

    [ 一般 ] アホメモ アホなメモ 編集 履歴 添付 設定 新規ページ作成 メニュー カテゴリー Wiki内検索 * 最近更新したページ 2008-06-16 pack,unpack 2008-06-15 FrontPage 2007-04-15 Firefox/クリップボード 2007-04-06 firefox拡張メモ 2007-03-31 ratoc REX-SATA 2007-03-26 CD・DVD収納 CD・DVD収納ケース(箱型) MEDIA PASS 2007-02-13 Rubyメモ 2007-02-11 SWin::Window 2007-02-09 VisualuRuby ATL/WTL メモ 2007-02-07 Ruby試行004 クラス変数 2007-02-04 秀丸強調表示メモ 2007-02-02 Ruby試行006 クラス定数 2007-01-31 ru

  • るびま

    『るびま』は、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 直

  • github に gem を公開する - 2nd life (移転しました)

    http://github.com/ 最近一部で話題沸騰の githubgithubRails で作られたアプリケーションでは、自分が知りうる限り一番の完成度と使いやすさを誇るんじゃないか、と思っています。 ソースコードツリーの見やすさ、(g)zipでくれ機能、各種 git の情報へのアクセスしやすさ、最初に git レポジトリを作ったとき表示されるチュートリアルと云った基的なことはもちろんですが、オープンソースプロジェクト・コミュニティを加速させるであろう、分散レポジトリを利用した様々な機能がすばらしいですね。 誰かが公開してるレポジトリを fork ボタン一つで自分のレポジトリにクローンし、いろいろ変更を加え、大に取り込んで欲しいなぁ、と思ったら pull request。大のコミッタは気に入れば pull で取り込めばよいし、もし気に入らなかったとしても、変更者がそのフ

    github に gem を公開する - 2nd life (移転しました)
    shibacho
    shibacho 2008/05/21
    SVNからの移行も簡単なのか。ちょっと検討してみよう。
  • Rubyのブロックをお勉強 - 基本へ帰ろう

    ○参考 プログラミング言語 Ruby リファレンスマニュアル 1.ブロックって何? {puts "Hello"} # これはブロックdo ### club.entroll(person) # これもブロック person.socialize # end ###フレーズの方がdo/endよりも結合力が強い。 Rubyで標準になりつつある習慣は、1行のブロックにはフレーズ、複数行のブロックにはdo/endを使う。 2−1.メソッドを使い、ブロックを呼び出してみる。 メソッドの中からブロックを使用するには、yield制御構造、ブロック引数、 Proc.newの3種類の方法で行うことができます。 def call_block puts "Start of method" yield Proc.new.call proc.call lambda.call puts "End of method" e

    Rubyのブロックをお勉強 - 基本へ帰ろう
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • るびま

    『るびま』は、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 直

  • Ruby拡張ライブラリ作成チュートリアル

    目次 準備 まずはC言語プログラムを呼び出す 簡単な数値のやりとり NArray配列を渡す Swigを使ってお手軽変換 参考文献 準備 このチュートリアルではRuby 1.8系列の使用を前提にしています。 確認はすべてRuby 1.8.4 [i386-Cygwin]で行いました。 NArrayはVersion 0.5.8を用いています。 またそれ以外に以外に以下のものが必要です。 Cコンパイラ Rubyのコンパイルに用いたものと同じものが必要です。 バイナリパッケージを導入した場合はどのコンパイラでビルドされたものか 知る必要がありますが、UNIX系ではたいていgccです。 ruby.h, mkmf.rb Rubyをソースコードから自分でビルドした場合はインストールされていると 思いますが、バイナリパッケージを導入した場合はruby.hやmkmf.rbがあるか 確認する必要があります。開発

  • LoveRubyNet Wiki: RubyExtensionProgrammingGuide

    2008-01-09 15:51:08 +0900 (275d); rev 19 これは草稿です。 いずれ正式なところに移す予定。 対象とする読者 稿は以下のような読者を対象にしています。 Ruby の拡張ライブラリを書いたことがない C プログラミングがそれなりにできる Ruby プログラミングがそれなりにできる 2 に関して。 「ポインタって何?」レベルの人は不可です。 構造体とポインタをちゃんと使ってプログラミングのできる人を対象とします。 3 に関して。 以下のプログラムの結果がどうなるか、 考えるだけでわかるようにしておいてください。 class C p self # 何が表示される? def C.m puts '1' p self end def m puts '2' p self end end C.m # 何が表示される? C.new.m # 何が表示される? このマニュ

  • Marshalでオブジェクトを冷凍保存 - rubyco(るびこ)の日記

    Marshal.dumpでRubyのオブジェクトをファイルに保存し、Marshal.loadで戻すことができます。 1. 以下のプログラムではオブジェクトxをalice.dumpedというファイルにdumpで保存し、すぐ後でloadしてhelloメソッドを呼び出しています。 require 'pathname' class Rubyco def initialize(name='Rubyco') @name = name end def hello puts "Hello, #{@name}!" end end x = Rubyco.new('Alice') Pathname.new('alice.dumped').open('wb') do |f| Marshal.dump(x, f) end Pathname.new('alice.dumped').open('rb') do |f|

    Marshalでオブジェクトを冷凍保存 - rubyco(るびこ)の日記
  • 満足せる豚。眠たげなポチ。:Ruby の include, extend まとめ

    この前の話の続き。 include, extend わかった。つか、自分で写した説明のとおりとしか言いようがない。 self.include(other) とすると、Mixinにより self に other のインタフェースが実装される。 self.extend(other) とすると、 other のインスタンスメソッドを self の特異メソッドとして追加する。 Module はインスタンス化されないから、Module のインスタンスメソッドは extend するか、 include するかしないと使うことができないってだけだった。いったい何が理解できずにはまってたのか、自分でもよくわからず。。 てことで、まとめ。 self.include(other) とすると、Mixinにより self に other のインタフェースが実装される。 特異メソッドは実装されない インスタンスメソ

    shibacho
    shibacho 2008/05/02
    Safariでブクマ
  • Rubyで今実行中のメソッド名を知る

    Rubyで今実行中のメソッド名を知る - 2nd life callerを使うと例外を投げなくてもバックトレースの情報を取得できます。これを使うともう少し簡単になりそうです。こんな感じでしょうか。 #!/usr/bin/env ruby class Object def current_method caller.first.scan(/`(.*)'/).to_s end end def foo p current_method end def bar foo p current_method end bar # => "foo" # "bar" p current_method # => ""参照: プログラミング言語 Ruby リファレンスマニュアル 実は僕もid:ha-tan:20050816:1124154888でなかださんに教えてもらいました。

    Rubyで今実行中のメソッド名を知る
    shibacho
    shibacho 2008/05/01
    self.name で期待した挙動にならなかったのでありがたい情報
  • Xlune::Blog: Passenger(mod_rails)をインストールしてApache2+Railsをシンプルに行こう

    Passengerって何? mod_rails って言えば大体役割は伝わります。Apache2上で Ruby on Rails を動作させるためのApacheモジュールです。 今まで、Apache+Railsの実現には mod_ruby や Fast CGI などが使われてきたようですが、設定がやや面倒という印象がありました。 Passengerはその面倒さを和らげてくれるありがたいモジュールを提供してくれます。 Passengerをインストール 前提として RubyRubyGems、Rails がインストールされている状態とします。 さっそく下記コマンドで passenger をインストールしましょう。(インストールの仕方はPassengerのページで説明されています) gem install passenger インストール権限があればこのコマンドだけでインストールできます

  • 世界のナベアツに Ruby で挑戦する - Tociyuki::Diary

    squeak には構文上かないませんが、なるべく似た感じになるように ruby で書いてみました:-p ⇒ id:sumim:20080417:p1 「世界のナベアツに Squeak Smalltalk で挑戦する(改訂)」 このスクリプトはメソッド名に日語を使っているので、UTF-8 でセーブしておいてから実行します。 オリジナルとの違いは、squeak 版のようにコンテキストからローカル変数の値を参照できないものかと試行錯誤してやりかたがわからなかったので、クラス変数アクセスでごまかしています。また、〜になっての処理を関数合成しておいて、メソッド「なります」で値を適用する方式に変更しました。 (2008-04-18修正) FalseClass#のときだけ() メソッドが nil を返すように変更しました。 #!/usr/bin/ruby -Ku #Content-type: appl

    世界のナベアツに Ruby で挑戦する - Tociyuki::Diary
  • Rubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する

    #include #include "libpasori.h" int main(void) { pasori *p; felica *f; uint8 d[16]; p = pasori_open(NULL); pasori_init(p); f = felica_polling(p, 0xfe00, 0, 0); felica_read_without_encryption02(f, 0x170f, 0, 0, d); printf("%d¥n", d[14]*256+d[15]); pasori_close(p); return 0;} require 'dl/import' module Pasori extend DL::Importable dlload '/usr/local/lib/libpasori.dylib' typealias 'uint8', 'unsigned