[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/16 20:51 / Filesize : 256 KB / Number-of Response : 901
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 22



1 名前:730 [2008/09/15(月) 17:25: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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

496 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:24:53 ]
またC++厨が…
C++を学ぶのとCを学ぶのでは意義が違うと何度言えば

497 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:26:11 ]
そろそろスレタイ嫁

498 名前:デフォルトの名無しさん [2008/10/09(木) 18:30:38 ]
>>496
説明してみぞ




499 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:34:39 ]
うぜぇ

500 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:37:16 ]
こういう香ばしい人って、なんでみんなageるんだろうね

501 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 18:45:48 ]
>>484,488
業務でAptana使ってるが、コード補完はやはりイマイチ。
候補が無駄に多いうえに欲しいのが出てこなかったりする。
特に、ハッシュで引数与える関数は全滅だ。
この辺はNetBeansも大差ない。
abbrevのあるemacs系の方がまだ使える。

Eclipse + JDT で幸せなJava開発環境を味わってる人には物足りないだろう。

502 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 19:29:58 ]
Rubyと共に使うなら純Cだろうね。
C++はそれ単体で使うもの。
ゲーム作りならC++オンリーがパフォーマンス的に一番だろうなあ。
ただ、Rubyでも処理速度がさほど求められないならゲームに一応使えると思うが
ゲーム用のライブラリはCかC++だろうしなあ。
一応、RPGツクールはRuby使えるのもある。

503 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 20:03:58 ]
>>502
Ruby/SDLでだいたい満足してたから、他のゲーム用ライブラリ触ったことないんだが
CやC++にはそんなに良いライブラリがあるのか?

504 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 21:45:12 ]
とりあえず、SDLはC/C++でも普通に使える。



505 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 10:57:55 ]
>>503
SDL

506 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:18:11 ]
わざわざCからSDL使わなくても、Ruby/SDLでよくね
性能が要求されるなら直接DirectX使うべきだし

507 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:27:06 ]
ゲームってのはけっこうハイレベルな感じに常時性能が要求されるもんだと思ってたが違うのか?

508 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:29:11 ]
ゲームによるよ
3Dでエフェクトも激しいアクションゲームなんかは大変だけど
そうじゃないゲームもたくさんある

509 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:36:43 ]
専用スレがあるんだからそっちでやればよくね?

510 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:47:04 ]
>>508
マジレスするとそうでもない
画像表示してブラーかけてるだけのADVなのにDirect9c対応グラフィックボード要求するとかもうアホかと

511 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:55:54 ]
「DirectGraphicsの初期化に失敗しました」は昨今けっこう有名なメッセージだと思う

512 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 19:29:48 ]
誘導:
【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
pc11.2ch.net/test/read.cgi/gamedev/1207069887/

513 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 20:31:46 ]
>>510
それはその例がそういうゲームってだけだろ

514 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 10:27:03 ]
玉金破裂ゲーム



515 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:25:43 ]
Arrayを継承したクラスのオブジェクト.find_all{|e| e.cond?}

がArrayを継承したクラスのオブジェクトに自動でならないことにほんのりがっかりした

516 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:30:32 ]
>>515
gem のライブラリで時々見るな、そういう中途半端実装
そこはレシーバのコレクションクラスのオブジェクトを作って返せと…なんのための独自配列なのかと…

517 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 16:00:49 ]
>>515
find_all は Array じゃなくて Enumerable のメソッドだから
実際のところ自分のクラスは関係ない


518 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:09:09 ]
Arrayは継承するな…とcompositionを使えと

519 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:59:40 ]
Arrayを継承するってどういうシチュエーションなんだ??


520 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:08:31 ]
なんで継承を毛嫌いするかね

521 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:09:37 ]
いらんメソッドが付いてくるから

522 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:13:23 ]
アホすぎて笑えない

523 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:13:39 ]
継承は怖い

524 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:18:59 ]
>>520
作るのは簡単だが使うときに面倒
あと作り直すときにも面倒



525 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:20:50 ]
すごいとこまできてるねRubyistはw

526 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:21:13 ]
>>515
ハッシュからハッシュを返すselectやmapはたまに欲しくなる

527 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:22:01 ]
カンペキに活用した継承は非常に強力だが、ほとんどの継承はそうではない
っていうか、組み込みクラスは継承しないで委譲しろ、継承は自作クラス間でどんどんやれ

528 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:23:05 ]
本当にアホばかりで嫌になる

529 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 22:24:49 ]
ライブラリを書くくらいに使ってる人がいないってだけ

530 名前:デフォルトの名無しさん [2008/10/12(日) 10:56:19 ]
Integerのaとbのobject_idを常に同じにする方法ってありますか?
a.object_id = b.object_id
みたいなことがやりたいんですが

531 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 11:51:41 ]
>>530
object_id を同じにしたい理由が良くわからんが…
普通に代入すれば同じになるでしょ。

今の実装では Fixnum の場合は即値だから必ず同じ値になるんじゃないかな。



532 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 12:05:34 ]
>>530
できませんという答が妥当な気がする

>>531の言うように、Ruby の整数の数値の値とオブジェクトIDは紐付けられてる
整数の 1 のオブジェクト ID は常に一定だ

533 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 13:33:03 ]
>530
多分参照を扱いたいんだと思うが
そういう場合は配列やオブジェクトにくるんで受け渡しするのがベスト。

534 名前:デフォルトの名無しさん [2008/10/12(日) 13:57:54 ]
>>531,532,533
ありがとうございます
そのままでは無理でしたか

ちなみに、何故やりたかったかというと(railsの話になりますが)
class A; attr_accessor id; end
class B; attr_accessor a_id; end
と二つclassがあり、AのidとBのa_idを同じにしたかったのです。
今までは

A.transaction do
@a.save!(ここで、a.idに代入される)
@b.a_id = @a.id
@b.save!
end

としていましたが、

@b.a_id.object_id = @a.id.object_id(みたいなことができれば。。)
A.transaction do
@a.save!
@b.save!
end

とできると、updateでもcreateでもtransaction内が共通になるため、2つのclassをまとめたclassが定義しやすいなと



535 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 15:39:09 ]
>>534
なぜそうなってしまうのかわからない。
スキーマはどうなってるの?


536 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 16:27:25 ]
>>534
ごめん
その話聞いても,idとa_idを同じオブジェクトIDにしたい理由がわかんないわ
それにそもそも代入やFixnumみたいなやつ以外で同じオブジェクトIDになることない気がする

なにか勘違いしてるんじゃ…

537 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 16:47:40 ]
そんなことできたらそれはIDって言わないんじゃないの

538 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 16:56:36 ]
要するに,例えばaとbっていう変数があったときに
b.object_id = a.object_id
としておけば
a = 10
としたときに,bも自動的に10になってくれませんか?

っていう話でしょ

object_idはそんな用途に使えません

539 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 17:01:37 ]
>>538
すげー
よく検討ついたな

540 名前:デフォルトの名無しさん [2008/10/12(日) 17:54:01 ]
>> 538
その通りです
分かりにくい説明で申し訳ないです

用は参照を使いたかったんですが。。

541 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 18:32:47 ]
なんかa_idって名前が気になるな
すっげー憶測だけど、Bはインスタンス変数でAを持つのが素直な設計だったりしない?
それならB#save!で@a.save!するだけで済むから楽なんだけど

542 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 18:38:16 ]
>>538
おまえ、ほんとエスパーだな。
おれはさっぱり読み解けなかった。

543 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 19:03:44 ]
>>534
railsというかActiveSupportはそういう関連づけを自動化してくれなかったっけ?

あるいは>>541のようにしてB#a_idは@a.idを返すようにするとか。

544 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 20:48:21 ]
>540は自分の頭にあるオブジェクトのイメージをER図やクラス図で
さらっと描きだせるくらいのレベルになるまでARを封印すべきだ。
もし仕事でやってるなら合掌。




545 名前:デフォルトの名無しさん [2008/10/12(日) 21:00:36 ]
>>541, 543
確かにModelはそんな感じの設計です。
@a.b = @b
で関連付けて、
@a.save!
とすればbも入るってことですよね。

ただ、viewに2つのmodelを分けて書くのが面倒だったので、調べているとActivePresenterなるpluginを発見し
(ttp://jamesgolick.com/2008/7/28/introducing-activepresenter-the-presenter-library-you-already-know)
利用してみたところ、さきほどの参照のようなことをしたいなと思った次第です。

このpluginは2つのModelを結合してくれるもので、
 @ab = AB.new(params[:ab])
 @ab.save
で、AもBもsaveできちゃうよということでした。
ただ、DBの保存時に決定される@ab.a_idと@ab.b_a_idが関連づかずに困っていたというわけです。
あまり、plugin自体には手を入れてくなかったので、
@ab.a_idと@ab.b_a_idが同じだよということができれば良いなということでした。

546 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 23:11:18 ]
プライマリキーの値を変更するな、テーブルの設計からやり直せ

547 名前:デフォルトの名無しさん [2008/10/12(日) 23:24:26 ]
>>545
自己レスです
とりあえず、参照は素直にはできないということは分かりました。
ありがとうございました。
もう少し試行錯誤して、無理なら普通のARにしてみます。

548 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:37:23 ]
>>544
初心者として気になるんだけど
そのレベルになるまではどんな感じやるのが上達する?

549 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:44:19 ]
>>548
1週間に3日書く
今週はRubyスクリプト書いたり改良の試行錯誤が無かったなあという週が無いという状態にする

制御構造覚えたらマニュアル見つつたまに使う程度のカジュアルさでももちろん一向に構わないが、
その場合はRubyが上達することはないだろうし、上達するほど頑張る理由もそもそも無いことだろう

550 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:56:31 ]
Rubyのクラス分けやモジュール分けはてきとーで良いということがわかった頃から
スクリプト作るの早くなったような気がする

今でも特異メソッドとかわからんが
インスタンスメソッドとクラスメソッドしか作ってない
Proc はライブラリで要求されないと作らない
yield は使う機会が無いのでわけがわからない

551 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 06:21:15 ]
yield は each 作ったりしたらすぐ覚える

552 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 06:31:29 ]
おれはテストを書く気が全く起こらないんだよなあ…
少しづつでも書けばいいんだろうけど
つまらないから全く続かない…

553 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 07:56:06 ]
どう考えても

 テストを書くのに悩む時間 >> 変なバグで悩む時間

なのでテストを書く理由がない俺
他人様に提供するライブラリ書くんじゃない限り要らないもんだと割り切ってる
書き方指南がないということは本当はみんな不要だと思ってる証拠

554 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:32:04 ]
>>553
書き方指南いろいろあるじゃん
本にもwebページにも

俺も有用であるという自信はないが



555 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:43:49 ]
テスト書くためのスクリプトでテスト書く説明するだけだしなあ
お前そんなスクリプトなんて普段絶対書かないだろ、というのが多々…(特にテスト駆動)

556 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 08:54:11 ]
スクリプト序盤から中盤での書き方がよくわからないのがテスト駆動の特徴
というかMockとかあのへんを理解しないと関数的スクリプトのテストしかできん

557 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 09:23:47 ]
色々書き方の作法もあるけど、むしろ形式に捕らわれず自由にテスト書くようにしたら
それはそれで楽める部分もあると思う。

558 名前:デフォルトの名無しさん [2008/10/13(月) 09:42:39 ]
俺はテスト書かなくて困るのってリリース後なんだよなぁ。
デグレ出るたびに書いときゃよかったって思う。

559 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:07:10 ]
ちゃんとテストが書けるようになったら、もう上級者だよ。
つまり上級者になるためには、テストがきちんと書けるようにならないといけない。

おれはまだうまく書けないんだけどな。
UIのテストなんか、どうしたらいいのかさっぱりだ。

560 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:36:29 ]
他人様のライブラリのgitのtestディレクトリとか眺めてるとよくわかる

本文コードの追加変更に対してテストが異常に適当というか不足
時間かけてまでして作りたくないかどうすれば網羅するか考えるの面倒なんだろうな

561 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 14:01:54 ]
テストなしでロジック修正とかコードの整理(リファクタリング)とか、
怖くてできない体になった。


562 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 15:01:22 ]
ZenTest試用中。なかなか良さげ。
ttp://mono.kmc.gr.jp/~yhara/w/?ZenTestMemo
ttp://zentest.rubyforge.org/ZenTest/files/README_txt.html

gem install ZenTest
でインストール。

563 名前:デフォルトの名無しさん [2008/10/13(月) 17:14:28 ]
>>561
わかります

564 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:30:17 ]
テスト書くとメソッド単位でしか検証できないからめんどくさい
あと、GUIアプリのTestってどうやるの?



565 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:35:59 ]
できない

566 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:55:46 ]
入力の自動化をすれば出来る。
が、チェック項目をリストにして人力でやったほうがなんぼかマシ。

567 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:30:55 ]
RubyでGUIつーと、テスト以前に環境が貧弱だからのう。
WebならSeleniumとか。


568 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:32:59 ]
>>564
自動でマウス動かしてクリックしたりフォーム埋めたりするよプログラムを併用する
稀にどうしても自動化できないところが出てくることがあり、そういうときは漏れのない操作一覧図を書いて手動

569 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:58:10 ]
>>564
ビューとコントローラを極力分離すれば、ある程度までは機械的にテストできる

570 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:02:19 ]
GUI自体をテストしたい場合は?

571 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:15:36 ]
GUI自体のテストって具体的にどんなの?

572 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:52:47 ]
マウスクリックのタイミングとか

573 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 02:10:57 ]
サブネットマスクにマッチするような判定って簡単に出来ますか?
例えば、
"192.168.0.45".in_mask?("192.168.0.0/24") # => true
"192.168.0.45".in_mask?("192.168.0.0/29") # => false
となってほしいのです。

574 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 02:15:25 ]
本質的にサブネットマスクはbitmaskだから
ANDしてやればいい



575 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 03:03:18 ]
>>573
IPAddr#include?


576 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 07:48:35 ]
rubyはじめたばかりのものです。

Windowsにて、ワンクリックインストーラでrubyをインストールし、
RMagick(とImageMagick)をインストールしました。
サンプルプログラムを走らせようとすると(ruby sample.rb)、以下のようなエラーメッセージが出ました。

./RMagick.rb:2: uninitialized constant Magick (NameError)
from D:/Programs/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `gem_original_require'
from D:/Programs/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in `require'
from rmagick.rb:1

ファイルの内容は以下です。

require 'RMagick'
include Magick
img1 = ImageList.new("d:/a.bmp")
img2 = img1.blur_image(0,2)
img2.write("sample01.bmp")
exit

色々と試した結果、上記ファイルがあるディレクトリ(D:\rubyとする)をカレントディレクトリとして、
cmd.exeからruby sample.rbとすると上記のエラーが発生しますが、カレントディレクトリがd:\の
場合は正常に実行されました。どうもカレントディレクトリに*.rbなファイルがあると失敗するようです。
irbでも同様の結果でした。

これを回避する方法はないものでしょうか?

577 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:35:18 ]
そろそろ解決してる頃だろうか

>>576
require 'hoge' は カレントディレクトリの hoge.rb ファイルを読み込む
rmagick.rb (大文字小文字問わず)という自作ファイルを改名しろ

「hoge ライブラリを試そうとして hoge.rb を作って実行し、次にまた別のスクリプトを作って変なエラーにはまる」というのは
そろそろ FAQ にしてもいいと思う

578 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:46:44 ]
>>577
ああ、まさにそれでした。
5時間くらい悩んでの書き込みだったので、今はRMagickのマニュアルを読んでました。
有難うございました。

579 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:24:43 ]
文字列中のすべての"\"を"\\"に、"'"を"\'"に置きかえたいときに
gsubってものすごくつかいづらいんですけど、
なんか他にいい方法はありませんか?


580 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:00:31 ]
str.gsub(/['\\]/){|s|"\\#{s}"}
十分簡潔に思うが、どの辺が使いづらく感じた?

581 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:19:06 ]
str.gsub(/['"]/) { %Q|¥¥#{$&}| }
あたりで手を打たないか?


582 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:19:40 ]
遅すぎたリロード


583 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:42:38 ]
ブロック使わずに表現できないの?

584 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:45:41 ]
str.gsub(/([\\'])/, "\\\\\\1")

・・・うん、ブロックのほうがいい。

>>579-580
後方参照使わずにgsub繰り返すっていう力押しをしてた人が
ハマるパターンだろうね。



585 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:04:09 ]
>>580
なるほど、ブロックを使えばいいんですね。

>十分簡潔に思うが、どの辺が使いづらく感じた?
perl なら、 s/([\\'])/\\\1/; と、比較的直感的なところを
>>584 のように"\\\\\\1"と書くとバックスラッシュが多くなりすぎて
後で読みにくいと思ったわけです。


586 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:06:36 ]
おっと、 s/([\\'])/\\\1/g; でした。

587 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 23:56:30 ]
str.gsub(/[\\']/, /\\\&/.source)


588 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 00:44:09 ]
Windows限定でいいんですけど、OSが32ビット版か64ビット版か調べる方法はあるでしょうか。
ENV["OS"]だと32bit版XPでも64bit版XPでも"Windows_NT"と表示されて区別が付きません。



589 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 00:51:21 ]
Ruby関係ねえええ

ENV['PROCESSOR_ARCHITECTURE'].include?('64') が true なら 64BitなCPUなのできっと 64Bit版Windows
ttp://support.microsoft.com/kb/827218/

590 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:06:42 ]
じゃあruby関係で
ruby -e 'p RUBY_PLATFORM'

64bit環境を持ってないのでどんな出力がされるのかは知らんけど

591 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:10:11 ]
RUBY_PLATFORMはコンパイル時に決まりそう

592 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:15:50 ]
Fixnumを地道にカウントアップしていってBignumになる境界を見つける -> そこから推定
とかそういうアホを思いついた

593 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 01:21:56 ]
64bitのOSで32bitのバイナリ使ってたら無理じゃないか

594 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 02:22:11 ]
WIN32 API の GetSystemInfo() とか呼んだら良さそうな気がする。
呼び方はあれ、dl 使うなり何なり工夫してくれと。



595 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 03:01:15 ]
Ruby の Web アプリケーションによくでてくる、

class CGI
def valid?( param, idx = 0 )
self.params[param] and self.params[param][idx] and self.params[param][idx].length > 0
end
end

というコードの著作権者、またはライセンスってわかりますか?
GPL だとしてもソースを配布する際には著作権表示が必要ですよね。

tDiary や hiki にも登場していますが、特別そういう表示がないので
勝手に使っても差し支えないんでしょうか?

596 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 03:12:41 ]
その程度の誰が書いても同じになるコードには
著作権が発生するほどの創作性はないよ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<256KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef