タグ

rubyに関するalpha_neetのブックマーク (82)

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その2) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その2) : melborne.github.com - 前回に引き続き「なぜ関数プログラミングは重要か」を Rubyを使って解釈し自分の理解に基づいて解説してみます 関数の貼り合せ(ツリー編) 貼り合せの能力はリスト上の関数にとどまらない ラベル付き順序ツリーの例でこれを示そう Rubyにはリストに都合の良いArrayクラスが組込みであったが ツリーに都合の良いものはないので自分でクラスを定義しよう ツリーはラベルを持ったノードを連結したものとして表現できるので この連結の機能をもったNodeクラスを定義することで ツリーを表現しよう class Node attr_reader :label,

    Rubyを使って「なぜ関数プログラミングは重要か」を解読しよう!(その2) - hp12c
  • スクレイピングするクラスのテスト - hitode909の日記

    スクレイピング対象のページが基的に変更されることのない場合(近デジとか),キャッシュを作っておくと,毎回リクエストを投げずに済んで便利. GETしか使わないときは簡単にキャッシュできる. 必ずUtil::fetch_uriというメソッドで通信するようにしておいて, module Util def self.fetch_uri(uri) uri = URI.parse(uri) unless uri.kind_of? URI uri.read end end spec_helperとかでメソッドを上書きして,キャッシュがあればそっちを使うようにする. module Util def self.fetch_uri(uri) uri = URI.parse(uri) unless uri.kind_of? URI cache_directory = File.join(File.dirname

    スクレイピングするクラスのテスト - hitode909の日記
  • ヽ( ・∀・)ノくまくまー(2010-10-01) - ruby2scala チートシート

    2010/06/29(火)23:00 ワールドカップvsパラグアイ (ロフタス バースフェルド スタジアム) 2010/06/30(水)[CD] 渡り廊下走り隊「青春のフラッグ」 2010/07/07(水)[DVD] 「℃-uteコンサートツアー2010春〜ショッキングLIVE〜」19:00 [イベント] 矢島舞美(℃-ute)主演舞台『秦組vol.3 2010年7月公演「らん」』 (六木俳優座劇場) 2010/07/08(木)14:00 [イベント] 矢島舞美(℃-ute)主演舞台『秦組vol.3 2010年7月公演「らん」』 (六木俳優座劇場)19:00 [イベント] 矢島舞美(℃-ute)主演舞台『秦組vol.3 2010年7月公演「らん」』 (六木俳優座劇場) 2010/07/09(金)19:00 [イベント] 矢島舞美(℃-ute)主演舞台『秦組vol.3 2010年

  • wgetでYouTube等から動画を落とす - ひきメモ

    Rubyに戻ってみました。selfを書かなくて済むのはいいんですが、Pythonに慣れてきたせいか、endを書くのが少し面倒になってます。後、インスタンスごとにメソッドの振る舞いを変えられるのはいいです。新しくクラスを作らなくて済みますし。 #!ruby require 'net/http' require 'cgi' require 'kconv' save_dir = 'c:/My Documents' interval = 3 module Video class Error < StandardError; end class InvalidUrlError < Error; end VideoDetail = Struct.new(:id, :dl_url, :title, :ext, :encoding) def get_detail(url) @@videos.each do

    wgetでYouTube等から動画を落とす - ひきメモ
  • [ruby] RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize - Greenbear Diary (2007-02-05)

    ■ [ruby] RubyHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize 今日は、RubyでWebサイトを解析するときに強い味方となるライブラリ、HpricotとWWW::Mechanizeを紹介します。 どちらも非常に強力なので、覚えておいて損はないよ! 以下ではまずHpricotでHTMLを解析・編集する方法について解説します。 次に、「はてなダイアリーの自動更新」を例にWWW::Mechanizeの使い方を解説します。 Hpricot HpricotはHTMLを解析するためのライブラリです。 例えば「あるページのリンクだけを全部抜き出したい」と思ったとき、どうしますか?scrAPIを使う?でもscrAPIはやっぱり ちょっと使いたいだけなのにパーザ(Scrape)用のクラスを定義するのが面倒なんだよね! Hpricotなら、たったこれだけで

    [ruby] RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize - Greenbear Diary (2007-02-05)
  • はてなブログ | 無料ブログを作成しよう

    トルコ水紀行 -前編 イスタンブール- みなさんこんばんは、地図子です!8月は久しぶりに毎月更新にしようと思います。今までずっと名古屋について書いてきましたが、ワープして・・・ トルコについて書きたいと思います。 2024年6月に念願のトルコに行ってきました。いつからトルコに行きたかったかわから…

    はてなブログ | 無料ブログを作成しよう
  • Rails3でどう書けばいいかわからない時、参考になる7つのURL

    はじめに Rails3.0.0がリリースされて、2ヶ月(2010年10月末現在)。皆さんRails3ライフを満喫していますか? Rails3がはじめてという方、マニュアルやリファレンス探しに苦労されていませんか? Rails3でコードを書いていると、どうかけばいいのかな?ということもしばしばあって、自分なりに参照するサイトなどがまとまってきたので、今日は自分が参照する順番に、URLを晒していきます。少しでも参考になれば幸いです。 もくじ Rails Searchable API Doc Google – Search by date Rails 3 Ropes Course Railscasts – rails-3.0 episodes Ruby on Rails Guides Github – Search: rails3 example O’REILLY – Rails3 in a N

    Rails3でどう書けばいいかわからない時、参考になる7つのURL
  • Rubyのeachメソッドでインデックスを取得する - chulip.org

    通常のeachメソッドでは要素のインデックスがわからないので インデックスを求める場合each_with_indexを使います。 <% @news_entries.each do |entry| %> <%= h(entry.title) %> <% end %> この前のeach文で何番目のエントリですと確認したい場合 <% @news_entries.each_with_index do |entry, i| %> <%= h(entry.title) %> <%= "#{h(i + 1)}番目" %> <% end %> iの初期値は0から始まります。

    Rubyのeachメソッドでインデックスを取得する - chulip.org
  • Rubyのパーセント記法(%記法) - このブログは証明できない。

    Rubyの%記法。便利なのに忘れがちなのでメモ。 %{I LOVED YESTERDAY} 文字列リテラル。式展開が有効。%記法だとシングルクォートやダブルクォートをエスケープする必要がありません。 %q{I LOVED YESTERDAY} 文字列リテラル式展開が無効。シングルクォートで囲ったのと同じ。 %Q{I LOVED YESTERDAY} 文字列リテラル式展開が有効。ダブルクォートで囲ったのと同じ。 %x{ls} バッククォート文字列と同じ。式展開が有効。 %r{^[0-9]$} 正規表現リテラル。 %w{I LOVED YESTERDAY} 文字列の配列。式展開が無効。上の例だと、["I", "LOVED", "YESTERDAY"]。スペースを含む文字列はバックスラッシュでエスケープする。 %W{I LOVED YESTERDAY} 文字列の配列。式展開が有効。 %s{yes

  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • RDoc による自動ドキュメント生成

    RDoc とは? 概要 インストール サンプル Ruby スクリプト作成 RDoc によるドキュメント生成 RDoc の便利な機能を使ってみる RDoc ドキュメントのサンプル 参考資料 RDoc とは? Ruby Documentation System (RDoc) とは, Ruby で書かれたソースコードから ドキュメントを自動生成する, Ruby 体に付属する標準ライブラリの1つです. RDoc は Ruby ソースコードを解析し, クラス, モジュール, メソッドの定義 を抜き出し, include や require に関して解釈します. そしてこれらの内容 とその直前に書かれたコメントを併合し, HTML ドキュメントを出力しま す. 詳しくは参考資料 1,2 を参照ください. 概要 以下では, まず RDoc のインストールを行います. そして Ruby で簡単なクラ ス

  • open-uriのテスト - gan2 の Ruby 勉強日記

    普通に何も考えずに使ってみたら文字化けしたので、 NKF使ってShift_JISに変換してから出力させたらうまくいった。 require "open-uri" require "nkf" url = ARGV[0] || "http://d.hatena.ne.jp/gan2/" opt = "-s -xm0" open(url){|f| print NKF.nkf(opt, f.read) } opt(オプション)についての解説をちらっと。 「-s」で変換する文字コードをShift_JISに指定している。 「-e」ならEUC。「-j」ならJIS。「-w」ならUTF-8という具合。 「-xm0」はちょっとややこしくて、これは「-x」と「-m0」をまとめて書いたものだ。 「-x」は半角カナを全角カナに変換しないようにするためのオプション。 「-m0」はMIMEの処理を抑制するためのオプション

    open-uriのテスト - gan2 の Ruby 勉強日記
    alpha_neet
    alpha_neet 2010/09/06
    文字コード
  • pylori*style wiki - HTMLパーサ Hpricot

    Hpricotは Ruby用の HTML パーサです。スキャン部分は C 言語で書かれていて高速に動作します。 HTMLの解析や書き換えに威力を発揮する便利なライブラリです。 rubygemsを使うのが簡単です。 # gem install hpricot すると以下のようにプラットフォームを聞いてきます。Unix系OSであれば 1 を、mswin32 であれば 2 を選びます。 Select which gem to install for your platform (i386-freebsd6) 1. hpricot 0.4 (ruby) 2. hpricot 0.4 (mswin32) 3. Cancel installation コンパイルが始まり、インストールが行われます。 Building native extensions. This could take a while.

  • Ruby Scraping - Hpricot

    あるページのリンク (aタグ) を全て抜き出すスクリプト。 require 'hpricot' require 'open-uri' doc = Hpricot( open("http://www.kmc.gr.jp/").read ) (doc/:a).each do |link| puts "#{link.inner_html} → #{link[:href]}" end

    alpha_neet
    alpha_neet 2010/09/06
    Mechanize
  • 凉山亢兰汽车维修投资有限公司

  • RubyのMechanizeを解説 for 1.0.0 - きたももんががきたん。

    私、餡子のためなら逆立ちだってしますよ。 こじらせている。 べたいと思ったらべたいのである。 ここが北カリフォルニアの片田舎であろうと、私があんみつがべたいと思えば、あんみつは今すぐ作ってべなくてはいけないものになる。いしん坊の思考は凄まじい。 子供が観ていたアニメで、赤ちゃんが空の…

    RubyのMechanizeを解説 for 1.0.0 - きたももんががきたん。
  • Rubyで画像収集でも - chibilog

    Rubyのhpricotを使って画像系のサイトにアクセスして、HTMLの解析をして画像を保存するスクリプトを書いてみた。おかげで画像系のサイトを徘徊するのが便利になったので晒しておきます。サイトを徘徊ってか、ローカルに画像を保存しちゃうから徘徊しなくなって便利になったってことだけど・・・それにどうせ徘徊して手動で保存なんてするよりはスクリプトで一気にやっちゃえみたいな。ちょっとグレーなツールな気もする・・・ #!/usr/bin/env ruby require 'rubygems' require 'hpricot' require 'open-uri' require 'kconv' base_path = '/Users/chibi/img/' urls = [ "", ] $stdout.sync = true def get_image(url, path) puts url p

  • HTML要素の位置取得 - elm200 の日記(旧はてなダイアリー)

    趣旨 ウェブページとして描画された HTML 要素の画面上の位置を取得する。一見簡単そうに見えるこの作業が、現在実装されているブラウザ上ではとてつもなく難しい。そのことを以下で説明していく。 情報ソース この問題に関して調べたところ、最もよく出来ているエントリは、susie-t 氏による offsetTop/offsetLeft/offsetParentの闇 である。とてつもない力作で、実に多くのケースにわたって、包括的に探究が行われている。まるで犯人を追跡する刑事のような執拗さである。氏の自己紹介では「ナマケモノのプログラマ」とか謙遜されているが、これはとてもナマケモノにできる仕事ではない。 基中の基として W3C CSS 2.1 の次の章を抑えておきたい。 8 Box model 9 Visual formatting model 10 Visual formatting mode

    HTML要素の位置取得 - elm200 の日記(旧はてなダイアリー)
    alpha_neet
    alpha_neet 2010/03/26
    html要素の座標を取得
  • Rubyの黒魔術

    NSEG第1回勉強会 http://kokucheese.com/event/index/1654/ で発表したネタRead less

    Rubyの黒魔術