Ruby
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* [[Ruby]]
まつもとゆきひろ氏が作成されたプログラミング言語です。実...
#contents
** インストール
http://www.ruby-lang.org/ja/からダウンロードしました。日...
がすべてですね。とってもわかりやすいです。といいつつ
./configure --help
で確認して、
./configure --enable-shared
にしてます。
windowsは[[Rubyのダウンロードとインストール>http://www.ru...
** 開発環境
とりあえずエディターでやるのもなーと思い、[[Eclipse]]でRa...
コード補完が使えなく、Declarationもないので、ん?あるぞ。...
コンテンツ・アシストはRubyコンテンツ・アシストなんですね。
aptanaになってからか?サーバをdebugで起動させれば、debug...
他にも、NetBeans6.0でいけます。
http://ja.netbeans.org/~
当分どっちがなじむか試してみよう。
Leopardで触っているとRuby>デバッガーでruby-debugライブラ...
gem install ruby-debug-ide
でいれても
/System/Library/Frameworks/Ruby.framework/Versions/Curre...
にrdebug-ideがないと怒られたので、
そのディレクトリで
ln -s /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.1.9/b...
としておきました。
[[EclipseユーザのためのNetBeans入門>http://www.okisoft.co...
http://completemirage.blog55.fc2.com/blog-entry-39.html~
**irb
[[irb - Rubyリファレンスマニュアル>http://www.ruby-lang.o...
**TIPS
***def self.メソッド名
クラスを作成していなくても呼び出せる。javaのstaticみたい...
***変数
変数の先頭で意味合いが変わります。
@ #インスタンス変数
@@ #クラス変数
$ #グローバル変数
***コメント
#
もしくは
=begin
=end
で囲む
***シンボル
ソースを見てると:hogeとかコロンで始まるのを見つけ、なんじ...
ようは、
p "hoge".object_id == "hoge".object_id
>false
p :hoge.object_id == :hoge.object_id
>true
でなのです。
***yield
これも最初は?でした。サンプルで理解しましょう。
class TestClass
attr_accessor :name1
attr_accessor :name2
def initialize()
@test = Array.new
@test.push("aaaa")
@test.push("bbb")
@test.push("ccc")
end
def hoge
yield(10,20)
#2回動く
yield(10,20)
end
def hoge2
@test.each{|tes|
yield(tes)
}
end
def hoge3
yield(name1,name2)
end
end
testclass = TestClass.new
testclass.hoge{|x,y| p x*y}
testclass.hoge2{|aa| p aa.length}
testclass.name1 = "名字";
testclass.name2 = "名前";
testclass.hoge3{|aa,bb| puts aa+bb}
結果
200
200
4
3
3
名字名前
false
true
***pp
require 'pp'
としておいて、
pp hoge
とするとpより改行してみやすくしてくれます。
***メソッドの一覧
p hoge.methods
p hoge.public_methods
p hoge.private_methods
p hoge.protected_methods
で一覧がみれます。
***hash
[[配列>http://www.namaraii.com/rubytips/?%C7%DB%CE%F3]]
***map
a = [10, 20, 30, 40, 50]
a.map! {|x| x*10}
p a #=>[100, 200, 300, 400, 500]
a.map {|x| x*10}
p a #=>[100, 200, 300, 400, 500]
ちなみに!は破壊的メソッドです。
***ディープコピー
newcart = Marshal.load(Marshal.dump(cart))
参考:[[Marshal>http://www.ruby-lang.org/ja/man/html/Marsh...
***net/http
query_hash = Hash.new
query_hash["va"] = "hoge"
query_string = query_hash.map{|key,value|
"#{URI.encode(key)}=#{URI.encode(value)}"
}.join("&")
begin
Net::HTTP.start('search.yahoo.co.jp', 80) {|http|
response = http.post('/web/advanced',query_string)
p response.body
}
rescue
puts "exception on HTTP: #{$!}"
end
参考:[[標準添付ライブラリ紹介 【第 7 回】 net/http>http:/...
***WWW::Mechanize
gem install mechanizeで入れておいて、
require 'mechanize'
agent = WWW::Mechanize.new
page = agent.get('http://search.yahoo.co.jp/web/advanced')
form = page.forms.first
form.va = "hoge"
res = agent.submit(form)
resbody = res.body
p resbody
WWW::Mechanizeとnet/httpではWWW::Mechanizeの方が使いやすい
ただ0.7.0と0.7.1で動きが違うのが気になる...
とりあえず0.7.0を使ってます。
参考:[[WWW::Mechanize による Webアクセスの自動化>http://...
***Hpricot
WWW::Mechanizeをいれれば入ってきてます。htmlを解析するの...
[[RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW...
[[HTMLパーサ Hpricot>http://tam.qmix.org/wiki/Hpricot.htm...
*** ハッシュソート
hashhoge2 = hashhoge.sort_by{|key,val|val}
***スレッド
[[スレッド>http://www.namaraii.com/rubytips/?%A5%B9%A5%EC...
***etc
attr_accessible :aaa,:bbb #ここで指定した項目以外が保護...
***リンク
http://wiki.rubyonrails.com/rails/pages/RailsOnFedora~
http://osakanas.blog19.fc2.com/blog-entry-67.html~
http://www.goodpic.com/mt/archives2/2005/10/fedora_core_3...
**DB
***MySQL
gem install mysql -- --with-mysql-dir=/usr/local/mysql
メニュがでてきますので、windowsであれば、1番(-- --with-my...
;C:\Program Files\MySQL\MySQL Server 5.0\bin;
を追加しておいてあげましょう。
***PostgreSQL
http://www.postgresql.jp/interfaces/ruby/index-ja.html
** Apollo
Apollo = Delphi + Rubyとのことです。http://www.moriq.com/...
今はどうなっているんだろうか。
** リンク
[[本家>http://www.ruby-lang.org/ja/]]~
[[Ruby on Rails]]~
[[JavaとRuby:主要機能の比較>http://codezine.jp/a/article...
[[逆引きRuby>http://www.namaraii.com/rubytips/]]~
[[Rubyで使われる記号の意味>http://www.ruby-lang.org/ja/ma...
** 参考書籍
** コメント
--#comment
終了行:
* [[Ruby]]
まつもとゆきひろ氏が作成されたプログラミング言語です。実...
#contents
** インストール
http://www.ruby-lang.org/ja/からダウンロードしました。日...
がすべてですね。とってもわかりやすいです。といいつつ
./configure --help
で確認して、
./configure --enable-shared
にしてます。
windowsは[[Rubyのダウンロードとインストール>http://www.ru...
** 開発環境
とりあえずエディターでやるのもなーと思い、[[Eclipse]]でRa...
コード補完が使えなく、Declarationもないので、ん?あるぞ。...
コンテンツ・アシストはRubyコンテンツ・アシストなんですね。
aptanaになってからか?サーバをdebugで起動させれば、debug...
他にも、NetBeans6.0でいけます。
http://ja.netbeans.org/~
当分どっちがなじむか試してみよう。
Leopardで触っているとRuby>デバッガーでruby-debugライブラ...
gem install ruby-debug-ide
でいれても
/System/Library/Frameworks/Ruby.framework/Versions/Curre...
にrdebug-ideがないと怒られたので、
そのディレクトリで
ln -s /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.1.9/b...
としておきました。
[[EclipseユーザのためのNetBeans入門>http://www.okisoft.co...
http://completemirage.blog55.fc2.com/blog-entry-39.html~
**irb
[[irb - Rubyリファレンスマニュアル>http://www.ruby-lang.o...
**TIPS
***def self.メソッド名
クラスを作成していなくても呼び出せる。javaのstaticみたい...
***変数
変数の先頭で意味合いが変わります。
@ #インスタンス変数
@@ #クラス変数
$ #グローバル変数
***コメント
#
もしくは
=begin
=end
で囲む
***シンボル
ソースを見てると:hogeとかコロンで始まるのを見つけ、なんじ...
ようは、
p "hoge".object_id == "hoge".object_id
>false
p :hoge.object_id == :hoge.object_id
>true
でなのです。
***yield
これも最初は?でした。サンプルで理解しましょう。
class TestClass
attr_accessor :name1
attr_accessor :name2
def initialize()
@test = Array.new
@test.push("aaaa")
@test.push("bbb")
@test.push("ccc")
end
def hoge
yield(10,20)
#2回動く
yield(10,20)
end
def hoge2
@test.each{|tes|
yield(tes)
}
end
def hoge3
yield(name1,name2)
end
end
testclass = TestClass.new
testclass.hoge{|x,y| p x*y}
testclass.hoge2{|aa| p aa.length}
testclass.name1 = "名字";
testclass.name2 = "名前";
testclass.hoge3{|aa,bb| puts aa+bb}
結果
200
200
4
3
3
名字名前
false
true
***pp
require 'pp'
としておいて、
pp hoge
とするとpより改行してみやすくしてくれます。
***メソッドの一覧
p hoge.methods
p hoge.public_methods
p hoge.private_methods
p hoge.protected_methods
で一覧がみれます。
***hash
[[配列>http://www.namaraii.com/rubytips/?%C7%DB%CE%F3]]
***map
a = [10, 20, 30, 40, 50]
a.map! {|x| x*10}
p a #=>[100, 200, 300, 400, 500]
a.map {|x| x*10}
p a #=>[100, 200, 300, 400, 500]
ちなみに!は破壊的メソッドです。
***ディープコピー
newcart = Marshal.load(Marshal.dump(cart))
参考:[[Marshal>http://www.ruby-lang.org/ja/man/html/Marsh...
***net/http
query_hash = Hash.new
query_hash["va"] = "hoge"
query_string = query_hash.map{|key,value|
"#{URI.encode(key)}=#{URI.encode(value)}"
}.join("&")
begin
Net::HTTP.start('search.yahoo.co.jp', 80) {|http|
response = http.post('/web/advanced',query_string)
p response.body
}
rescue
puts "exception on HTTP: #{$!}"
end
参考:[[標準添付ライブラリ紹介 【第 7 回】 net/http>http:/...
***WWW::Mechanize
gem install mechanizeで入れておいて、
require 'mechanize'
agent = WWW::Mechanize.new
page = agent.get('http://search.yahoo.co.jp/web/advanced')
form = page.forms.first
form.va = "hoge"
res = agent.submit(form)
resbody = res.body
p resbody
WWW::Mechanizeとnet/httpではWWW::Mechanizeの方が使いやすい
ただ0.7.0と0.7.1で動きが違うのが気になる...
とりあえず0.7.0を使ってます。
参考:[[WWW::Mechanize による Webアクセスの自動化>http://...
***Hpricot
WWW::Mechanizeをいれれば入ってきてます。htmlを解析するの...
[[RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW...
[[HTMLパーサ Hpricot>http://tam.qmix.org/wiki/Hpricot.htm...
*** ハッシュソート
hashhoge2 = hashhoge.sort_by{|key,val|val}
***スレッド
[[スレッド>http://www.namaraii.com/rubytips/?%A5%B9%A5%EC...
***etc
attr_accessible :aaa,:bbb #ここで指定した項目以外が保護...
***リンク
http://wiki.rubyonrails.com/rails/pages/RailsOnFedora~
http://osakanas.blog19.fc2.com/blog-entry-67.html~
http://www.goodpic.com/mt/archives2/2005/10/fedora_core_3...
**DB
***MySQL
gem install mysql -- --with-mysql-dir=/usr/local/mysql
メニュがでてきますので、windowsであれば、1番(-- --with-my...
;C:\Program Files\MySQL\MySQL Server 5.0\bin;
を追加しておいてあげましょう。
***PostgreSQL
http://www.postgresql.jp/interfaces/ruby/index-ja.html
** Apollo
Apollo = Delphi + Rubyとのことです。http://www.moriq.com/...
今はどうなっているんだろうか。
** リンク
[[本家>http://www.ruby-lang.org/ja/]]~
[[Ruby on Rails]]~
[[JavaとRuby:主要機能の比較>http://codezine.jp/a/article...
[[逆引きRuby>http://www.namaraii.com/rubytips/]]~
[[Rubyで使われる記号の意味>http://www.ruby-lang.org/ja/ma...
** 参考書籍
** コメント
--#comment
ページ名: