アウトプットができる技術者に

it's a time to take a new step !

Ruby

Ruby 入門 目次

配列

カラムを追加してみる

Summary rails x mongodb x ec2 で 簡単なモックアプリを作成した http://d.hatena.ne.jp/the_pleiades/20130421/1366527564 今回はこれに「author」カラムを追加をしてみる How To vimgrepで「subscription」フィールドを探して、その下に「author」を追加…

MongoDB x ROR on EC2

Summary MongoDBを利用したwebアプリを作ってみた。 MongoMpperとMongoidはどちらもODM(Object Document Mapper)なはずだけど、MongoidはMongoMapperがないと動かなかった。configファイルの初期化でこける。 事前作業 port開放 MongoDB Install on EC2 Inst…

型変換

num = 1 p "num=" + String(num) # => num=1

Rubyで日本語

実行時に -K オプションで文字コード指定する必要あり ruby -Ks script_sjis.rb http://www.ruby-lang.org/ja/old-man/html/FAQ_C6FCCBDCB8ECA4CEBCE8A4EAB0B7A4A4.html

file read

open("tmp.txt","r"){|r| r.each{|line| p line } }

ファイル書き込み

open("tmp.txt","w"){|f| f.puts("a") f.write("b") } puts だと 改行あり write だと 改行なし reference http://doc.ruby-lang.org/ja/1.9.3/class/File.html

配列

arr = [1,2,3] arr << 4 p (arr[0]) # => 1 p (arr[3]) # => 4 http://doc.ruby-lang.org/ja/1.9.2/class/Array.html

置換 gsub

s = "a,b" p s.gsub(",",":") # => "a:b" 正規表現置換 s = "a,b,b" p s.gsub(/b$/,"x") # => "a,b,x"

Regex

s="abc" if s =~ /^a+/ then p s # => abc end 否定 s="abc" if s !~ /^a+/ then p s end

split

str = "a,b,c" p str.split(",") # => ["a", "b", "c"]

for文

for i in 1..5 do p i end

正規表現 パターンマッチング

/a(.)c(.)e(.)/ =~ "abcdef" p $1 #=> b p $2 #=> d p $3 #=> f

Net::HTTP

HttpClinetClass sample address = "www.example.jp" Net::HTTP.version_1_2 Net::HTTP.start(address){|h| res = h.get("1.html") puts res.body } reference http://www.ruby-lang.org/ja/old-man/html/Net_HTTP.html 文字コードが問題になる場合はこのあ…

データサイエンティストにはPython使いが多い?

都内の某勉強会に行ったら、「RからPythonに乗り換えました」って人が ちらほらいました。 なぜ Python? Rubyとかじゃだめなの? って思ってたら、Pythonはどーやら統計のライブラリが充実しているみたいです。で、データ分析って、前処理(データの変換)が…

破壊的メソッド

RubyのDocumentを読むと しょっちゅう出てくるこれ。 公式Docによるとこーゆーことだが、よくわからん。。そのうち、読み解く。。 オブジェクトの内容を変更してしまうメソッドで、文字列や配列、ハッシュ などにあります。同名のメソッドがあって、一方はオ…

多次元Hash

2次元 h = Hash.new{|hash, key| hash[key] = {} } h["app"]["a"] = 10 p h["app"]["a"] 10 3次元 h = Hash.new{|hash, key| hash[key] = Hash.new{|hash, key| hash[key]={}} } h["app"]["a"]["b"] = 10 p h["app"]["a"]["b"] 10 reference http://rakkyoo.…

Hash

summary Hash 生成1 hash = {"app"=>100,"win"=>50} p hash["app"] p hash["win"] 100 50 生成2 h = Hash.new h["app"] = 10 p h["app"]10 要素の追加 hash = {"app"=>100,"win"=>50} hash["mic"] = 10 p hash["app"] p hash["win"] p hash["mic"] 100 50 10…

Ruby

都内の某勉強会に行ったら、GroovyとRuby使いばかりでした。 時代はいつのまにやらかわってるんですね。。そんなわけで、食わず嫌いだったRubyをやることにします。 Ruby好きに言わせると、「+とか演算子までオブジェクトなんだぜ!オーバーライドできるん…

Notation

コメントが見づらいなぁと思っていたら、そういったルールらしいですね。 p "Hello World" #=> Hello World reference http://www.namaraii.com/rubytips/?%B5%AD%BD%D2%B7%C1%BC%B0#l1