Ruby初學者スレッド Part 9
■ このスレッドは過去ログ倉庫に格納されています
0001紅寶石
2006/11/21(火) 08:33:42マニュアル
http://www.ruby-lang.org/ja/man/
Ruby FAQ
http://ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby リファレンスマニュアルの Windows HTML Help版
http://elbereth-hp.hp.infoseek.co.jp/ruby.html
Rubyリファレンスマニュアル刷新計画
http://doc.loveruby.net/
前スレ
Ruby初心者スレッドPart8
http://pc8.2ch.net/test/read.cgi/tech/1159424939/
>>2-10
0002デフォルトの名無しさん
2006/11/21(火) 08:35:570003デフォルトの名無しさん
2006/11/21(火) 08:39:22Rubyについて Part 24
http://pc8.2ch.net/test/read.cgi/tech/1159315598/
【Agile】Ruby on rails相談所 part2【DRY】
http://pc8.2ch.net/test/read.cgi/php/1151254378/
RUBYの宿題教えてください。
http://pc8.2ch.net/test/read.cgi/tech/1106572657/
【最高言語】 Rubyist Magazine創刊 【ルビま!】
http://pc8.2ch.net/test/read.cgi/tech/1094825807/
【ActiveScript】RubyをWindowsで使うスレ【GUI】
http://pc8.2ch.net/test/read.cgi/tech/1155031689/
0004デフォルトの名無しさん
2006/11/21(火) 08:39:54http://pc8.2ch.net/test/read.cgi/tech/1159424939/
Ruby初心者スレッドPart7
http://pc8.2ch.net/test/read.cgi/tech/1154077799/
http://makimo.to/2ch/pc8_tech/1154/1154077799.html
Ruby初心者スレッドPart6
http://pc8.2ch.net/test/read.cgi/tech/1147918197/
http://makimo.to/2ch/pc8_tech/1147/1147918197.html
Ruby初心者スレッドPart5
http://pc8.2ch.net/test/read.cgi/tech/1143403165/
http://makimo.to/2ch/pc8_tech/1143/1143403165.html
Ruby初心者スレッドPart4
http://pc8.2ch.net/test/read.cgi/tech/1137927749/
http://makimo.to/2ch/pc8_tech/1137/1137927749.html
Ruby初心者質問スレPart3
http://pc8.2ch.net/test/read.cgi/tech/1125587131/
http://makimo.to/2ch/pc8_tech/1125/1125587131.html
Ruby初心者質問スレPart2
http://pc8.2ch.net/test/read.cgi/tech/1107799347/
http://makimo.to/2ch/pc8_tech/1107/1107799347.html
Ruby初心者質問スレPart1
http://pc5.2ch.net/test/read.cgi/tech/1100534824/
0005デフォルトの名無しさん
2006/11/21(火) 08:41:42http://www.ruby-lang.org/ja/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
日本Rubyの会 公式Wiki - 日本Rubyの会Wiki
http://jp.rubyist.net/
RAA - Ruby Application Archive
http://raa.ruby-lang.org/
RubyForge
http://www.rubyforge.org/
Matzにっき … Ruby作者の日記
http://www.rubyist.net/~matz/
Ruby hotlinks 五月雨版 … Ruby関連の日記やblog
http://www.rubyist.net/~kazu/samidare/
Rubyの本一覧
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Ruby%A4%CB%B4%D8%A4%B9%A4%EB%BD%F1%C0%D2
<rubyXML/>
http://www.rubyxml.com/
Ruby Weekly News @ Ruby Garden
http://www.rubygarden.org/rurl/html/
0006デフォルトの名無しさん
2006/11/21(火) 12:55:440007デフォルトの名無しさん
2006/11/21(火) 12:57:060008デフォルトの名無しさん
2006/11/21(火) 13:11:480009デフォルトの名無しさん
2006/11/21(火) 14:23:480010デフォルトの名無しさん
2006/11/21(火) 14:44:30ドキュメントには、
Rubyの標準的な拡張ライブラリと同じです。ソースを展開したディレクトリで、
ruby extconf.rb
make
make site-install
(または make install)
と実行します。
とあるんですが、windowsXPなのでmakeが使えずインストールできません。
0011デフォルトの名無しさん
2006/11/21(火) 15:30:390012デフォルトの名無しさん
2006/11/21(火) 15:41:42それも認識されません。
0013デフォルトの名無しさん
2006/11/21(火) 15:42:590014デフォルトの名無しさん
2006/11/21(火) 15:43:45http://www.microsoft.com/japan/msdn/vstudio/express/visualc/
Visual C++ 2005 Express Edition 日本語版
Platform SDK
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
0015デフォルトの名無しさん
2006/11/21(火) 15:52:240016デフォルトの名無しさん
2006/11/21(火) 19:15:52makeが標準で入ってるという前提でマニュアルを書くべきではない
makeの導入の仕方とかいちいち書くのも面倒だけどな
0017デフォルトの名無しさん
2006/11/21(火) 20:00:21プラットフォームでのそれぞれのコンパイル方法を説明する
ってのも無茶だろう。
0018デフォルトの名無しさん
2006/11/21(火) 20:14:26「インストールに必要なもの」という項目くらいあってもよさそうなもんだんだが、
「とにかくmakeして下さい」といった説明しかなかったりする
そりゃmakeでは必要なプログラムやライブラリのチェックはしてくれるが、
make自体がない可能性を考慮してないとか
いちいちmakeで躓くまで待たないとわからんとかそういうのはよくないだろ
makeのインストール方法の説明なんざ自前でする必要はない
とにかく、makeを始めとしてあれとこれが無いと動かない、ということはちゃんと文章化しろ
0019デフォルトの名無しさん
2006/11/21(火) 21:59:060020デフォルトの名無しさん
2006/11/21(火) 22:15:170021デフォルトの名無しさん
2006/11/21(火) 22:20:49そう思うなら、お前が全部やればいいじゃない。
おまえ以外は誰もそんなもん必要ないからさ。
0022デフォルトの名無しさん
2006/11/21(火) 22:24:10間違いなく一生遊べるおもちゃです。はい。
0023デフォルトの名無しさん
2006/11/21(火) 22:25:160024デフォルトの名無しさん
2006/11/21(火) 22:26:580025デフォルトの名無しさん
2006/11/21(火) 22:34:440026デフォルトの名無しさん
2006/11/21(火) 22:55:59極めて正しい
が、個々のメンテナに求めるクオリティではないな
マニュアル書式を統括すべきだろう
それこそDebianパッケージみたいに
0027デフォルトの名無しさん
2006/11/21(火) 23:48:17お前、自分でやってみろよ。ごくたまに居るんだよな、こういう図々しい奴。
0028デフォルトの名無しさん
2006/11/22(水) 00:08:33でも、自分の環境だから、作成者本人ならやれるぞ、これ。それほど難しい作業でもない。
それこそ「やってみればわかる」。
0029デフォルトの名無しさん
2006/11/22(水) 00:11:39「makeすら自分で考えて用立てできん奴は使わんでよし」ということにならんか
0030デフォルトの名無しさん
2006/11/22(水) 00:20:480031デフォルトの名無しさん
2006/11/22(水) 00:51:23説明だの事前用意だのの面倒くさがりがRubyを選ぶのだろう
ドキュメントやマニュアルの不親切や不備は直りそうにない
今年の6月だか7月にはどうにかなってるはずだったんじゃないん?
0032デフォルトの名無しさん
2006/11/22(水) 00:56:500033デフォルトの名無しさん
2006/11/22(水) 02:51:350034デフォルトの名無しさん
2006/11/22(水) 08:32:57「自分の環境だから」って、自分の環境にmakeがあるからそういうドキュメントになってんじゃないの?
なんか読み違えてる?
0035デフォルトの名無しさん
2006/11/22(水) 09:03:35そういう所では make 以外にも足りない物が色々ありそうだし。
頑張って書いたとしても、「それほど難しい作業でもないから書いて当然だろ」とか
言われちゃうんだろうなorz
0036デフォルトの名無しさん
2006/11/22(水) 09:33:330037デフォルトの名無しさん
2006/11/22(水) 09:50:360038デフォルトの名無しさん
2006/11/22(水) 10:15:270039デフォルトの名無しさん
2006/11/22(水) 10:16:100040デフォルトの名無しさん
2006/11/22(水) 11:06:40マニュアルなんだし必要なものくらい最低限明記しとけよ、という主張なんだろうし、
いちいち入手方法や導入方法にまで言及する必要はないのでは。
箇条書き程度だろう。
てか、適度に箇条書きしてるマニュアルのほうが多いような気もするが。
なんて言ってると>>10の拡張ライブラリにのマニュアルには
REQUIREMENTSとかの項がしっかり書かれてたりするんだよな
0041デフォルトの名無しさん
2006/11/22(水) 12:13:39頭使えない人はお金を使うべし。
0042デフォルトの名無しさん
2006/11/22(水) 12:14:250043デフォルトの名無しさん
2006/11/22(水) 23:40:46コマンドラインで使うスクリプトを書いています。
スクリプトにオプションを渡したいのですが、
オプションの処理をおこなうライブラリはあるのでしょうか。
0044デフォルトの名無しさん
2006/11/22(水) 23:43:360045デフォルトの名無しさん
2006/11/23(木) 00:11:29p ARGV
-----
./test.rb -a aaa -b bbb
["-a", "aaa", "-b", "bbb"]
これで用が済む場合も少なくない
0047デフォルトの名無しさん
2006/11/23(木) 12:00:230048デフォルトの名無しさん
2006/11/23(木) 12:20:21「readlinesで一気に配列として読み込むよりeachで各行処理したほうがこんなにメモリに優しいじゃん」
とかいうことを数値として実感して納得したいです
0049デフォルトの名無しさん
2006/11/23(木) 12:28:130050デフォルトの名無しさん
2006/11/23(木) 12:34:40…いや、どうやればコマンド単体のメモリ使用総量を調べられるのかわかんないけど
topを注視し続けるというのも現実的ではないしなあ
0051デフォルトの名無しさん
2006/11/23(木) 14:33:01多くメモリを食う方はより緩い制限で実行できなくなるだろう。
と思ったが、どのオプション使えばいいんだ。
0052デフォルトの名無しさん
2006/11/23(木) 16:25:36bash組込みのtimeじゃなくてtcshのtimeとか/usr/bin/timeとか。
0053デフォルトの名無しさん
2006/11/23(木) 16:27:28libgtop2
0054デフォルトの名無しさん
2006/11/23(木) 18:11:46効率のいいやりかたを教えてください。
例えば、"a"を2に、"b"を6に、"c"を11に、"d"を15に置き換える場合、
"aabdc"は[2,2,6,15,11]になるような処理です。
今は1文字づつcase〜whenで処理しています。
0055デフォルトの名無しさん
2006/11/23(木) 18:29:34h = {?a => 2, ?b => 6, ?c => 11, ?d => 15}
p "aabdc".unpack("C*").map{|c| h[c]}
0056デフォルトの名無しさん
2006/11/23(木) 21:49:28こんなのも。
(hのキーが?aとかの場合)
require 'enumerator'
"aabdc".enum_for(:each_byte).map{|c| h[c]}
(hのキーが"a"とかの場合。Ruby 1.9だと ?a == "a" だっけ?)
"aabdc".split(//).map{|c| h[c]} # //は空の(中に1文字もない)正規表現
# irbから動かしてString.each_charがないと騒いだのは秘密。
# ActiveSupportめ。
0057デフォルトの名無しさん
2006/11/23(木) 21:54:31よろしくおねがいします。
0058デフォルトの名無しさん
2006/11/23(木) 21:59:220059デフォルトの名無しさん
2006/11/23(木) 22:05:29def register_action(sym, &block)
__send__(:define_method, sym) do |*options|
options = options.shift || {}
block.call(options)
end
register_action(:to_folder) do |options| ... end
引数の受け取り方になんか制限つきそうな気が……
0060デフォルトの名無しさん
2006/11/23(木) 22:26:47トン! なるほどん
0061デフォルトの名無しさん
2006/11/23(木) 23:21:30ありがとうございました。
時間も半分以下に短縮できました。
0062デフォルトの名無しさん
2006/11/24(金) 00:32:00まったくの初心者なんですけど(;・∀・)
ターミナルに ruby ファイル名.rb でリターン押しても
ruby: No such file or directory -- ファイル名.rb (LoadError)
ってなります ファイルの保存場所とかにルールとかでもあるのですか?
0063デフォルトの名無しさん
2006/11/24(金) 00:44:18カレントディレクトリは確認した?
pwd
0064デフォルトの名無しさん
2006/11/24(金) 00:50:38カレントディレクトリ!?
すいませんほんとに初心者なんで…絶対パスの事かな
仮にデスクトップにそのファイルがあるならばそれを指定しなければダメと言うことですか?
ターミナル自体始めて動かしたもので
0065デフォルトの名無しさん
2006/11/24(金) 01:10:44ヒントサンクス
おお 自己解決しました Ruby自体の問題ではなくターミナルの問題でした ターミナルちっと勉強するかorz
ファイルの場所をちゃんと指定して大丈夫でした
0066デフォルトの名無しさん
2006/11/24(金) 03:09:210067デフォルトの名無しさん
2006/11/24(金) 11:56:39Rubyに限らず,Macを使いこなすにはターミナルの使い方(bash シェルの使い方)に詳しくなっておくと便利だよ。
かくいう自分は,ターミナル上でRubyを楽しんでるマカーです。
ちょっとした日常の繰り返し作業も,AppleScriptやシェルスクリプトではなくRubyスクリプトを書いて処理してます。
0068デフォルトの名無しさん
2006/11/24(金) 15:07:23#!/usr/bin/ruby -Ku -Ilib
とかくとエラーになる。ただ、
#!/usr/bin/ruby -Ilib -Ku
と、順序を変えると大丈夫。コマンドラインだと順序関係なく動くんだけど…
何か制約があるの?それとも前者だとオプション解釈上問題でも生じてる?
0069デフォルトの名無しさん
2006/11/24(金) 16:42:45ruby: invalid option - (-h will show valid options) ←たぶんこのエラーが出たはず
~$ ruby "-Ilib -Ke"
ruby: Interrupt ←エラーなし、終了のためにここでEOF
~$
スクリプトの第1行目(俗称shebang)では、複数の引数は解釈が保証されない。
たとえばLinuxでは「空白後をひとまとめにした1個の文字列」として渡される。
#!/usr/bin/env ruby -Ke がうまく動作しないのもこれが理由。
ということで、「Rubyでは-Kオプションを最初以外に書いておくとたまたま動く」が正解。
0070デフォルトの名無しさん
2006/11/24(金) 16:48:37Rubyの場合、起動したインタプリタが改めて#!行を自分で解析して
自前である程度は処理してる。
$ cat hoge
#!/bin/sh -x
echo "$@"
$ ruby hoge
とかやると、rubyがshをexecする。
0071デフォルトの名無しさん
2006/11/24(金) 17:15:45---------------------
#!/usr/bin/perl
die "OOPS! IT'S PERL!"
---------------------
~$ ruby ./perl.pl
OOPS! IT'S PERL! at ./perl.pl line 2.
なにこの素敵無駄機能
0072デフォルトの名無しさん
2006/11/24(金) 18:05:41判りやすい解説thx。-KuIlib としてやったらうまくいった。
-IlibKuだとダメみたい。libじゃなくてlibKuディレクトリを探しにいっちゃうんだろうなぁ。
こんなことドキュメントに書いてあったかな…。
くっつける処理が謎だ。普通にくっつけたら、
先の例、前者のほうが「たまたま」動きそうなもんだが…。
それと、-Cと-Iを同時指定とかしたいときはどうするんだろう…?
0073デフォルトの名無しさん
2006/11/24(金) 18:40:46__END__(Perlでもスクリプト終端)を
組み合わせると混ぜコード書けるが
素敵過ぎてオススメできないんだぜ
0074デフォルトの名無しさん
2006/11/24(金) 21:36:07shebangに書かない。
シェルスクリプトから起動するようにする。
#!/bin/sh
ruby <好きなだけオプション> <Rubyスクリプトファイル>
こんな感じ。
あんまりよろしくないけど。
ってか、そんなにオプション付けたくなるようなことってあるか?
俺の場合は、あって-Kくらいだけどなー。
-lも-CもRubyのスクリプト内でできるしな。厳密には意味が違うかもしれんが。
0075デフォルトの名無しさん
2006/11/25(土) 01:19:34はじめてしった
スクリプトの第一行目は、
#!/usr/bin/ruby -Ku -Ilib
と書いても
#!/usr/bin/ruby "-Ku -Ilib"
とひとくくりにされるわけね・・・
引数が一個だと、「一応は」動いているわけだ
0076デフォルトの名無しさん
2006/11/25(土) 10:18:58違う。そこは実装依存。
Linuxはそうなるというだけで、ほかのUNIXだと適切に解釈してくれるものもある。
0077デフォルトの名無しさん
2006/11/25(土) 14:38:06「shebangでは複数の引数を書くべきではない」
ということ。
どうしても複数の引数を与えたい場合は、>>74のように一ひねりすること。
0078デフォルトの名無しさん
2006/11/25(土) 15:04:54そうなん?
これって、どのレベルで決定されるものなんでしょ?
OS?shell?ruby?
0079デフォルトの名無しさん
2006/11/25(土) 16:19:54MAINスクリプトから,SUBスクリプトに値(オブジェクト)を受け渡ししたいのですが,
いろいろサンプルを読んでもウィジェット側からサブルーチンを呼び出す方法しか無く,
その逆の方法の参考がありません。
Ruby/Tkを子プロセス的というか関数的に使うにはどうしたらよいでしょうか?
#!ruby
# MAIN
require 'sub.rb'
include Submodule
val = String.new
result = sub(val)
resultについての処理
...
__END__
#!ruby
# SUB
moduel Submodule
require "tk"
def sub(val)
v = TkVariable.new(val)
TkRadioButton.new { text 'top'; variable v ; value 'top'; anchor 'w'
pack('side' => 'top', 'fill' => 'x')}
TkRadioButton.new { text 'middle'; variable v ; value 'middle' ; anchor 'w'
pack('side' => 'top', 'fill' => 'x')}
TkButton.new { text 'Quit' ; command 'exit' ; pack }
Tk.mainloop
end
__END__
0080デフォルトの名無しさん
2006/11/25(土) 16:29:48shebang の処理は kernel が行ってるはず
0081デフォルトの名無しさん
2006/11/25(土) 17:43:35openメソッドをwモードでファイルを作成して
どうすればよいのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています