タグ

Rubyに関するsagarayaのブックマーク (244)

  • 配列を要素を含めて全てコピーする - gan2 の Ruby 勉強日記

    ary2 = Marshal.load(Marshal.dump(ary1)) を使う。 このような複製を深いコピー(deep copy)という。 ary2 = ary1.dup や ary2 = ary1.clone では、配列はコピーされても、 配列の要素が参照しているオブジェクトはコピーされない。 そのため、ary2 で破壊的なメソッドを使うと、 ary1 にもその影響が出てしまう。 このような複製を浅いコピー(shallow copy)という。 余談だが、ネタ元のRubyレシピブックでは、 shallowがshalowと間違って書かれているのを発見した。

    配列を要素を含めて全てコピーする - gan2 の Ruby 勉強日記
  • MozRepl で画像のレンダリング位置を調べる - 最速チュパカブラ研究会

    最近、Webページをクローリングして画像を引っこ抜いたりしているのですが、そこで困るのが、一見すると一枚だけど複数のファイルに分割されている画像。 ↓こういうやつ (http://www.jewelpet.jp/) 多くの人が遅いアナログ回線で Web を見ていた頃は、体感速度を上げる効果があった、らしい。しかし、機械的に画像を収集するような向きにはえらい迷惑です。 そこで、クローラがブラウザ上でのレンダリング結果を見て、これらの画像は隣接して表示されているぞ、といった判断をできないかなーとぴろたんに尋ねてみたところ piro_or> っ [MozRepl] と、5秒で答えが返ってきました。MozRepl というのを使うといいらしいです。というわけで、MozRepl を使って Ruby のプログラムから Firefox のレンダリング情報を取得してみました。 mala さんによる MozR

    MozRepl で画像のレンダリング位置を調べる - 最速チュパカブラ研究会
  • Rubular: a Ruby regular expression editor and tester

    Rubular is a Ruby-based regular expression editor. It's a handy way to test regular expressions as you write them. To start, enter a regular expression and a test string. Or you can try an example.

    Rubular: a Ruby regular expression editor and tester
  • [Ruby]goo 辞書をNokogiriでスクレイピング | ソースコード備忘録Press

    Nokogiriの練習がてら goo辞書の英和と和英をスクレイピングしてみた。 単語によっては直接翻訳ページに行かず、単語の候補を出力してくるページにとぶのでそこは無理やり、翻訳ページへとばした。 goo辞書ってsmart.fmみたいなWebAPIでてないのかな? 追記 → コードを全面的に修正 goo辞書のスクレイピング  クラス goo_dict.rb #!/usr/bin/ruby $KCODE = 'UTF-8' require 'rubygems' require 'jcode' require 'open-uri' require 'kconv' require 'nokogiri' require 'forwardable' class GooWord include Enumerable extend Forwardable def_delegators(:@blocks,

  • 画像内で使用されている色の統計を取るサンプル - うなの日記

    RMagickを使って、画像内で使用されている色の統計を取得するサンプルを書いてみました。使用されている色ごとに割合を算出し、使用量の多い順に出力します。 require 'rubygems' require 'RMagick' imgs = Magick::Image.read("./kitten.jpg") img = imgs.first # 画像内で使用されている色の一覧を集計 histogram = img.color_histogram.inject({}) {|h,pair| color = pair[0].to_color( Magick::AllCompliance, false, 8, true ) h[color] ||= 0 h[color] += pair[1] h }.sort_by {|pair| pair[1]*-1 } #使用されている順にソート #割合を

    画像内で使用されている色の統計を取るサンプル - うなの日記
  • Retroaktive Blog

  • Ruby/Hashでソートする方法 - TOBY SOFT wiki

    Hash#sort † とりあえず、ri Hash#sortすると少し解説有り。 -------------------------------------------------------------- Hash#sort hsh.sort => array hsh.sort {| a, b | block } => array From Ruby 1.8 ------------------------------------------------------------------------ Converts _hsh_ to a nested array of +[+ _key, value_ +]+ arrays and sorts it, using +Array#sort+. h = { "a" => 20, "b" => 30, "c" => 10 } h.sort

  • モテるエンジニア

    1. 自己紹介 @2celeb 高木 誠 1978(32) フリーランス CyberX っていう CyberAgent っていうリア充会社の子会社に常駐してます。 Ruby 1.9.2 + Rails 3 でソーシャルゲーム作ってます。 Ruby 開発者募集中です。

    モテるエンジニア
  • 正規表現 (Ruby 1.8.7)

    正規表現に関してはリテラル/正規表現リテラル、$&、 Regexp そして MatchData なども参照して下さい。 正規表現記号 後方参照 文字クラス バックトラック サンプル 正規表現記号 以下は、ruby がサポートする正規表現記号(メタ文字)の一覧です。 (正規表現のオプションについてはリテラル/正規表現リテラルを参照してください) \を伴わない英数字 はメタ文字ではない \を伴う記号 はメタ文字ではない(`\*'は「繰り返し」でなく「アスタリスク」) という規則があります。 以下の説明の中で「多バイト文字に対応した正規表現」とは、 $KCODE が設定されているか、あるいは明示的に漢字オプショ ン(リテラル/正規表現リテラルを参照)を指定するなどにより多バイト文字 にマッチし得る正規表現を指します。 ^ 行頭。文字列の先頭や改行文字の直後の位置にマッチします。 $ 行末。文字列

  • Rubyで数値文字参照を文字列に変換 - 基本へ帰ろう

    Rubyで数値文字参照を文字列に変換するのってどうやるんだろう・・・と思って調べてみました。 数値文字参照とは 文字参照 - Wikipedia 上記を読んでいただければ分かります。 HTMLなどのSGML文書においては、直接記述できない文字 や記号(マークアップで使われる "<" や "]]" など)を表記する際に用いられる方法である。 XMLにおいては、HTMLにおける「数値文字参照」を文字参照と呼 ぶ。なおHTMLにおける「文字実体参照」は、XMLでは実体参照(Entity reference)と呼び区別する。 文字列と数値文字参照の変換をやってみる 【みんなの知識 ちょっと便利帳】文字列と数値文字参照(文字参照)の変換スクリプト - 機種依存文字文字化け防止でWeb上で変換できます。 文字列 - ♪ 10進数数値文字参照 - &#9834; 16進数数値文字参照 - &#x266a

    Rubyで数値文字参照を文字列に変換 - 基本へ帰ろう
  • シリコンバレー 24時: ruby で URLエンコード プログラミング

    2007年5月 6日 ruby で URLエンコード プログラミング 昨日のブログで「 URLエンコード(URIエンコード)」について レポートしたが、 それでは、rubyで実際にプログラミングしてみよう。 rubyのサンプル・プログラムは以下の様に require 'uri' p URI.escape('ウィキペディア') たった2行である。 これで「ウィキペディア」という言葉を URLエンコードした結果が表示されるハズである。 ウィキペディア「URLエンコード」ページに 例題として「ウィキペディア」という言葉を Shift_JIS、EUC-JP、UTF-8 の各漢字コードで URLエンコードした結果があるので、 それと比較できるように、ここでは同じ言葉としてみた。 Shift_JIS、EUC-JP、UTF-8 の それぞれの漢字コードに 対応するために、それぞれに URLencodeS

  • Ruby/RSSを読む - 俺の基地

    はじめに Rubyではバージョン1.8.2以降だったら標準添付ライブラリでRSSを読むことができる。 ってか簡単すぎw ▲ ▼ 読んでみる まずこのように書く require 'rss' rss = RSS::Parser.parse(rss_source, true) 第一引数にはXMLのStringソースそのものか、URL、ローカルファイルパスを渡す。 第二引数にはちゃんとしたRSSかチェックするかどうかを指定するtrueだとチェックして変なRSSだと例外を発生させる falseにすると変なRSSでも無視して読み込む RSSHTMLほどじゃないにしても結構へんなやつを平気で吐いているサイトもあるのでたぶん一発取り込みは無理が多い ここでソースのRSSのバージョンとかAtomとかの規格の違いは自動判定でリターンされるオブジェクトが変化する あとは自動的にXMLのツリー構造がオ

  • Sinatra を使って Haml で作成したテンプレートに変数を埋め込む - 酔いどれコード

    テンプレートに変数を埋め込む方法を調べてみた。 バージョン (2012/09/26 追記) Hamlのバージョンは 2.2.2 を使っています。 コントローラ require 'rubygems' require 'sinatra' get '/:id' do @id = params[:id] @items = ['red', 'green', 'yellow'] haml :index end テンプレート !!! XML !!! %html{html_attrs('ja')} %head %title= @id %body %h1 Hello, @id %h1 Hello, #{@id}! %h1= "Hello, #{@id}!" %h1(class = @id)="Hello, " + @id + "!" %h1{:id => @id}= "Hello, ", @id, "!"

    Sinatra を使って Haml で作成したテンプレートに変数を埋め込む - 酔いどれコード
  • 5分でわかる Ruby を知らない人が Ruby の便利さを学べる記事をかいたよ を勝手に改造 - 方向

    5分でわかる Ruby を知らない人が Ruby の便利さを学べる記事をかいたよ って記事があってとっても感動しました。RubyではRailsとかSinatraとかのWebアプリのフレームワークが流行っていますが、もっとお手軽にちょっと便利な使い方を紹介するのっていいですよね!! ただ書き方が少し冗長なコードが多くて、元ネタのPHPよりもRubyが長ったらしいと誤解されてしまっている節があります。 もうちょっと短く書けるよ!! ってことで書きなおしてみました。 >コピーライトの西暦を自動更新 >Ruby を使えばページフッタの西暦も自動更新します。 before Copyright (c) 20010-<%= Time.now.strftime("%Y") %> Weble inc. All Rights Reserved. Time#yearってメソッドがあるのでそっち使ったほうが素直で

    5分でわかる Ruby を知らない人が Ruby の便利さを学べる記事をかいたよ を勝手に改造 - 方向
  • プロとしての行為 Act as Proffesional

    Ruby を知らない人に Ruby の話をして欲しいと言われてないけど、ブログを書きました。(*1) 難しい話は抜きにしたいんだけど、抜きにしちゃうとまったく訳わかんないから簡単に説明する。 今回は Ruby の erb ってのを使って元ネタ同様のことを実現する。 mod_ruby が動くサーバなんて自分でつくらないとないだろうけど、 その辺はどうにかしてもらう。 erubyが導入されていれば、ファイルの1行目に #!/usr/bin/eruby -McKuCutf-8 とする。(*2) そんなこんなで、どうにかしてもらったら、 <%= と %> で囲めば動きます。 どうにかしてもらったサーバで example.html というファイルの拡張子を example.rhtml すれば良いだけです。 <%= Rubyスクリプト %> 拡張子を変えずに動かすこともできます。 .html ファイル

    プロとしての行為 Act as Proffesional
  • mapee.jp

    This domain may be for sale!

  • クラス内で定数を定義する

    クラス内で定数を定義することができます。定数はアルファベットの大文字で始まる定数名に対して一度だけ値を格納することができ、クラス内およびクラス外から参照することができます。ここでは Ruby でクラス内で定数を定義する方法について解説します。なお定数について詳しくは「定数」を参照して下さい。

    クラス内で定数を定義する
  • Ruby :: クラス変数、インスタンス変数、特異メソッド [Tipsというかメモ]

    @@ で始まる変数はクラス変数。 クラス変数は、そのクラスやサブクラス、それらのインスタンスで共有されるグローバル変数であるとみなすことができます。 class Foo @@F = 0 def foo @@F += 1 print @@F, "\n" end end @ で始まる変数はインスタンス変数。 class Foo @a = 123 # (1) def foo p @a # (2) ... 123でなくnilになる。 end end (1)が「クラスのインスタンス変数」、(2)は「通常のインスタンス変数」。 (2)はクラスFooのインスタンスに属するのに対し、(1)はFooというクラスオブジェクト(Classのインスタンス)に属します。 インスタンスメソッドからクラスのインスタンス変数に直接アクセスすることはできません。 上のように初期化されていないインスタンス変数とみなされ、ni

  • Igo - a morphological analyzer

    目次 概要/特徴 リリースノート インストール/使い方 jarファイル 解析用辞書作成 形態素解析 コマンド BuildDic Igo Java API Tagger Morpheme サンプルコード MeCabとの相違点 解析結果 機能 辞書ファイル 単語エントリフォーマット 制限/注意点 禁則文字 バイナリ辞書エンディアン ライセンス バグ報告など 概要/特徴 Javaで実装された形態素解析器。→ Common Lisp版 辞書フォーマット及び解析結果は、ほぼMeCab互換。 単機能。 Java形態素解析器としては比較的高速。 スレッドセーフ。 リリースノート version 0.4.3: 2011年06月17日 形態素解析部の微細なパフォーマンスチューニング インストール/使い方 1) jarファイルの取得/作成 jarファイルは以下のいずれかの方法で取得/作成する。 ダウンロード

  • Ruby1.8.7でインデックス付きmapを使う - idesaku blog

    mapをインデックス付きで使いたい!と思ってRuby1.8.7でRuby1.9ライクな書き方をしようとしたら失敗した。 Rubyでは内部イテレータが使われている。 [1,2,3].each { |n| print n } イテレータにインデックスを渡すこともできる。 [1,2,3].each_with_index { |n,i| puts "#{i}: #{n}" } ところでRuby 1.9からeachやmapはブロックを与えられなかった場合に外部イテレータを返すようになった。これにより、こんな書き方もできるようになった。 e = [1,2,3].each e.with_index { |n,i| puts "#{i}: #{n}" } これで何が嬉しいって、mapでも簡単にインデックス番号を使えるようになったのである。*1 [1,2,3].map.with_index { |n,i|

    Ruby1.8.7でインデックス付きmapを使う - idesaku blog