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
0655デフォルトの名無しさん
2006/12/26(火) 23:49:03if文の中、代入式になっておらんかね? しかも両方。
あと、while bline = file2.gets へ入る前に
file2.pos = 0 を加えたほうが無難そうだな。
0656デフォルトの名無しさん
2006/12/26(火) 23:53:57方法1. catchを使う
catch(:break) {
while filea=.....
while fileb=...
throw if なんか抜けたい条件
end
end
}
http://www.ruby-lang.org/ja/man/?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%B4%D8%BF%F4
のcatchの項を参照。
方法2.こうする
while filea=fa.gets && fileb=f.gets
#なんかやる
end
0657648
2006/12/26(火) 23:54:50posと== にして試してみたところ、今度はチェックの○が全てつかなくなってしまいました。
if afirst == bfirst && asecond == bsecond
これではおかしいのでしょうか??
0658デフォルトの名無しさん
2006/12/26(火) 23:55:44throw if なんか抜けたい条件 (×)
throw :break if なんか抜けたい条件 (○)
0659デフォルトの名無しさん
2006/12/27(水) 00:23:28GCのライブラリは見つかりませんでした。
ImageMagickはRMagickというのが見つかりました。
とりあえず、RMagickを使うつもりですが、
他にどういう選択肢がありますか?
また、どういう方法が一般的な方法といえますか?
0660デフォルトの名無しさん
2006/12/27(水) 00:42:22それ以外だとたぶんRMagick、次点でRuby-GNOME2のGdk::Pixbufか。
拡張ライブラリは入れたくないけどImageMagickやnetpbmが入っている
のなら、コマンドを駆使して画像のサイズ変更は可能。
0661659
2006/12/27(水) 05:43:42>>660
次点でGDKですか・・・
このあたりのニーズはないんでしょうかね。
それとも、RMagickで事足りてるのか。
だとしたら、なんで標準ライブラリに含まれないのかなぁ。
RMagickインストールすんのめんどいので、コマンド駆使でがんばることにします。
ありがとうございました。
0662デフォルトの名無しさん
2006/12/27(水) 09:34:290663デフォルトの名無しさん
2006/12/27(水) 09:34:57思うけど、今のところしかたねーなー。
Pure Rubyの画像処理ライブラリ↓
http://cappuccino.jp/keisuken/ruby/pureimage/
対応ファイルフォーマットがPNGのみだが、
Affine変換があるから拡大縮小に使えるかも。
0664デフォルトの名無しさん
2006/12/27(水) 13:38:350665デフォルトの名無しさん
2006/12/27(水) 13:41:34Pythonにはあったよね、たしか。あれ、SGI依存だったかな???
0666デフォルトの名無しさん
2006/12/27(水) 13:44:54誰にとっても鬼門というわけではなかろう。
ライブラリをインストールできる権限があれば別に。
0667デフォルトの名無しさん
2006/12/27(水) 13:47:47あるようだが、圧縮/伸張のみだから、画像処理とは言い難いか。
0668デフォルトの名無しさん
2006/12/27(水) 14:16:03ttp://www.pythonware.com/products/pil/
0669デフォルトの名無しさん
2006/12/27(水) 14:33:190670デフォルトの名無しさん
2006/12/27(水) 14:52:590671デフォルトの名無しさん
2006/12/27(水) 15:07:440672デフォルトの名無しさん
2006/12/27(水) 15:24:230673デフォルトの名無しさん
2006/12/27(水) 15:25:09いつまで経ってもおさまらないじゃん。もっとマシなのが欲しい。
0674デフォルトの名無しさん
2006/12/27(水) 20:05:53どうせ大半の人はサムネールの作成ぐらいしか使わないから。
0675デフォルトの名無しさん
2006/12/27(水) 23:14:46だから404なんだぜ?
0676デフォルトの名無しさん
2006/12/28(木) 00:13:530677デフォルトの名無しさん
2006/12/28(木) 01:10:07そこまでしてRuby-GDにこだわる理由はと言われると別にないのだが
0678デフォルトの名無しさん
2006/12/28(木) 09:38:49これって正しいことですか?
毎回同じ結果になることを期待していたのですが…
Fedora Core 4/ruby-1.8.5-p12です。
thread_ary = []
n = 0
10000.times do |i|
thread_ary << Thread.new(i) { |i2| n += i2 }
end
thread_ary.each do |th|
th.join
end
p n
0679デフォルトの名無しさん
2006/12/28(木) 09:56:06n += i2 の部分を排他ロックしてないからだろ
0680デフォルトの名無しさん
2006/12/28(木) 10:17:37Mutexで排他ロックすると、うまくいきました。
Rubyの1行の文はアトミックだと勘違いしていました。
0681デフォルトの名無しさん
2006/12/28(木) 12:47:22すげえ勘違いのしかた。一体何をどう考えたら1行の文が...
0682デフォルトの名無しさん
2006/12/28(木) 16:44:57調べてみると、同じような話が出ていました。
ttp://www.atdot.net/~ko1/w3ml/w3ml.cgi/yarv-dev/msg/651
0683デフォルトの名無しさん
2006/12/28(木) 18:45:23もしアトミックだと勝手に想定して、あえてロックしなかったのなら性格に問題ありそう。
0684デフォルトの名無しさん
2006/12/28(木) 19:05:46Rubyコミュニティーの気持ち悪さを表現した、素晴らしいレスですね
0685デフォルトの名無しさん
2006/12/28(木) 19:32:48body部にてsrcで呼ばれたjavascriptを実行することは可能でしょうか?
もしあればご教授のほど宜しくお願いします。
0686デフォルトの名無しさん
2006/12/28(木) 19:50:55誰がJavascriptを解釈するの?
0687デフォルトの名無しさん
2006/12/28(木) 20:16:04JavaScriptは普通ブラウザが解釈し実行する
クライアントサイドのスクリプト。
だから単純にscriptタグを出力すればOK。
…JScriptインタプリタを使って
CGIとして実行するなら話は全く別だが。
0688デフォルトの名無しさん
2006/12/28(木) 20:37:160689デフォルトの名無しさん
2006/12/28(木) 20:43:550690デフォルトの名無しさん
2006/12/28(木) 22:38:430691デフォルトの名無しさん
2006/12/28(木) 23:54:11Segmentation fault
となりました。
これってどういう意味ですか。
0692デフォルトの名無しさん
2006/12/29(金) 00:13:13Segmentationに関するfaultだよ。字の通り見たまんま。
解消する方法は当の「プログラム」と実行環境が分からんと誰も答えようがないと思われ
0693デフォルトの名無しさん
2006/12/29(金) 00:20:10Rubyのバグをたまたまそのプログラムが突いてしまったということ
あるいは外部ライブラリとつなげたものならそれが悪さしてる可能性もある
前者なら報告した方がいい希ガス
0694デフォルトの名無しさん
2006/12/29(金) 00:22:17レス、ありがとうございます。
windows2000の上で動かしている
VineLinuxの中でOpenGLと
一緒に使っています。
0695デフォルトの名無しさん
2006/12/29(金) 05:04:53ちょっとプログラム変更すれば
動くようになるんじゃない?
0696デフォルトの名無しさん
2006/12/29(金) 05:22:480697デフォルトの名無しさん
2006/12/29(金) 15:32:30>ruby -ve "puts '%02X' % 10"
ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]
-e:1: warning: too many arguments for format string
X #=> 本当は 0A と表示されて欲しい
% + 数字 がまずいみたいだね。
0698デフォルトの名無しさん
2006/12/29(金) 15:35:53% ruby -ve "puts '%02X' % 10"
ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-darwin]
0A
0699デフォルトの名無しさん
2006/12/29(金) 17:19:20WindowsXP+CMD.EXE+ASR1.8.5.5
だと
0A
ですよ。
VMWare上なんでコピペできんが。
環境はどういう感じ?
0700697
2006/12/29(金) 20:07:30ごめん。Rubyは悪くなかった。
cmd.exeで実行したら正しい結果が得られた。
nyacus上で実行してたんだけど、nyacusが%xxを展開してたみたいだ。
0701687
2006/12/30(土) 04:35:57ん、俺何か勘違いしてる?
真面目に何を間違えたのか判らん
0702デフォルトの名無しさん
2006/12/30(土) 11:40:570703デフォルトの名無しさん
2007/01/02(火) 02:05:470704デフォルトの名無しさん
2007/01/02(火) 02:55:330705デフォルトの名無しさん
2007/01/02(火) 06:29:320706デフォルトの名無しさん
2007/01/02(火) 06:35:270707デフォルトの名無しさん
2007/01/02(火) 08:37:25昔のままシンプルだったらよかったのにね。
0708デフォルトの名無しさん
2007/01/02(火) 08:55:06使わざるを得ない現状が何ともね。
0709デフォルトの名無しさん
2007/01/02(火) 10:11:00ラリーのいう「無精」が悪い方に出たクズとしか言い様がないな。
0710デフォルトの名無しさん
2007/01/02(火) 10:28:34C/C++修得者にとっては、PHPの方が受け入れやすいよなやっぱり。
0711デフォルトの名無しさん
2007/01/02(火) 10:57:07C文法しか使えない(というか、こだわってる)奴のたわごとにしか聞こえないよ
0712デフォルトの名無しさん
2007/01/02(火) 10:59:250713デフォルトの名無しさん
2007/01/02(火) 11:16:16「仮説が一つしか浮かばない自分の思考はどこかで猪突猛進してる」と思ったほうがいいかな
0714デフォルトの名無しさん
2007/01/02(火) 12:05:10でも実際は言語なんかどうでもよくて
研鑽しないプログラマの存在のほうが
現実には悪な場合が多い。
0717デフォルトの名無しさん
2007/01/02(火) 14:44:41711様がC文法しか使えない奴のたわごとにしか聞こえないって言ってるんだから
お前はC文法しか使えない奴なんだよ。ごまかすなクズ。
0718デフォルトの名無しさん
2007/01/02(火) 14:46:02そこからちょっとでも踏み込んで調べてみたら、
そんな印象なんか吹き飛ぶだろうに。
0719デフォルトの名無しさん
2007/01/02(火) 16:04:020720デフォルトの名無しさん
2007/01/02(火) 16:07:120721デフォルトの名無しさん
2007/01/02(火) 18:32:49while(($c = fgetc($fp)) != EOF){
hogehoge;
}
って書いたら無限ループw
0722デフォルトの名無しさん
2007/01/02(火) 18:36:06if(fugafuga){
}
って書いて唖然とするときがある
0723デフォルトの名無しさん
2007/01/02(火) 18:55:19if
hogehoge
else
fugafuga
endif
これやってしまう
0724デフォルトの名無しさん
2007/01/02(火) 19:16:01断然Cに近いんだがなぁ
0725デフォルトの名無しさん
2007/01/02(火) 19:38:17行末に;が付いたり付かなかったり
ソースを一回書いて終わりならいいんだけど
後からのメンテに面倒臭さを感じる
コンパイラに人間があわせてる感じがする
0726デフォルトの名無しさん
2007/01/02(火) 19:40:570727デフォルトの名無しさん
2007/01/02(火) 19:43:11if 〜 begin
end else begin
end
って書くようになったりするw
0728デフォルトの名無しさん
2007/01/02(火) 20:10:130729デフォルトの名無しさん
2007/01/02(火) 20:36:36「1パスでコンパイル」というのを守るための
forwardかも。
0730デフォルトの名無しさん
2007/01/02(火) 20:41:370731デフォルトの名無しさん
2007/01/02(火) 20:47:13全然否定していない。ただPascalの影響を言うやつのほとんどが
底の浅い理解をしているということなんだ。君みたいにな。
Pascalの影響はある。だが君が思っているところにではない。
720以降の議論の意味わからないだろ、君には。
0732デフォルトの名無しさん
2007/01/02(火) 21:01:08どこにPascalの影響があるの?
おれPascalやってたけど、Rubyにその影響をみたことないなあ
0733デフォルトの名無しさん
2007/01/02(火) 21:04:230734デフォルトの名無しさん
2007/01/02(火) 21:27:510735デフォルトの名無しさん
2007/01/02(火) 21:53:53>>730 じゃね?
0736デフォルトの名無しさん
2007/01/02(火) 22:05:16マジスカ
0737デフォルトの名無しさん
2007/01/02(火) 22:29:190738デフォルトの名無しさん
2007/01/02(火) 22:30:48http://jp.rubyist.net/magazine/?0009-Legwork
0739デフォルトの名無しさん
2007/01/02(火) 22:56:180740デフォルトの名無しさん
2007/01/03(水) 01:18:22Pascal の ; は俺にとってはCより解りやすい
C言語の if の
if(式) 文; else 文;
なんてかなり違和感だもん
何で一つの文にセミコロン2つあるんだよって感じ
0741デフォルトの名無しさん
2007/01/03(水) 01:34:07文が二つ入っとりますが……
0742デフォルトの名無しさん
2007/01/03(水) 02:37:040743デフォルトの名無しさん
2007/01/03(水) 02:59:460744デフォルトの名無しさん
2007/01/03(水) 04:24:43if(式) 文 else 文 end;
までで一文だっていう意味かと。
ただ、結局 >>727 みたいなことになりがちなので
C で改善されてると言えると思うんだけどなぁ。
0745デフォルトの名無しさん
2007/01/03(水) 09:24:12if 式 then 文;
if 式 then 文 else 文;
のどちらかで一文だね
elseの前にセミコロン入れると前者として扱われ
「else単独の構文はない」ため文法エラー
ブロックは begin 文; 文;... end
セミコロンは文末
ピリオドはコードの末尾
これに慣れると実際C言語のelseは気持ち悪いな
いい加減慣れたが。そもそもスレ違いだが。
0746デフォルトの名無しさん
2007/01/03(水) 14:10:39> セミコロンは文末
Pascalではセパレータだから文の間。
だからこそ
> ブロックは begin 文; 文;... end
endの前には入らないわけだ。
0747デフォルトの名無しさん
2007/01/03(水) 19:56:28Pascalのコード色々見てると
if ... begin
(単|複)文;
end else begin
(単|複)文;
end;
っていう書き方結構多いような気がする。
みんなコード書いてるうちに
;を付けたり付けなかったりするのが面倒になるんだと思う。
0748デフォルトの名無しさん
2007/01/03(水) 20:20:46それはC言語でも同じでは
Perlでいう、Tie::File 相当のモジュールってRubyにありますでしょうか?
単に配列に変換する程度の機能でしたら、自分でちょろっと
書いた方が早いですが、flockやbufferingまでやってくれるものが
欲しいのです。
まぁSQLite使えという声もあるのですが…(汗
0750デフォルトの名無しさん
2007/01/04(木) 04:55:50Tie::Fileというのがどんなものかを説明したほうがいいと思う。
0751デフォルトの名無しさん
2007/01/04(木) 06:53:030752デフォルトの名無しさん
2007/01/04(木) 10:32:24http://www.ruby-lang.org/ja/man/?cmd=view;name=PStore
0753デフォルトの名無しさん
2007/01/04(木) 18:26:110754デフォルトの名無しさん
2007/01/05(金) 01:49:27本スレでやれ
■ このスレッドは過去ログ倉庫に格納されています