Ruby 初心者スレッド Part 30
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/08/08(土) 08:21:23★注意★ Ruby 1.9.1 は初心者には時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。
(理由:現時点では多くの有名ライブラリやアプリが 1.9.1 に未対応であるためです。)
なお 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 で勉強すれば将来スムーズに 1.9 系に移行できるでしょう。
関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。
■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
・モジュール名やエラーメッセージでググる
・マニュアルで引っかかったクラスの記述を探す http://www.ruby-lang.org/ja/man/
・FAQを一応読む http://www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
・詳しい内容(「動きません」「うまくできません」では回答しようがない)
・エラーメッセージ(自力で訳さずなるべくそのままで)
・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。
■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
0586デフォルトの名無しさん
2009/09/03(木) 19:38:520587デフォルトの名無しさん
2009/09/03(木) 19:50:100588デフォルトの名無しさん
2009/09/03(木) 19:55:19mesとかfontとかboxfとかくらい使えるようにしとけwwwwwwww
HSPの
0589デフォルトの名無しさん
2009/09/03(木) 20:01:00お勧め本以外をいきなり買っても自己責任でよろしこ
0590デフォルトの名無しさん
2009/09/03(木) 20:11:400591デフォルトの名無しさん
2009/09/03(木) 20:17:120592デフォルトの名無しさん
2009/09/03(木) 20:18:32知識さえあれば面白い本なんだけどね
0594デフォルトの名無しさん
2009/09/03(木) 23:28:59自分の努力しだいだよ。
基本的なアルゴリズムをすっぽかしてきたみたいだけど
一度自分で手を動かして実装しておくと後の理解が断然楽になる。
バブルソートとか簡単なものだけでもやっとくのがオススメ。
0595デフォルトの名無しさん
2009/09/04(金) 03:44:50コーディングなんてしてたら、全面的に見直して作り直したほうがいい。
0596デフォルトの名無しさん
2009/09/04(金) 04:28:47自力でのソートの実装は並び替えをさせるために書くんじゃねえよ
書けるだけの抽象化知識と基礎的な実装力があることが重要
自作のソートのコードを利用する奴は95%までバカだが、
ソートのコードを書けないのは100%ただのバカ
0597デフォルトの名無しさん
2009/09/04(金) 05:22:19nonezero?ってながいなあ。nz? くらいでよくない?
0598デフォルトの名無しさん
2009/09/04(金) 06:04:230599デフォルトの名無しさん
2009/09/04(金) 09:11:11大抵sort_byで済む
0600デフォルトの名無しさん
2009/09/04(金) 09:51:09本気でそう思うならredmineにfeature request
0601デフォルトの名無しさん
2009/09/04(金) 11:13:11sort{|o1,o2|
if o1.a != o2.a
o1.a <=> o2.a
else
o1.b <=> o2.b
end
}
みたいに使ってるな
0602デフォルトの名無しさん
2009/09/04(金) 11:35:190603デフォルトの名無しさん
2009/09/04(金) 11:38:500604デフォルトの名無しさん
2009/09/04(金) 11:42:040605デフォルトの名無しさん
2009/09/04(金) 11:42:06> 自作のソートのコードを利用する奴は95%までバカだが、
> ソートのコードを書けないのは100%ただのバカ
うむ
説明からソートをコードに起こせない人は時々いて、そういう人は例外なくアレ
ソートをコードにする練習はソートくらいでしかうまく鍛えられないから、
初心者のままでいいと思ってないのなら文句言わず今自分の手を動かしてやるべき
0607デフォルトの名無しさん
2009/09/04(金) 18:37:40> ソートの基準が2段階のとき
でも条件が単純ならば大抵sort_byですむ
ブロック付sortなんてsort_byが出来てから使ったこと無いなぁ
A=Struct.new(:a,:b)
a = [A.new(2,4),A.new(2,1),A.new(1,5),A.new(1,1)]
p a.sort_by{|o| [o.a,o.b] }
文字列中の数字を数としてソートするなんかだとどう書くんだろう?
a = %w(3a 20a 100a b9 b80 b700 a9b100 a10b100)
p a.sort_by{|e| e.scan(/\d+|\D+/).map{|e| e[/\d/] ? ['0',e.to_i] : [e]}}
こんなんでいいのかな?
0608デフォルトの名無しさん
2009/09/04(金) 18:39:120609デフォルトの名無しさん
2009/09/04(金) 19:07:19ユークリッドの互除法を理解しただけで夏が終わった俺よりマシだ
気にすること無いぞ
0610デフォルトの名無しさん
2009/09/04(金) 20:14:34具体的に不便なところ(使えないもの)を教えてもらえないだろうか?
あと、このサイト(http://www.rubylife.jp/ini/)にある、
『オプション指定をプログラム内に記述』というソース内で文字コードを指定する方法が実行できないのだが、
1.9.1では使えないということなのだろう?
誰か頼む。
0611デフォルトの名無しさん
2009/09/04(金) 20:21:330612デフォルトの名無しさん
2009/09/04(金) 21:36:470613デフォルトの名無しさん
2009/09/04(金) 21:38:56> あと、このサイト(http://www.rubylife.jp/ini/)にある、
> 『オプション指定をプログラム内に記述』というソース内で文字コードを指定する方法が実行できないのだが、
> 1.9.1では使えないということなのだろう?
使えるよ。具体的にどう書いてどうなった?
0614デフォルトの名無しさん
2009/09/04(金) 22:07:070615デフォルトの名無しさん
2009/09/04(金) 22:12:13すげ〜。ありがとう。
いい加減CGIも勉強した方がいいのかな。
あとまだ10年くらいは通用する技術なんだろうか。
0616デフォルトの名無しさん
2009/09/04(金) 22:16:09make testしたらエラー出るんだけど。
not ok float 1 -- ./sample/test.rb:1172
not ok float 2 -- ./sample/test.rb:1173
not ok float 3 -- ./sample/test.rb:1174
って感じでエラー。
0617デフォルトの名無しさん
2009/09/04(金) 22:21:21CGIもできないヤツがHTTPでなにかできるとは思えないから
通用云々よりまずできるようにしとけ
0618デフォルトの名無しさん
2009/09/04(金) 23:37:020619デフォルトの名無しさん
2009/09/04(金) 23:58:40$ gem install vim-ruby
>WARNING: Installing to ~/.gem since /usr/lib/ruby/gems/1.8 and /usr/bin aren't both writable.
>WARNIG: You don't have /home/****/.gem/ruby/1.8/bin in your PATH,
> gem executables will not run.
>Successfully installed vim-ruby-2007.05.07
>1 gem installed
$ sudo vim-ruby-install.rb
>Can't find source directory.
上のように出力されてvim-rubyのセットアップができません。
気になるのが、/usr/bin/vim-ruby-install.rbファイルは存在するのに/usr/lib/ruby/gems/1.8/gemsディレクトリにvim-rubyが無いのです。(gemからインストールした他のgemパッケージは全てここにある)
しかしgem listコマンドを叩くと他のgemパッケージとともにvim-rubyが出力される。
何か分かる方がいましたら教えてください。よろしくお願いします。
0620デフォルトの名無しさん
2009/09/05(土) 00:11:12ajax で javascript が開発の中心になっても CGI は細々と生き残るだろう
ただし HTML は javascript の単なる loader になり
CGI はバックエンドとしての RDB - XML translator になり下がる
0621デフォルトの名無しさん
2009/09/05(土) 00:14:18CGIっつーよりwebAPIだよ
0622デフォルトの名無しさん
2009/09/05(土) 00:14:330623デフォルトの名無しさん
2009/09/05(土) 00:27:34わかってないならレスしなくていいよ・・・
0624デフォルトの名無しさん
2009/09/05(土) 01:09:33動作を確認させることはできないのですか?
0625デフォルトの名無しさん
2009/09/05(土) 01:12:260626デフォルトの名無しさん
2009/09/05(土) 04:24:090627デフォルトの名無しさん
2009/09/05(土) 05:26:51眠いから論理的に読んでないが、
gem は sudo したとき(/usr に書き込み権限があるとき)と
一般ユーザーで使用したとき(/usr に書き込み権限がないとき)とで使用するディレクトリが違う
完全自動で /usr/bin にインストールして欲しいなら最初から sudo gem install しろ
gem install すると gem は $HOME/.gem/ruby/1.8 とかに入る
昔は全員が sudo しまくってたんだが、最近は sudo しないインストール方法が市民権を得ている
いまだに Rakefile で sudo ベタ書きしてるライブラリがあるがとっとと死んでくれてよい
0628デフォルトの名無しさん
2009/09/05(土) 06:16:17何が起きたのか書いてあるじゃん
0629デフォルトの名無しさん
2009/09/05(土) 06:17:490630610
2009/09/05(土) 06:37:13そのサイトの該当部分は、正確には『Ruby入門 >日本語と文字コード >オプション指定をプログラム内に記述』だった。
すまん、言葉が足りんかった。
プログラムだが、これ↓を実行すると、
#! ruby -Ku
print("KCODE=", $KCODE);
こう↓なる。
test.rb:2: warning: variable $KCODE is no longer effective
KCODE=
0631デフォルトの名無しさん
2009/09/05(土) 06:55:01っていうかこれの経緯の解説が無いならその本投げ捨てろ
$KCODE が動作するのは 1.8 までで、1.9 からは別な方法で指定する
0632デフォルトの名無しさん
2009/09/05(土) 07:06:23Ruby M17Nの設計と実装
http://jp.rubyist.net/magazine/?0025-Ruby19_m17n
0633デフォルトの名無しさん
2009/09/05(土) 07:18:330634610
2009/09/05(土) 08:48:43答えてくれてありがとう。
632のリンク先は自分が勉強不足なせいで何言ってるか半分も理解できなかったがw
本にはマジックコメントを使うと書いてあったんだが、ネットで調べてみたら別の事が書いてあったんで混乱したんだ。
やっぱり別の本買えばよかった(´;ω;`)
0635デフォルトの名無しさん
2009/09/05(土) 09:29:21これは Ruby1.8 をある程度修めてて
なおかつエンコーディングの日常的知識があることを前提としている一次文書だ
Ruby 1.9.1 で初めてプログラミング言語に触れる人だとか
文字エンコーディングってナンデスカという人だとか
そういう人向けの文書ではない
そういう人向けの解説はこれをもとに出てくる…はずなんだが、ばあさんやまだかいのう
0636デフォルトの名無しさん
2009/09/05(土) 09:29:45Yes you do.
ttp://www.amazon.co.jp/dp/4798111570
ttp://www.amazon.co.jp/dp/4798114723
0637デフォルトの名無しさん
2009/09/05(土) 11:19:17CGIというか、HTMLを使った基本的なWebアプリが作れるようになれば便利
あと10年ぐらいは、HTMLやHTTPが無くなることはないだろう
0638デフォルトの名無しさん
2009/09/05(土) 11:29:25で、まあwebアプリを初心者に勧めるとして何するのが(どんなライブラリ使うのが)いいんだろ。
Railsはでかいは、デプロイ面倒だわ、慣れるとすごくいいいんだけど、初心者がいきなりやるには…。
Sinatra辺りだろうか?
0639デフォルトの名無しさん
2009/09/05(土) 11:46:14交通ルール知らずに車運転するようなもんじゃないだろうか
0640デフォルトの名無しさん
2009/09/05(土) 11:50:33やって無駄になるような技術ではまったくないね
0641デフォルトの名無しさん
2009/09/05(土) 11:50:510642デフォルトの名無しさん
2009/09/05(土) 11:56:56まずはライブラリなしの生CGIでいいんだよ
薄っぺらい仕様だからとっかかりにはちょうどいい
セキュリティはこの際忘れろ、ローカルでやるかbasic認証でもかけて隠しとけ
セキュリティやらフレームワークやらはCGIの基礎がわかってから考えろ
0643デフォルトの名無しさん
2009/09/05(土) 12:11:04>>642で納得していただろうから
0644デフォルトの名無しさん
2009/09/05(土) 12:26:40そりゃそうだ、今の時点で「動作してる」のに、何を付け加える理由があろう
むしろ、安全じゃない文字の基本的テストが標準付属していて、
それを通さないとそもそも動作しないとかそういうフレームワークがあれば
0645デフォルトの名無しさん
2009/09/05(土) 17:31:11スクリプトのデバッグにruby-debugを使ってみているのですが、
b(break)コマンドでブレイクポイントを表示してくれず、現在行がブレイクポイントに追加されてしまいます。
ブレイクポイントを表示するにはどうしたらよいのでしょうか?
下記を見ると、breakでブレイクポイントの表示のはずなのですが・・・???
debug - Rubyリファレンスマニュアル
http://www.ruby-lang.org/ja/man/html/debug.html
ruby-debug 0.10.3
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
Ubuntu 9.04 (coLinux)
0646645
2009/09/05(土) 17:54:55下記サイトが参考になり申した
Ruby On Rails ピチカート街道 - Rails 2.0・その10(ruby-debugコマンドマニュアルv.0.10.0 デバッグの方法が簡単に) -
http://rubist.blog77.fc2.com/blog-entry-114.html
具体的には、b(break)ではなく info breakpointsでブレイクポイントを表示できるみたいです。って面倒くさいくなっとるやん!!
とにかく解決しました。ありがとうごっざいました。
0647610
2009/09/05(土) 18:40:01これは……RoRをやれ、ということか?
いずれRoRをやろうと思ってたからありがたいのだが、これでRubyも勉強できる?
嗚呼、RoRはRuby1.8.7対応か。畜生、4000円パーだ。
0648デフォルトの名無しさん
2009/09/05(土) 19:58:33それは著者がarton氏+初心者にRoRを進めるというギャグ
まずは一冊目をじっくり勉強してみたらいいんじゃないか
それから1.8前提の既存サイトで勉強しても全く問題ないよ
0649デフォルトの名無しさん
2009/09/05(土) 20:14:55http://redmine.ruby-lang.org/issues/show/2036 と同じ話か?
0650デフォルトの名無しさん
2009/09/05(土) 22:24:07あれ一冊読んでおけば今回のようなつまらないことで迷うことはない。
0651デフォルトの名無しさん
2009/09/05(土) 22:32:29公式の愛称はキリン本らしいけど……
他の言語の経験があれば、よい本。
0652デフォルトの名無しさん
2009/09/05(土) 23:03:03サンクス。
こっちでした。GCC4.4.0の最適化はダメってことかな。
http://redmine.ruby-lang.org/issues/show/1735
0653619
2009/09/05(土) 23:10:49ありがとうございます。
アドバイス頂いたとおりsudoコマンドでインストールしてみましたが、 それでも$HOME/.gem/ruby/1.8以下に入ってしまうようです。
sudoではなく、suコマンドでrootになってからgem install vim-rubyとすると、/usr/lib/ruby/gems/1.8/gems以下にvim-rubyディレクトリが作成されました。
一般ユーザーでgem installすると$HOME/.gem以下にパッケージが配置されるだけで、uninstallコマンドも効かず自力でディレクトリ削除するしか無いようですが、これが一般的な方法なのでしょうか?
0654デフォルトの名無しさん
2009/09/06(日) 00:11:20という処理をアトミックに書く方法を教えてください。
openじゃ無理ですか?
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]
0655デフォルトの名無しさん
2009/09/06(日) 00:26:34open('temp.txt',File::EXCL|File::CREAT|File::RDWR)
0656デフォルトの名無しさん
2009/09/06(日) 00:41:20一発1行で書きたいなら>>655がそのまんまだが、これはちとわかりにくい
普通に長々と条件分岐させたほうが得策かもしれない
0657デフォルトの名無しさん
2009/09/06(日) 00:46:310658デフォルトの名無しさん
2009/09/06(日) 00:46:500659デフォルトの名無しさん
2009/09/06(日) 00:51:470660デフォルトの名無しさん
2009/09/06(日) 00:53:04File::EXCL|File::CREAT|File::RDWR
の意味を調べる術がないという
0661デフォルトの名無しさん
2009/09/06(日) 01:05:03ロック処理をきちんと書くべきだと思う
もしくは、ロック処理をやってくれるライブラリを探すか
適当でいい(とりあえず動けばいい)ならflockでOK
0662デフォルトの名無しさん
2009/09/06(日) 01:14:49ただの数字だぞ
0663デフォルトの名無しさん
2009/09/06(日) 01:15:15このスレで扱う「初心者」がRubyなのかプログラミングなのかだなw
0664デフォルトの名無しさん
2009/09/06(日) 01:15:41初心者スレだからって何をとんちんかんなことばかり
0665デフォルトの名無しさん
2009/09/06(日) 06:51:570666デフォルトの名無しさん
2009/09/06(日) 08:04:06目的がわからんのでなんとも言えんが。
0667デフォルトの名無しさん
2009/09/06(日) 08:56:430668デフォルトの名無しさん
2009/09/06(日) 09:05:35ヒント:リファレンスにFile::EXCLの意味が載ってない
0669デフォルトの名無しさん
2009/09/06(日) 09:06:540670デフォルトの名無しさん
2009/09/06(日) 09:07:080671デフォルトの名無しさん
2009/09/06(日) 09:31:43が、その下の層が薄い印象
Rubyはハイレベルユーザーの数が多くない代わり、中級ユーザー層が厚い感じ
Python自体は凄いんだが、高次に使いこなすための敷居があまりに高すぎる
0672デフォルトの名無しさん
2009/09/06(日) 10:34:500673デフォルトの名無しさん
2009/09/06(日) 10:37:580674デフォルトの名無しさん
2009/09/06(日) 10:47:240675デフォルトの名無しさん
2009/09/06(日) 10:59:160676デフォルトの名無しさん
2009/09/06(日) 10:59:49ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
gem install hpricotで、hpricotをインストールしようとしているのですが、
ビルドエラーが出てインストール出来ません。
どのようにしたらインストールできるでしょうか。
よろしくお願いします。
Building native extensions. This could take a while...
ERROR: Error installing hpricot:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for main() in -lc... yes
creating Makefile
make
gcc -I. -I. -I/usr/local/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c hpricot_css.c
hpricot_css.c: In function ‘hpricot_css’:
hpricot_css.c:3399: warning: comparison between pointer and integer
gcc -I. -I. -I/usr/local/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -c hpricot_scan.c
cc1: out of memory allocating 481668 bytes after a total of 13987840 bytes
make: *** [hpricot_scan.o] Error 1
Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/hpricot-0.8.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/hpricot-0.8.1/ext/hpricot_scan/gem_make.out
0677デフォルトの名無しさん
2009/09/06(日) 11:09:41Perlのドキュメントのなさほどひどくはない
0678デフォルトの名無しさん
2009/09/06(日) 11:14:59なにいってんだか
0679デフォルトの名無しさん
2009/09/06(日) 11:17:33ウェブ
検索ツールを閉じる検索ツールを表示
excl ruby に一致する日本語のページ 約 1,180,000 件中 1 - 50 件目 (0.44 秒)
もしかして: excel ruby
検索結果
1.
Rubyist Magazine - Win32OLE 活用法 【第 2 回】 Excel
2.
Rubyist Magazine - RegionalRubyKaigi レポート (01) 東京 Ruby 会議 01
3.
Take it easy!: Ruby とエクセル
4.
はてなブックマーク - { B!} - excel - Ruby on Rails
5.
はてなブックマーク - kedmブクマ - excel - ruby
6.
RubyでExcel - Ruby/Rails・Web系プログラム情報まとめ
0680デフォルトの名無しさん
2009/09/06(日) 11:24:080681デフォルトの名無しさん
2009/09/06(日) 11:31:14excl ruby -excel
0682デフォルトの名無しさん
2009/09/06(日) 11:41:38See man open(2) for more information.
0683デフォルトの名無しさん
2009/09/06(日) 11:44:080684デフォルトの名無しさん
2009/09/06(日) 11:47:550685デフォルトの名無しさん
2009/09/06(日) 11:49:28ttp://d.hatena.ne.jp/wasisan/20090905
■ このスレッドは過去ログ倉庫に格納されています