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


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

Ruby 初心者スレッド Part 19



1 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:26:33 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

   【Ruby1.9 は不安定な開発版であり初心者には全く向きません】
   【最新安定版の Ruby1.8.6 の使用を強くお勧めします】

関連スレや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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。


520 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:23:45 ]
配列の配列をハッシュに変換する方法、という意味かもしれない

そういえば、なんで標準で「一気にハッシュに変換・登録」ができないの?

521 名前:518 mailto:sage [2008/05/13(火) 00:30:14 ]
>>519
一時変数を使わずにlispみたいにゴリゴリ書ける方法は無いかなぁと思って
tapを参考に作ったんですが…
標準には無いってことですか

522 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:35:47 ]
>>520
キーにまつわる標準的な例外考えるのめんどくさいんだと思う
[[1,'one'], [1,'いち']] が {1 => 'いち'} になったらやっぱ例外出すべきだよな、とか

523 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:05:51 ]
Hash[*[[1,2],%w[sys cpu]].transpose.flatten]

524 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:27:19 ]
WxRuby2についての質問です。

RubyGemsを使って、wxruby-1.9.6-x86-mswin32-60をインストールしたのですが
付属のサンプルを実行しようとすると、wxruby2.soの読み込みで
「lib/wxruby2.so: 126: 指定されたモジュールが見つかりません。」
と言われてしまいます。何か他に、インストールが必要なものがあるのでしょうか?
(WxWidget2.8.7をインストールしてみても、やはり同じエラーが出ました)

OS: Windows XP
ruby: 1.8.6 [i386-mswin32]

525 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 10:32:09 ]
>>524
> (WxWidget2.8.7をインストールしてみても、やはり同じエラーが出ました)
PATH通してある?

526 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 12:34:47 ]
1.9.7が出てるようだから試してみるといいかもしれない
ただVC8でコンパイルされてるからまずそうな気もする
wxruby-1.9.6-x86-mingw32.gemをダウンロードして入れる方が楽かも

527 名前:524 mailto:sage [2008/05/13(火) 17:54:03 ]
mingw版をインストールしたら普通に起動できました(WxWidget無しで)。
助言ありがとうございました!

ちなみに1.9.7は、次のようなエラーでgemのインストールすらできませんでした。

rake (RUBYLIB等の位置を指定するオプション) extension
rake aborted!
Don't know how to build task 'extension'

528 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 18:27:40 ]
Rubyの初心者にたいして「これは読むべき」だと思うコードを教えてください。
ttp://q.hatena.ne.jp/1210650187

定番回答らしい回答が即っと無いのが現状をよく表しておるのう



529 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 18:56:41 ]
たった6時間前に登録された質問じゃん。
青木さんのコードとか、Pickaxeのコードとかいくらでもあるでしょ。

530 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 20:04:07 ]
真面目に答えようとすると難しそうだな
それにしてもRubyに限らず定番回答なんて存在するのか?
知ったか的なのならいくらでも挙がりそうだが

531 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 20:19:10 ]
net/pop.rbとかはどうだろう。
POPはプロトコル自体も小さいし。

初心者に800行近いのは無理か・・・

mailread.rbはたしかに短いけど、initializeにいっぱい詰めるのは好きじゃないんだよなあ
完全に漏れの好みの問題なんだけどさ。

532 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 20:39:39 ]
ここにぁるRubyのコードゎ
とっても勉強になるょ><
初心者なら全部読んでこんなコードを書くくせをつけたほうがいいょ><

golf.shinh.org/l.rb?rb

533 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:49:26 ]
コードなんて動けばいいんだよ
こういうコードを書くべき、なんてどんだけ
上から目線なんだよ

534 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:50:56 ]
まったくプログラムできないんだけど、Rubyを始めてみようかと思ってる。
理由は名前がかっこいいのと日本の方が作ったということで分かりやすいのかなぁと思ったことから。
ただ理由がこんな感じだから、勉強しててもただやり方を覚えるだけの作業のような気がしてならない。
何か作りたい物があれば、そのために勉強していけると思うんだが。

みなさんがRuby(プログラム)を始めたきっかけってなんですか?

535 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:51:00 ]
今から餌撒きかー
頑張れよー

536 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:52:51 ]
Rubyを止めたきっかけはPythonでいいと思ったから。

537 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:01:35 ]
>>534
CGI書くときにPerlが嫌で、他の言語を探してたらRubyに当たった

とりあえず、書籍読むなり誰かが書いたコード読むなりして
自分に合いそうだと思ったら始めてみたらいい
目的が欲しいなら、CGIスクリプトか自分用のファイル処理スクリプトでも書いとけ
ゲームが作りたいならそれを目標にしても良い

538 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:06:35 ]
>>534
プログラムを始めたきっかけ: 情報工学部に入ったから
Rubyを始めたきっかけ: Perlになんとなく嫌気がさしてたときに、研究室の先生にRubyをすすめられたから




539 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 23:27:38 ]
Rubyを始めたきっかけ: 昔いた会社の社長が気まぐれでMatz本買ってきてRubyおもろいと言いだした
Rubyを使うようになったきっかけ: 256本邪道編読んでOfficeだのをいぢりだしてから

540 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 00:22:41 ]
>>519
>>518 を見てそれ tap じゃんて思ったんだけど、
tap って self を返すんだっけか?

541 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 01:08:17 ]
selfを返す。
途中に挟んで(ワイヤタップして)、何事もなかったようにメソッドチェーンが進む。


542 名前:デフォルトの名無しさん [2008/05/14(水) 01:55:51 ]
>>534
Perlでの「もっと普通にプログラムかかせろ!」という不満から。
ベターPerlから入ったが、今はPerlとは全然違うものと感じている

543 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 12:33:33 ]
Rubyだけしか知らないつまらない人間にならないために必要な言語ってなんですかね

544 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 12:41:12 ]
>>543
Python
Scheme(かGauche、なんでもいいからLisp処理系)
Haskell

この3つ
あと基礎素養としてのCな

Perl5とPHP5は身近に使う機会があるならそっち憶えてもいいかと
JavaやVisualCやC++や.net関連は仕事で必要なら勉強させられるし
仕事で使わないのなら自分から憶える必要は全くないのでスルーでOK

日本語とか英語とかそういう自然言語のレスがあると予想

545 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 12:52:41 ]
SchemeというかGaucheは今ちょっと勉強してる
let を元にして let* と fluid-let と letrec というのを作った奴はどうかしてる
もう少しわかりやすい説明的名称にするか全く新しい名前を付けるべき

546 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 13:19:45 ]
>>543
Rubyをきちんと学んでればそうそう変なことにはならないはず
再帰とか継承とか本当にきちんと理解した?
Rubyで憶えられないのに他の言語に手を出したって無駄だぞ?

547 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 14:02:07 ]
C系記法の言語を1個覚えると応用が利く。

548 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 14:06:14 ]
>>547
初心者スレっぽい



549 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 14:28:57 ]
漏れもCがいいと思うよ。
拡張も作れるし。

550 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 16:22:05 ]
Lisp系は解るがPrologは本気で解らん
カットで詰まった俺

551 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:20:32 ]
CつーのはALGOL系の何かということなのか、
グルーピングに{}を使う言語程度の意味でいいのか。


552 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:35:24 ]
記法ウンタラ言う人は無視しておk

553 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 19:54:36 ]
>>544
> あと基礎素養としてのCな
俺ならLispも基礎素養の方に入れるな。


554 名前:デフォルトの名無しさん [2008/05/15(木) 22:38:28 ]
Rails初心者です。
rubyをインストール(c:\ruby)後、gemsにてRailsをインストールしました。
そして、MYSQLをインストールしたが、apacheも必要とわかり、MYSQLをアンインストール後
XAMPPをインストール(c:\xampp)。
ウェブアプリ作成用フォルダをc:\rails\を作成し、
テストをc:\rails\testで制作したがrhtmlが上手く表示されないので、教えて下さい。
コマンドプロントで

c:\rails>rails test

でフォルダ一式を作成した。
その後、WEBrickにて[localhost:3000/]アクセスすると初期画面は表示されました。
さらに、コマンドプロントで

c:\rails\test>ruby script\generate controller main

と指示を行い、c:\rails\test\app\controllersにmain_controller.rbがきちんと出来ていました。
main_controller.rbの内容→class MainController < ApplicationController end

次ぎにmain_controller.rbをテキストエディタで「def index」でアクションを追加し、
c:\rails\test\app\views\mainのフォルダの中に「index.rhtml」を作成しました。

index.rhtmlの内容→<html><head><title>あいさつ</title></head><body><h1>こんばんは</h1></body></html>

それで、WEBrickにて[localhost:3000/main/index]にアクセスすると
MissingSourceFile in MainController#index
とエラーが出てしまいます。

どうか解決法を教えて下さい。

555 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 00:01:12 ]
Mac で使ってます。
rubygems をインストールしました。

gem install proggresbar
を実行したのですが

Bulk updating Gem source index for: gems.rubyforge.org/
/usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:556: [BUG] Segmentation fault
ruby 1.8.6 (2007-09-24) [powerpc-darwin8.11.0]

というのがでてしまいます。
どのようにすればいいのか教えてください。



556 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 10:28:43 ]
>>554
PATHの設定がうまくいってないんじゃないかな?
エラー文を見るとcontrollerが見つからないって言ってるわけだから
初心者ならインストールを個別にやるよりInstantRailsを使ったほうがよい

InstantRails関連
www.itmedia.co.jp/enterprise/articles/0703/05/news014.html
instantrails.rubyforge.org/wiki/wiki.pl?Instant_Rails
japan.zdnet.com/sp/report/story/0,2000056431,20352478,00.htm

それからIDEはAptanaとかNetBeans推奨
WEBrickの起動も全部やってくれるから
codezine.jp/a/article/aid/2482.aspx?p=1

初心者はとにかく楽な方法で最初を乗り切ってしまおう

557 名前:デフォルトの名無しさん [2008/05/16(金) 19:05:44 ]
RailsはRailsスレがよいかと
【Agile】Ruby on Rails Part6【DRY】
pc11.2ch.net/test/read.cgi/tech/1210729470/

558 名前:デフォルトの名無しさん [2008/05/16(金) 21:04:29 ]
生POSTを取得したいのですが、どうにも分かりません。
PHPなら、
$stdin = fopen("php://input", "r");
で開けて、EOFまでぐるぐる回すのでしょうが。
Rubyではどうするのでしょう??
ちなみにフォームから送られてくるのは、XML形式のデータです。
お願いします。




559 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 21:19:13 ]
…なまぽすと?

require 'cgi'
cgi = CGI.new
params = cgi.params

という記述をした CGI に POST すると、params に適当なハッシュが登録されるから適当なキーで取り出せ
値は1個でも配列になってるから注意な

こんなんでどう?

560 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 21:35:25 ]
CGIスクリプトで?
標準入力を読めばいいだけじゃないの?


561 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 22:26:07 ]
>>555
rubyはどうやってインストールしたやつ?
それとOSのバージョンは?
Mac用バイナリはビルド方法が間違ってるという話だが、直ったのかな。

> /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:556: [BUG] Segmentation fault
556行目は何?


562 名前:デフォルトの名無しさん [2008/05/16(金) 23:06:22 ]
>>559
ありがとうございます。
params=cgi.params
で、paramsにkey => "<?xml version" になって、その後の部分がvalueになりました。
とりあえず、取得はできました。
もうすこし、きれにとれないかしら?

>>560
ありがとうございます。
CGIです。
標準入力って、STDIN.getsとか?でしょうか??
やってみましたが、空っぽでした?何か大きな勘違いかもしれません。



563 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:09:44 ]
つうかどういうPOSTの仕方してるんだ?

564 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 23:15:46 ]
CGI.new した時点で標準入力はカラになってると思うよ
CGIモジュール内部でも標準入力を読み込み→パースしてるわけだから

565 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:14:41 ]
CGi.newしたら内部でinitialize_queryメソッドを使ってPOSTデータは
読み込みきってフォームパラメータ(application/x-form-encoded)や
マルチパートとして解析してしまうので、そうでない形式ならCGI.new
せずに標準入力を読まなければならない。


566 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:14:53 ]
>>558 >>562
もしかして、XML文書をリクエストボディに直接入れてPOSTしたいって意味か
フォームとか使わずに

そういう用途であれば、cgi.rbを使っている限り対応は不可能なので
他のライブラリに乗り換える必要がある
標準で済ませるならwebrick/cgi、外部ライブラリに頼るならRack

あと質問するときは「生POST」のように曖昧な書き方ではなく、もっと具体的に

567 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:20:35 ]
CGI.newする前に標準入力読んで,
$stdinにStringIOを突っ込むとかするばできそうな気がしないでもない

568 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:49:21 ]
まるごと Ruby! Vol.1
ttp://www.amazon.co.jp/gp/product/4844325795
ttp://www.impressjapan.jp/books/2579

また懲りもせず最初からナンバー振っちゃって大丈夫なんかいのう
Vol.2 で書くネタのアテはあるんか?



569 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 00:58:16 ]
舞波ってw
くまくまーの人か

570 名前:デフォルトの名無しさん [2008/05/17(土) 03:44:46 ]
>>563 >>564 >>565 >>566 >>567
みなさんどうもです。

ttp://d.hatena.ne.jp/mallowlabs/20080329/1206799301
にあるように、Ajaxがらみです。
Railsならa=params[a][b][0]でいけるので
Rubyでもそんなに苦労しないだろうと思ったのですが、
その前の段階でつまずきました。


571 名前:デフォルトの名無しさん [2008/05/17(土) 05:01:08 ]
>>568
そうそうたるメンバー?じゃないか
これは買わねば

572 名前:デフォルトの名無しさん [2008/05/17(土) 06:42:04 ]
>>570 の続きです

var xml = "<a><b>c</b><b>d</b></a>";
new Ajax.Request(url, {method: 'post', postBody: xml, asynchronous: false, contentType: 'application/xml'});

prototype.jsをつかって上のように非同期でpostデータがきます。
それをRubyで捕まえようとしたのですがうまくいかず質問させていただきました。



573 名前:デフォルトの名無しさん [2008/05/17(土) 07:31:01 ]
>> 560 >>564 >>567
ありがとうございます。
結局、CGI.newが先に来ていたので取れなかっただけでした。
a=STDIN.gets
ですんなり行きました。




574 名前:554 mailto:sage [2008/05/17(土) 18:42:41 ]
>>556さん
ありがとうございます。
すべて、一旦アンインストール(Ruby MYSQL Apache)をして、[Railsのアンインストール方法が分からないですが・・・]
InstantRailsをインストールしてみます。
IDEも初めて目にするのですが、いろいろ勉強してみます。
また、壁にぶつかった時は、どうかご教授下さい。

575 名前:556 mailto:sage [2008/05/17(土) 21:14:36 ]
>>574
Rails関係ならこちらで
pc11.2ch.net/test/read.cgi/php/1207425569/
俺も常駐してるし他の人も答えやすいと思うよ

576 名前:555 mailto:sage [2008/05/17(土) 21:53:36 ]
>>561
お返事ありがとうございます。
ruby は ./configure && make && sudo make install でインストールしまし
た。OS は 10.4.11 をつかってます。

/usr/local/lib/ruby/site_ruby/1.8/rubygems/ の556 は

@@non_nil_attributes.each do |name, default|
value = case default
when Time, Numeric, Symbol, true, false, nil then default
else default.dup
end

の when Time, Numeric, Symbol, true, false, nil then default です
よろしくお願いします。




577 名前:デフォルトの名無しさん [2008/05/18(日) 09:39:51 ]
クラスを作っています。
クラス変数の一度の宣言で、
Klass.new do |k|
 k.high 30
 k.width 40
end

klass = Klass.new
klass.high = 30
klass.width = 40

klass = Klass.new(:high => 30, :width => 40)

の全ての記法に対応出来る方法ってあるでしょうか?
attr_accessorは知っているのですが、真ん中の記法にしか対応できないですよね。。
どなたかご存じの方宜しくお願いいたします。

578 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 10:16:58 ]
そういうメソッドを自分で作る(attr_accessor も実態はただのメソッド)



579 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 13:03:03 ]
正直、普段から使うほうとしてはどれかひとつに限定して制限してもらったほうが落ち着く
インスタンスへのアクセサでもメソッドへの通常引数(順番重要)でもハッシュ引数でもOK、というのはちとしんどい

580 名前:577 mailto:sage [2008/05/18(日) 13:31:45 ]
>>578-579
ありがとうございます。
それを聞きattr_accessorが用意されているのでそれで統一したいと思ったのですが、
klass.high = 30
klass.width = 40
とずらずらオブジェクト変数を書くのが面倒です。
みなさんずらずら書いていらっしゃるんでしょうか。
それとも何かいいやりかたがあるんでしょうか?

581 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 13:55:06 ]
> とずらずらオブジェクト変数を書くのが面倒です。
>>577のは全部ずらずら書いてるように見えるが?
普通にinitializeの引数にすればいいじゃないの

他の2つのが良く見えるのなら、メソッドにブロックかハッシュを渡せるようにするだけ
全部出来るようにするメリットは無いよ

582 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 13:57:52 ]
未初期化を許容するインスタンス変数以外はコンストラクタの中で埋めてやらないとまずいと思うな

583 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:01:07 ]
ずらずらと書く程沢山フィールドが存在する時点で
何かが間違ってるような気もする。

584 名前:577 mailto:sage [2008/05/18(日) 14:12:05 ]
>>581-583
ありがとうございます。コロコロ変わって申し訳ないんですが、
未初期化が不味いインスタンス変数がいくつもあるのでコンストラクタでハッシュを取ることにしました。
class BarGraph
 def initialize(x)
  @high = x[:high] or 300
  @width = x[:width] or 200
  etc..
こんなもんでいいんでしょうか。。

585 名前:577 mailto:sage [2008/05/18(日) 14:13:24 ]
すいません。orは||です。

586 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:16:51 ]
>>583
それの解消は単に initialize に書かなくなったってだけで、他のメソッドの引数が増えるだけだと思う
処理に必要な外部入力の量っていうのは一定だと思うぜ

587 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:17:08 ]
>>585
意外と知らない人が多いけど、Rubyではorも使える

588 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:22:01 ]
>>587

@foo = nil or 2

としたとき、@foo の値は?



589 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:24:51 ]
本筋からは外れるが high じゃなくて height じゃないか

590 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:25:52 ]
foo = (nil or 2)

puts foo
=> 2

591 名前:587 mailto:sage [2008/05/18(日) 14:28:50 ]
>>588
ごめんなさい恥かきました

592 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:29:03 ]
>>588が危険だから or は使われないんだよな
知らないわけじゃなくて、結合度の関係で意図的に避けられているだけだ

593 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:31:42 ]
理解してれば普通に使うだけだろう

594 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 14:35:35 ]
結合度表が頭に入ってるって人は旧い人を除いて稀だと思う
表を確認するくらいなら () で括るし、面倒になってきた人はあらかじめ || だけ使うだろう
結合度によるバグは見つけるのめんどくさいバグだから

or なら期待通りに動作するが || だと動かない、という例があった気がするがどこだったか

595 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:06:14 ]
俺はテスト用のシェル紛いの簡易インターフェイス書くために
while print('>>> ')or gets
p eval($_)rescue p $!
end
なんてよく書いてしまう
いやirbでも良いとは思うんだけどねw

596 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:12:19 ]
結合度の他には || が式を作るのに対して、
orは文を作るってところか?

597 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:44:20 ]
Rubyに文なんてないよ。


598 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:47:36 ]
いや、これのことか。

www.ruby-lang.org/ja/man/html/_A5D7A5EDA5B0A5E9A5E0.html
>また、メソッドの引数に指定できない式と指定できる式があります(このよう な式
>を「文」と呼び分ける場合があります)。

>メソッドの引数に指定できない式の例
>and, or, not
>if/unless/rescue 修飾式, ...




599 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:43:01 ]
Windowsだけど、
rubyスクリプトをPowerShell上で直接動かすと、
別に、コマンドプロンプトが開いて、そこで実行しちゃうのはなんで?

./hoge.rb で実行すると、コマンドプロンプトが開いてしまう。
ruby hoge.rb だと、ちゃんとPower Shell上で動く。

pythonは
./hoge.py でもちゃんとPower Shell上で動く。

ruby 1.8.6 (2008-03-03 patchlevel 114) [i386-mswin32] と、
ActiveScriptRuby 1.8.6(p114)
で確認。

600 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 02:52:02 ]
>>599
拡張子の関連付けの問題じゃあなかろうか?


601 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 04:25:59 ]
>>596
できるよ。
以上。
はい次の方。

602 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 09:09:43 ]
>>599
ASRインスコフォルダの bin に行って、ruby.batをいじってみんさい

603 名前:デフォルトの名無しさん [2008/05/19(月) 14:18:14 ]
文字列置換の質問です。

 puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,$1)

というのがirbだとうまくいくのですが、ファイルに書いて実行するとエラーになります。

 in `sub': can't convert nil into String (TypeError)

これを解決する代替案はどのようなものがありますでしょうか?

604 名前:デフォルトの名無しさん [2008/05/19(月) 14:21:37 ]
>>603
ああ、これFAQレベルの質問だ。
自己解決しました。

 puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,$1)

かブロックで、

 puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/) { $1}

だ。
irbは2回やったから上手くいったんだ。

自分でメモまでしといたのに忘れるとは・・・。

605 名前:デフォルトの名無しさん [2008/05/19(月) 14:22:06 ]
>>604修正

>  puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,$1)

puts "hoge_mage-fuoo1.2.3".sub(/^(.+)-.+$/,'\1')

606 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 14:25:36 ]
本当に本気でどうでもいいんだけど、
カッコとブレースの間って空白置く派が多いのかな?
){
のほうが個人的には気持ちいいんだけど

607 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:26:22 ]
>>606
空白置く派だな。
標準添付のもほとんどそのはず。

608 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:30:26 ]
>>576
自前なのか。

修正済のバグかもしれないので、1.8.6-p114とか1.8.7-preview3あたりで確認を。
それでも落ちるようなら、gdbでバックトレースを。
めんどくさいのでできればBTSに。



609 名前:599 mailto:sage [2008/05/19(月) 20:07:42 ]
結論を言うと、Rubyのせいじゃなくて、
環境変数 PATHEXTに.rbが登録されてないせいだった。
.pyはpythonをインストールした時に登録されてたらしい。

PATHEXTに登録されてない場合に、
関連付けでコンソールアプリが実行されると、
コマンドプロンプトが開くのがデフォみたい。

でも、いまいち納得できないな。
どちらにしろ、コマンドプロンプトなんか開く必要無いのに。

610 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:21:55 ]
winの設計思想のなんたるか、だねえ

じき滅ぶよ、きっと

611 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:32:20 ]
人口に膾炙して10年以上も経ってるのにまだそんな口きくかね

612 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:52:05 ]
んー、既に自滅した気が、なんて言ったっけ、VIS...

613 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:18:21 ]
コンピュータが始まってまだ60年ぐらいしか立ってないから。
無くなるときは割とあっという間だと思うよ。多分携帯に駆逐される。

614 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:30:12 ]
PC-98 って何で死んだんだろな

615 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 22:31:09 ]
坊やだからさ…

616 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 23:56:00 ]
漢字ROMに守られていた文化が
黒船に駆逐されたからでしょ

617 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 10:05:26 ]
それまでは「パソコン」がプラットフォームの中心だったのが
Windowsに中心が移ったから。

618 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 19:28:28 ]
Windowsが本当に駆逐されたら困るなー、と思う反面
代わりにLinuxが台頭するのはちょっと見てみたいとも思う

>>606
俺は空白置かない(くっつける)派
標準ライブラリでは二派に分かれているようだ
(検索したら、空白置いてるファイルが置いてないファイルの二倍ぐらいあった)



619 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 09:41:14 ]
WindowsにRuby/GDまたはRuby/GD2を使いたいのですが、どうすればいいですか?
cygwinやcoLinuxではなくWindows上で直接動かす方法をご存知の方教えていただけるとうれしいです _ _

620 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:49:38 ]
コンパイルしろ。






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

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

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