ruby
ちょっとわかりにくいけど非常に便利なinjectメソッド - 勉強日記 http://akisute3.hatenablog.com/entry/20111122/1322153061配列の平均 speed=[1.3,3.3,2.3,5.5,2.3] ave_speed=speed.inject(:+)/speed.length
yahoo検索で検索件数の取得 #encoding: utf-8 require 'rubygems' require 'hpricot' require 'mechanize' require 'open-uri' require 'uri' #$KCODE='u' text1=URI.encode(ARGV[0]); agent=Mechanize.new agent.get("http://search.yahoo.co.jp/search?p=#…
wikipediaから元号と西暦の換算表を作る 元号一覧(日本)のページをスプレイピング http://ja.wikipedia.org/wiki/%E5%85%83%E5%8F%B7%E4%B8%80%E8%A6%A7_(%E6%97%A5%E6%9C%AC) 出力例 大化1,大化一,大化元,645 大化2,大化二,大化二,646 大化3,大化三,大化…
rubyでRのorder a=[5,2,3,1] (a.length).times.sort{|x,y| a[x] <=> a[y]} a=[5,2,3,1] b=[2,3,4,7] c=(a.length).times.sort{|x,y| a[x] <=> a[y]} c.each{|i| puts a[i].to_s+","+b[i].to_s}
2つのディレクトリからリストに含まれるファイルをコピー以下のプロセス list1.txtに含まれるファイルは 行数1_s.csv からコピー ディレクトリは../../list1dir/list2.txtに含まれるファイルは 行数1_s.csv からコピー ディレクトリは../../list2dir/list3.…
rubyでファイルの併合3 (共通するもの対応関係の出力) f=open("A.txt"); a=Hash::new(); k=1; f.readlines.each{|i| i.chomp! q=i.split(" ") a[q[0]]=q[0]+" "+k.to_s; k=k+1; } f3=open("B.txt"); b=Hash::new(); k=1; f3.readlines.each{|i| i.chomp! …
rubyでkeyの行の置き換え f=open("test1.txt"); a=Hash.new(); f.readlines.each{|i| i.chomp!; j=i.split(" ") a[j[0]+" "+j[1]]=i; # puts i; } f2=open("test2.txt"); f2.readlines.each{|i| i.chomp! j=i.split(" ") if a.has_key?(j[0]+" "+j[1]) then …
http://rubyonrails.gachinko.org/tag/gemfile/ gem install bundler --pre bundle install https://sites.google.com/site/shimesabanote2/linux/centos/ruby_on_rails/raisl_install sudo yum --enablerepo=remi,remi-test -y install ruby-develhttp://bl…
Ruby which can be installed by yum is 1.8.x for CentOS 6.4. So, we install ruby 1.9.x from sources. 1. Install epel. Epel is is Extra Packages for Enterprise Linux. rpm -ivh epel-release-5-4.noarch.rpm http://www.tooyama.org/yum-addrepo-ep…
rubyで日付っぽい文字列を出力%記号を使うと書式付の出力ができる. 12.times{|j| 31.times{|i| puts "%02d"%(j+1)+"%02d"%(i+1) } } 参考 http://doc.ruby-lang.org/ja/2.0.0/method/String/i/=25.html 参考 http://d.hatena.ne.jp/xibbar/20090917#1253108…
ruby のchompでは行末の改行しかとれない。 途中のは, ruby -e 'puts open("xxx.txt").read.gsub(/[\r\n]/,"")' > out.txt http://d.hatena.ne.jp/shokai/20081230/1230642379 より
http://tech.actindi.net/3474804152 http://wiki.lifesciencedb.jp/mw/index.php/Ruby%E3%81%8B%E3%82%89R%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%92%E4%BD%BF%E3%81%86http://d.hatena.ne.jp/hrsth/20100204/1265288817◆cygwinにインストール (1)~/.bashrc にR…
rubyで秒単位のひづけの補完 f=(`ls .. | grep csv`).split("\n"); jjj=Hash.new(); p f; #f=["1264.csvcsv"] t=Time::new(2011,3,11,00,00,00) puts t; f.each{|k| f2=open("../"+k,"r") f3=open(k.gsub(/csv$/,''),"w") f2.each{|j123| j124=j123.split("\…
正規表現で文字列の繰り返しになっている行を検出置換 a="ttesttes" => "ttesttes" a.gsub(/^(.*)(\1)+$/,'\2') => "ttest" a="ttt" => "ttesttes" a.gsub(/^(.*)(\1)+$/,'\2') => "t"
大量の図をpdfファイルにひとまとめにするtexソースを作るスクリプト. ちなみに,適当に\clearpage しないと図が多過ぎでtexコンパイルできなくなる.実行 ruby test.rb test.rb output="test.tex" f=open(output,"w") k=`ls | grep eps | sort -g ` fileli…
管理者権限なし(一般ユーザ)でのrubyのhpricotとmecanizeの導入 各ライブリの一般ユーザでの導入は, C言語系ライブラリ: http://d.hatena.ne.jp/arupaka-_-arupaka/20121006/1349517441 ruby系ライブラリ: http://d.hatena.ne.jp/arupaka-_-arupaka/20121…
管理者権限がない場合のrubygemsの利用 例 Hpricotのインストール (1)gemファイルを自分でもってくる. (2)環境変数GEM_HOMEを変える. (3)インストール wget http://gemcutter.org/downloads/hpricot-0.8.6.gem export GEM_HOME=~/gems gem install hpricot…
コマンド、ライブラリインストール編 (1)基本原則 自動インストールは使えない. yum install xxx とかは使えない。 (2)ソースからコンパイルするときは, ./configure --prefix=/home/username/usr とかするとインストールディレクトリを指定できる.…
rubyで日付の補完例:ファイルリスト filelist.xt xxx.csv2.csv 入力ファイル ../xxx.csv2.csv 00-01-01 100 00-01-03 120 00-01-04 150 00-01-06 160 出力ファイル xxx.csv 2000-01-01 100 2000-01-02 NA 2000-01-03 120 2000-01-04 150 2000-01-05 NA 2000-…
管理者権限がない場合のrubygemsの利用例 Hpricotのインストール (1)gemファイルを自分でもってくる. (2)環境変数GEM_HOMEを変える. (3)インストール wget http://gemcutter.org/downloads/hpricot-0.8.6.gem export GEM_HOME=~/gems gem install hpricot …
yahooのスナペット(要約文)を取得するスクリプト require 'rubygems' require 'kconv' require 'mechanize' require 'hpricot' KCODE='u' agent=Mechanize.new(); agent.user_agent_alias="Windows IE 7" search_word="\"*とはNTTのこと\"" page=agent.get…
http://d.hatena.ne.jp/shikaku/20100108/p1 page=agent.get("http://yahoo.co.jp") page.save
日本の全上場企業名一覧?をcsvで取得(重複あり)。 http://www.jpubb.com/様を利用させていただいています。 get.rb require 'rubygems' require 'hpricot' require 'mechanize' require 'kconv' require 'uri' $KCODE="u" #exit(); str3="http://www.jpub…
nextprevを含まない要素を検索
Hpricotでタイトルダグが"title=Last Page"で終わるリンクの取得 ポイントは[]のセレクタの前に「@」をつけること。 str3="http://www.jpubb.com/list/list.php?se="+market+"&pageID="+"1" tmp=agent.get(str3).body doc=Hpricot(tmp); j=((doc/"a[@title$=…
rubyで日経一部上場企業の一覧を取得する。 http://www.jpubb.com/ さまにアクセスさせていただいています。 require 'rubygems' require 'hpricot' require 'mechanize' require 'kconv' require 'uri' $KCODE="u" str3="http://www.jpubb.com/list/list.ph…
http://www.pistolfly.jp/weblog/2011/06/open-uritimeout.html Time out時間を1秒に設定。 1秒たって接続できなければあきらめる。 require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" #require "timeout" require…
yahoo検索で検索数を表示するスクリプト 検索word: "test" require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" $KCODE="u" #tmp123="http://www.aeon.info/" #text="link:"+tmp123; text="test" search=URI.encode(te…
require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" $KCODE="u" #text="\"http://ntt.co.jp\"" #text="\"a href=\"http://www.toyota.co.jp/\"" #text="link: www.ntt.co.jp -site: ntt.co.jp site: jp" #text="link:…
CSSセレクタ http://weboook.blog22.fc2.com/blog-entry-268.html Hpricot http://route477.net/rubyscraping/?Hpricot%2FShowcase HpricotとCSSセレクタ http://route477.net/d/?date=20070205 require "rubygems" require "mechanize" require "hpricot" r…