1 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:07:21 ] プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。 【Ruby1.9 は不安定な開発版であり初心者には全く向きません】 【最新安定版の Ruby1.8.7 の使用をお勧めします】 ※1.8.7 は1.8 と 1.9 の橋渡しをするためのリリースです。 1.9 の新機能の一部が利用可能なので初学者にお勧めです。 ※ただし十分安定しているとは言えないので プロダクション環境での利用にはお勧めしません。 関連スレやURLは>>2-8 あたりを見てください。Ruby on Railsの質問はRailsスレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
32 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:54:52 ] ていうか、Rubyのライブラリのシステムは他人が継承して使うようにできてない (あるいは、バグっても泣かないというポリシーのもとで開放されてる) 継承は自作のクラスを自作のクラスで継承するとかそういうときに使うもんだ
33 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:59:49 ] Rubyで継承を使うのは本当に難しいし、 そのうち仕様が変更される可能性の高い分野でもあるので それも怖い
34 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 13:24:53 ] そんなに難しくはないし怖くもないよ >>32 の最後の行が全然徹底されてないってだけだ Rubyスクリプトとしてのソースが見えないArrayを継承してデカいクラス作るとかマゾにも程がある
35 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 13:29:13 ] GUIなんか継承が普通ですよ
36 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 15:56:10 ] Rubyに複数の脆弱性 ttp://www.ruby-lang.org/ja/news/2008/08/08/multiple-vulnerabilities-in-ruby/ > セーフレベルの脆弱性 > WEBrickのDoS脆弱性 > dlの汚染チェックの欠如 > resolv.rbのDNSスプーフィング脆弱性 脆弱性のあるバージョン ・全部 対処法 1.8系列、1.9系列ともにこれを反映した完全な最新版 (1.8.6-p286、1.8.7-p71、1.9のr18424)に変える 今のところ、バイナリ配布を頑張ってる人の反応は特にない
37 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:12:31 ] ま た セ ー フ レ ベ ル 4 か
38 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:54:41 ] >>15 WWW::Mechanizeの使い方が間違っていると思うんだけど
39 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 17:00:16 ] >>22 aliasしても使ってなさそうに見えるし、_getって内部メソッドか? あらかじめloginするってだけならこれだけでよくね? def get(*) login if cookie_jar.empty?(LOGIN_URI) super end
40 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 17:03:27 ] AもBも間違ってるというならCを提示すべき てか、Aは確かにライブラリを完全把握したマッチョ向け綱渡りだが、Bってわりと普通じゃね? 時々忘れられてるがここはこれでも一応初心者スレなんで 「自爆して自覚するまで継承の便利さを味わっとけ」 というアドバイスもアリかなと思う 他人から教科書的に言われてもピンと来ないし伸びる余地も無い気がする
41 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 17:08:11 ] >>39 Mechanize には _get は無いね alias _get get だったのを書き損じたとかそんなとこじゃ
42 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 17:11:23 ] Mechanizeはagentが大域変数ばりに出張ってるとこがあんまり好きじゃない
43 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:51:46 ] delegatorやforwarderの出る幕ではないのか?
44 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:36:15 ] mechanizeで商売してるやつ多過ぎw
45 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:37:49 ] 使い道を思いつかない思考の貧困さを恥じるべきだな
46 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:39:49 ] Struct厨に告ぐ 使いこなせると便利っぽい気もするのでハッシュと配列しか使ってない俺を感動させてくださいお願いします
47 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 00:46:51 ] >>46 便利さだけで言えば、Rubyではハッシュと配列(と俺クラスのインスタンス変数)の組み合わせのほうがおおむねわかりやすくて便利です 無理してまで自分から使えなくてもいいんじゃないかなと思う データ構造がどうなってるかスクリプトを読めればOK
48 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 01:37:25 ] Hashに、キーが有限で順序が欲しいなぁと思ったときとか。 あとずらずらattr_accessorが並ぶだけの殆ど構造体みたいなクラスとかは、 1から書かずにStruct使うとか。コードを書かなければ書かないほどバグは減る。
49 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 04:47:43 ] 1.キー名に制約が必要なとき(変なキーを受け付けない) 2.アクセサメソッドだけじゃなくて、添え字(キー、インデクス)でのアクセスがあると便利なとき だいたいこの2つの条件がそろうとStruct使う。 今までに使ったのは2回くらいだが。
50 名前:デフォルトの名無しさん [2008/08/09(土) 07:03:40 ] 【Ruby/SDL他】Rubyでゲーム制作・総合スレッド pc11.2ch.net/test/read.cgi/gamedev/1207069887/125-135 Rubyスクリプトを暗号化できないか?という流れがあったのです。 RPGツクールXPではスクリプト個別ファイルを暗号化、 RPGツクールVXではアーカイブにまとめているようなのですが、 これを実現する方法はありませんでしょうか? requireをフックして書き換えるみたいなことってできるんでしょうか?
51 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 08:26:34 ] 暗号化ってなーに? エディタで開くと文字化けしてるという意味?
52 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 08:44:19 ] RGSS固有の話題は元のRubyがほとんど関係ないからツクールスレでやってくれると助かるんだが RGSSがわからない人にはRGSSスクリプトそのままで問題ないし RGSSがわかる人にとってはeval系列使って同じ動作させれば何書いてあるかわかるわけだし どのへんの人を対象にしてるのか謎だ
53 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 09:20:34 ] ちゃんと嫁
54 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 09:52:43 ] ん? ツクールと同じことすればいいだけだろ 独自バイナリを読み込めるようなrubyを作って同梱して配布すればいい
55 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 10:53:12 ] Rubyってスクリプトの難読化は苦手なんだよね そういう意味ではゲーム製作にはあまり向かないわ
56 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 11:13:13 ] 夜中に作った作成途中のスクリプトの構造が朝起きたらさっぱりわからん # HERE: ここからつくる とか再開用定型句が書いてあるのはいいんだが、場所だけじゃなく何をすればいいのかも書いてほしかった昨日の俺 とりあえずなんでもかんでもget_xxxってメソッドにするのやめようぜわけわからんわ
57 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 11:23:15 ] 先にテスト書けとまでは言わないが、コンセプトのメモとか作ってないの?
58 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 11:44:21 ] また継承云々の話なんだけどさ 個々の画像に関するデータを溜め込んだデータ群を作ろうと思うんだ ハッシュで用が足りることがわかってるんだ class Gallery < Hash def xxxx # selfをいじるメソッド色々 end end と class Gallery def initialize @data = Hash.new end attr_accessor :data def xxxx # @dataをいじるメソッド色々 end end って、後者のほうがいいのかなあ いちいち gallery.data でハッシュにアクセスしないといけないのがちょっとヤなんだけど
59 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 11:58:29 ] コレクションが必要な場合に必要なのは、コレクションのクラスではなくコレクションを持つクラスだというのをどこかで見た気がするんだがどこだったかな 確かにdataというような凡庸で他クラスと被りがちなアクセサ名しか思いつかなくてブルーになることはあるが、後者の癖をつけておいたほうがいい あと委譲の人気の無さは異常
60 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 12:25:55 ] 後者でも、委譲用のライブラリを使えばだいぶ楽に書けたような
61 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 12:36:13 ] Gallery is a Hashと言えるかどうか。 Hashをつかう任意の場所にGalleryを使えるか。
62 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 13:49:14 ] 委譲の解説は「なぜ委譲が好ましいのか(他の方法ではよろしくないのか)」という説明がすっぽり抜けてるものばかりだ あれではどう頑張っても広まらんよ
63 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 14:18:12 ] Rubyだけをやってると委譲はなかなかピンとこない アクセサメソッドの中で他オブジェクトを動的にnewすれば用が足りたりするからな 他の言語やるといいぞ
64 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 14:57:34 ] るびま jp.rubyist.net/magazine/?0012-BundledLibraries の例を使うが、確かに require 'forwardable' class MyQueue1 extend Forwardable def initialize; @q = Array.new; end def_delegator :@q, :push, :enq def_delegator :@q, :shift, :deq def_delegators :@q, :push, :shift, :size end class MyQueue2 def initialize; @q = Array.new; end def push(*e); @q.push(*e); end def shift(*e); @q.shift(*e); end def size(*e); @q.size(*e); end alias :enq :push; alias :deq :shift end class MyQueue3 < Array alias enq push alias deq shift end [MyQueue1.new, MyQueue2.new, MyQueue3.new].each do |q| q.enq 1, 2, 3, 4, 5 q.push 6 p q.size end の3つは、どれも6を表示はするな
65 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 15:09:38 ] MyQueue3 を見て「Arrayのメソッドが全部使えるなんていざというとき便利そうだ」とか思った俺 まあ、1と2で attr_accessor :q してくれてればメリットもなくなるか でもまさか、@q を公開なんてしないよな?
66 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 15:49:24 ] そもそも#shuffle!とかを許すキューってどうなのよw Arrayを継承となると、Arrayが公開する100近くのメソッドについて 責任を持たないといけなくなる。お手上げだ
67 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:05:35 ] 責任も何も「自由に使ってください。」じゃダメなん?
68 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:20:32 ] >>67 確かにごく最初は「マニュアルに書いとけばいいんじゃね?」「たくさん定義されてても使わなければ無問題だろ」だった でもそれじゃ駄目だということがわかってきたので責任(Responsibility)という概念が生まれたわけで 無理して今から字面を理解しなくても、そういえばなんか煩いこと言われてたな程度に覚えておけばいい オブジェクト指向プログラミングをやっていれば、ほぼ確実にこれ関連で火傷をする日が来るから 自分の作ったものが火傷したり破綻したりして初めて理解できたといえるシロモノなんで、まああまり考え込まないことだ
69 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 16:48:05 ] require 'delegate' foo = SimpleDelegator.new([]) foo.push(1) foo.push(2) puts foo.size #=> 2 これって foo = [] のほうが便利じゃね?
70 名前:デフォルトの名無しさん [2008/08/09(土) 17:43:57 ] >>52 RGSSでやっていることを一般のゲームでもやりたいという話です。 >>54 いや、まあそういうことなんですが、 元のRubyソースに手を加えて requireやってるところを置き換えるっつーことでよろしい?
71 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:38:49 ] 答えてないぞ どこまで隠したいのかはっきりしれ Ruby知ってる人間がirbに読み込んで数行書いたら読めてしまうものでもいいのかどうか
72 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:16:45 ] String#% って、Hashをとれないんだっけ? "name: %(name)s, age: %(age)d" % {:name=>'Hoge', :age=>20} みたいな感じでやりたいんだけど。
73 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:19:47 ] >>72 ruby-gettext-packageでそんな感じの拡張をしている。 www.yotabanana.com/hiki/ruby-gettext-api.html?ruby-gettext-api#class+String
74 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:23:09 ] あ、単なる埋め込みなので、to_sでは間に合わない凝った文字列化が必要なら、 ハッシュの値のほうを '%03d% % age みたく別途フォーマットする必要がある。
75 名前:デフォルトの名無しさん [2008/08/09(土) 19:33:17 ] >>71 できれば、ちょっとしたそのようなクイックハックは避けたいのですが、 その程度ならどのような方法があるものでしょうか?
76 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 20:05:26 ] BASE64でエンコードするとかすればいいんじゃね irb> eval "Y2xhc3MgSG9nZTsgZGVmIHN0cjsnSGVsbG8sV29ybGQhJztlbmQ7ZW5kO3B1\ndHMgSG9nZS5uZXcuc3Ry\n".unpack('m')[0] Hello,World!
77 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 20:38:02 ] ちょっとしたスクリプト作るのにも何日もかかる自分が若干イヤになるな
78 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 20:43:18 ] >>77 作業環境が悪いんだよ! エディタとか!
79 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 20:52:37 ] >>78 なるほど!周りのせいじゃ仕方ないな! まあ趣味個人とはいえさすがにいまどき putty + Emacs + ruby-mode + RCS だけなのはねーよとは思うんだが もうちょっと便利で安楽な感じにスクリプト書きたいです
80 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:05:52 ] emacs + ruby-mode以外いいのあるんかい?? RadRails(eclipseのやつ)とかいろいろためしてみたが、軽さがたりねー
81 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:20:30 ] + QX9650 すれば快適になるよ
82 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:44:40 ] NetBeansのRubyパッケージは結構いいかなと思ったり JRuby、Rake、Gems、RSpec、ruby-debugとか、標準で一揃い統合されてる
83 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:38:18 ] ねっこはあれでもまだ重くてなあ まだ重いっていうかこれ以上軽くなる理由もないんだが(w ところで、なんで重いの?
84 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:47:51 ] てかWindowsのRubyはあまり使いたくないんだが…
85 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:55:47 ] そんなん、ごっついエディタとしてだけ使えばいいじゃん
86 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:23:28 ] Linuxでも使えるけど
87 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:25:00 ] Emacs使ってる人にIDE勧めても色々な意味で無駄
88 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:27:46 ] Emacs/gvimユーザーの半分くらいの人はRubyのあるマシンにターミナル経由でログインして使ってるんじゃないかね >>79 にPuTTYがあるのが象徴的というか
89 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:39:18 ] ruby-electric.el がもうちょっとなあ
90 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:42:38 ] Javaするときくらいだな。IDE。それでも外部エディタはemacs IDEつかってるのは、仕事先と同じ環境でつかいたいってだけの理由だが。
91 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:46:05 ] あと作業領域の広さかなー。 Emacsつかってる椰子は、メニューなんか全部みせてないだろうし。 トーパルズはviを5ターミナルくらいで開いてかいてるだっけか。
92 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:54:44 ] 仕事場でもLinux使うがね C#とかじゃないなら足る
93 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:59:36 ] >>91 下3行(Emacsバッファ説明・Emacsミニバッファ・GNU screenのバー)以外は全部エディタ領域だからな IDE使ってみて「ぷろじぇくと」とかいうのが画面の左半分を占拠したときはビビった みんな画面広いんだな
94 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 00:43:23 ] >>89 rcodetoolsを全開で使うんだ なんか補完する度にHDDが動いてる気がするが気のせい
95 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 03:18:08 ] ねとびんかわいいよねとびん
96 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 04:00:07 ] emacs-lispのrubyラッパーかいて、Rubyでも設定できるように してくれたらーーー、学生の時みたいに時間あればなー スーパーHaXする椰子がでてきたら はじまるのに。。。
97 名前:デフォルトの名無しさん [2008/08/10(日) 06:34:45 ] >>80 NetBeans使っているけどなかなかいいよ。 RubyGemsは1.2まだ非対応で固まるけどw >>93 うちはフォント小さくして、狭い画面で書いてますw
98 名前:デフォルトの名無しさん [2008/08/10(日) 06:37:32 ] >>96 - Summary Ruby製のテキストエディタ - Features o scripting in any language o macro recording and playback o multi-element clipboard o multi-level undo o parsed ("smart") indentation o customizable multilingual syntax highlighting, with support for embedded languages (e.g. PHP, eRuby, Javascript) o bookmarking, named and unnamed o regular expression searching o a customizable status line o limited ctags support o hooks - Reference purepistos.net - Diakonos purepistos.net/diakonos/ - via MOONGIFT - Diakonos oss.moongift.jp/intro/i-2310.html MOONGIFT - Diakonos レビュー oss.moongift.jp/review/i-2319.html
99 名前:デフォルトの名無しさん [2008/08/10(日) 06:39:08 ] MOONGIFTリンク修正 MOONGIFT: ≫ Diakonos:オープンソースを毎日紹介 www.moongift.jp/2006/08/2310/ MOONGIFT: ≫ Diakonos レビュー:オープンソースを毎日紹介 www.moongift.jp/2006/08/2319/
100 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 07:06:55 ] >>96 el4r
101 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 10:30:41 ] emacsユーザーならわかるとおもうが、もどきじゃだめなんだよ。もどきじゃ。
102 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:15:31 ] emacsユーザーってemacsしか使えなさそうで不幸だと思う
103 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:57:07 ] >>102 それには適当なIDEやエディタの名前を入れても成立するということが歴史的に知られている
104 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 14:12:42 ] OS入れても成立する
105 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 14:57:13 ] >>94 > rcodetools ほう 検索するたびに2秒くらい止まるんだが日本語解説サイトとかないんかね
106 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 15:09:03 ] ホント俺ってLinux以外使えないんだよね
107 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 15:14:28 ] 機能だけでなくバックグランドに流れている”歴史”も引きずってるからなぁ xemacsに一時期ながれていたが、歴史の差でemacs使うようになったな。おれは
108 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 15:17:41 ] Windowsを「使えている」人なんてごくひと握りだ レジストリやcompmgmt.msc、NETコマンドやActiveDirectoryをいったいどれだけの人が理解してるやら 気にするな
109 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 17:50:55 ] Windowsは、まっとうな人なら、使いこなすことに抵抗あるんだよ。
110 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 19:12:45 ] お前らの好きなMacやLinuxが罵倒されたら嫌だろ。 ならWindowsへの皮肉は、ポケットにしまいこんでおくんだ
111 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 19:56:16 ] でも、Windows に愛着を感じてる人って少なくない? 相対数どころか絶対数でもMacに負けてる気がする。
112 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 20:53:54 ] ていうか>>110 は何もわかってないんだよ
113 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 21:01:04 ] そんな感じはするが、まあ空気みたいなもんだからね あって当然。普通に使う分には縁の下は意識しない MSの最大公約数的な設計もあって、特に面白みというか個性があるわけでもないと
114 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 00:41:42 ] attrの単純なアクセサが15個くらいどさっとある特定目的用クラスがあるんだが なんか微妙に多くて微妙に筋がよくないような気がしてならない うまく減らす方法はあるだろうか
115 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 01:51:12 ] >>114 設計がおかしい可能性はないか? 単純なアクセサだらけのクラス自体、責務を切り分けられていないように思える。
116 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 05:00:45 ] 事務職(時給800円)なんで、俺は、会計処理の計算ぱぱっとためしたいとき、Rubyつかうけど、 15のアクセくらいなら、普通にありえるな。 会計DBのテーブルが15以上フィールドもってるっていう設計されてるときとか。
117 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 06:48:58 ] いくつかの機能をまとめて内部クラスを作ってそこのクラス変数にすればよい
118 名前:デフォルトの名無しさん [2008/08/11(月) 07:23:42 ] PHPでファイルに文字列を追加するプログラムを書いていたのですが、 LFSに対応していないようで、2G以上になるとエラーになりました Rubyで扱える最大ファイルサイズはどのくらいですか?
119 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 08:33:44 ] Ruby1.8/1.9自体は2GBより大きなファイルを扱えたはず(Windowsでは無理) ただ、思いっきり意識してスクリプト作らないとメモリに2GB全部読み込むぞ
120 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 08:49:05 ] >>114 扱うのめんどくさいという話だと思うんで、ハッシュにまとめておく
121 名前:デフォルトの名無しさん [2008/08/11(月) 17:06:49 ] 携帯電話から入力されたメッセージを、txt形式で鯖に貯めたいです。 一行掲示板なるものを見つけて書いてみたけど、 ( ttp://www.skuare.net/2007/07/ruby_5.html ) 書き込まれた内容は文字化けして読めんとです。 au、ソフトバンク、docomoなど各キャリアから書き込みたいなら、 エンコードを何とかしろという話だと思いますが、よくわかりません。 どう書けば文字化けせずにテキストを貯めておけますか?
122 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 17:31:52 ] 携帯電話のフォローをするgemは聞いたことがないなあ とりあえず携帯電話の機種ごとのWeb通信および文字エンコードと独自文字領域についての知識が必要 これはRuby全く関係ないので自力でやってくれ
123 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 17:42:24 ] 偏見だけど、はてなブックマークで5users以上にすらなってないRuby関連記事はそもそも信用したらあかんよ 自分に合わせてゼロから作ったほうがまだ安心できる
124 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 18:10:54 ] >>123 めちゃくちゃ偏見じゃねーか まあしかし件の記事は自分専用のスクリプトだしな 他人や他機種のことは全く考えられてない
125 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:18:46 ] jpmobile-rails.org/blog あ、Railsじゃないのか。
126 名前:デフォルトの名無しさん [2008/08/11(月) 21:31:51 ] Ruby/Tk について質問です。 ひとつのアプリで複数のウィンドウを開きたいんですが、TkRoot のウィンド ウから別のウィンドウをいくつも開くにはどのクラスを使えばいいでしょうか? 試しに TkToplevel.new でウィンドウを作ってみたら、ウィンドウ自体は開く もののその上に置いたボタンとかのウィジェットがまったく表示されませんで した。
127 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:41:06 ] >>125 jpmobileをrails依存な部分とそうでない部分に分けるという動きが どっかであったのを見た。
128 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:05:41 ] >>126 Ruby/Tkのマニュアルくらいは斜め読みするんだ
129 名前:126 [2008/08/11(月) 22:39:13 ] >>128 Ruby/Tk はマニュアルとしてまとまった物がみつからないので、「Ruby アプリ ケーションプログラミング」を参照しているんですが、よくわからないので困っ てます。。。
130 名前:デフォルトの名無しさん [2008/08/12(火) 00:11:16 ] githubから入れたgemの依存関係が解決できないです。 gemから見たときに、githubのgemは衝突回避のために username-projectname という形で gemを提供しているのですが、あるgemで入れたソフトが username-projectnameでなくて、projectname に依存しているという風に言ってきます。 このおかげで動かしたいgemで入れたソフトがエラーが出て動きません。 具体的には、↓ddollar-remember-the-ruby を入れようと思ったら、 ddollar's remember-the-ruby at master ? GitHub github.com/ddollar/remember-the-ruby/tree/master ↓ddollar-preferences に依存するようなのですが(ソース確認した)、 ddollar's preferences at master ? GitHub github.com/ddollar/preferences/tree/master 実際には、素のpreferencesがインスコされてしまって、そっちが参照されてしまいます。 (gem install時も素のpreferencesの方が入ってしまう・・・) ddollar-preferences を入れて、素の preferences を uninstall した状態で実行しても、 (ほげまげ)/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:578:in `report_activate_error': Could not find RubyGem preferences (>= 0.1.3) (Gem::LoadError) from (ほげまげ)/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:134:in `activate' from (ほげまげ)/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:158:in `activate' from (ほげまげ)/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `each' from (ほげまげ)/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `activate' from (ほげまげ)/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:49:in `gem' from (ほげまげ)/ruby/bin/rtr:18 などといわれ、preferencesの方を見に行ってしまいます。 なんとかならないのかなあ・・・
131 名前:130 [2008/08/12(火) 01:04:11 ] ここみたら手動で入れられました。 Hoe dependencies - comp.lang.ruby | Google グループ groups.google.com/group/comp.lang.ruby/browse_thread/thread/9a5d68bafd366677 git clone git://github.com/ddollar/preferences.git preferences cd preferences gem install pkg/preferences-0.1.4.gem 一応これで目的のソフトは動きました。 しかしながら、これだと同じライブラリ名があるとバッティングしますね・・・。 それにgithubで他の人が作った同じライブラリが同時に入れられないw そしてやはりというか、 (ほげまげ)\ruby\gems\1.8\specifications\ddollar-remember-the-ruby-0.3.2.gemspec の中の %q<preferences> を全部 %q<ddollar-preferences> に置換しても動きます。(当然ですね) 問題はgithub内のそれぞれのユーザーのコードが、他のgithubのコードを dependencyに追加する時にユーザー名まで入れるの?ということになりますね・・・
132 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 03:12:00 ] >>126 toplevel = TkToplevel.new button = TkButton.new(toplevel,:text=>'push me').pack 基本はTkHoge.new(親部品、オプション)で親部品は省略するとTk.rootになる ruby/tkはドキュメントが足りなすぎてtcl/tkを知らないと使い物にならない 今まで見た中では「逆引きRuby/Tk」(ググれ)のページが一番まともに使える