[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 18:31 / Filesize : 81 KB / Number-of Response : 296
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Ruby 初心者スレッド Part 18



1 名前:デフォルトの名無しさん [2008/02/22(金) 14:31:31 ]
プログラミング言語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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

2 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:36:38 ]
【よくあるしつもん】
Q:
いちからRubyを始める初心者向けのRuby入門書は何がおすすめでしょうか?

A:
プログラム作成の初心者だったら
「たのしいRuby 第2版 Rubyではじめる気軽なプログラミング」
www.amazon.co.jp/dp/4797336617/
他の言語経験があるんだったら
「プログラミングRuby 第2版 言語編」
www.amazon.co.jp/dp/4274066428/


3 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:39:10 ]
■前スレ
Ruby 初心者スレッド Part 17
pc11.2ch.net/test/read.cgi/tech/1200472887/

■関連スレ
Rubyについて Part 30
pc11.2ch.net/test/read.cgi/tech/1200106073/

Rubyの宿題教えてください。
pc11.2ch.net/test/read.cgi/tech/1106572657/
pc11.2ch.net/test/read.cgi/tech/1200175247/

【ActiveScript】RubyをWindowsで使うスレ【GUI】
pc11.2ch.net/test/read.cgi/tech/1155031689/

Ruby on Rails
pc11.2ch.net/test/read.cgi/tech/1191381506/

Rubyについて(アンチ専用) Part002
pc11.2ch.net/test/read.cgi/tech/1200210768/

4 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:40:19 ]
■公式/非公式関連リンク
Ruby Home Page
www.ruby-lang.org/ja/

Rubyリファレンス(よくサーバーエラーになります)
www.ruby-lang.org/ja/man/
www.ruby-doc.org/ (英語)

リファレンスのHTMLヘルプ版配布
elbereth-hp.hp.infoseek.co.jp/ruby.html
# Windowsで便利

Ruby FAQ
ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ

Programming Ruby - The Pragmatic Programmer's Guide
www.ruby-doc.org/docs/ProgrammingRuby/
# 好評書籍をWebで公開中、ただし英語

逆引きRuby
www.namaraii.com/rubytips/


5 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:41:17 ]
RAA - Ruby Application Archive
raa.ruby-lang.org/

RubyForge
www.rubyforge.org/
# Rubyのアプリやライブラリが検索できる

日本Rubyの会 公式Wiki
jp.rubyist.net/
# メニューに表示されていない埋もれた情報ページ多数

Rubyist Magazine - るびま
jp.rubyist.net/magazine/
# コードレビューが好評

Ruby hotlinks 五月雨版(日記やblogのアンテナ)
www.rubyist.net/~kazu/samidare/

Rubyの本一覧
www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Ruby%A4%CB%B4%D8%A4%B9%A4%EB%BD%F1%C0%D2

<rubyXML/>
www.rubyxml.com/

Matzにっき(Ruby作者の日記)
www.rubyist.net/~matz/

6 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:42:08 ]
■最近できたWiki
Ruby 初心者スレッド Hiki
starlet.s145.xrea.com/ruby/hiki/

Ruby Portal
ruby.morphball.net/portal/


7 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 14:51:23 ]

テンプレ終わり


8 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 15:04:01 ]
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''> ゆっくりした結果がこれかよ!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ
 |::::ノ   ヽ、ヽr-r'"´  (.__
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ
,'  ノ   !'"    ___   "' i .レ'
 (  ,ハ    /_ /   人!
,.ヘ,)、  )>,、 _____, ,.イ ハ

9 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 15:23:45 ]
         r'ニニニ二二二ニニニ、ヽ
         | |     .@     | |            ト、____, へ
      rー┤|           |├、          ヽ         }
      |   | |       Π    | | |        ≡三ーーーーァ   /
      l    l l     lニ  コ  .| | |         ≡    /  /
     |    l l      |_|    | | |        ≡三   ./  /
       l__l_l______|_|__|   っ     .≡ /  /
       | /  ,イ,へ 丶、       ヘ       ≡三./  /       ノ|
       | ,' / //  \| \ ト、 ヽ ',   つ  ≡{   丶ーーーー'  }
      !j./l /        ` ヽト、ヽ }         ゝ、_______丿
.     | | .!/.!  ○    ○ l l |ヽ,'    ⊃
       l | | .l/////////////! | !.|      
       .| ! | ト、  ,-ー¬   .ィ| .| l     こ、これは>>1乙じゃなくてバギクロスなんだから
        | l ! l l` r --.' <j ,' | |    変な勘違いしないでよね!
        | .l ', l |ャ-ミ≡彳ァトイ ,'! !   
      .| | ヽ| | l r´ )/ハy / | ',


10 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 15:29:55 ]
    < ̄ ̄ ̄>
       ̄>/
     / /
    /  <___/|
    |______/
        |
     /  ̄  ̄ \
   / ノ   \ \
  /  <●>::::::<●>  \  こ、これは乙じゃなくてエナジーボンボンなんだから
  | /// (__人__) /// |  変な勘違いしないでよね!
  \    ` ⌒´    /
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ \



11 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 15:40:31 ]
AA厨うぜえ

12 名前:デフォルトの名無しさん [2008/02/22(金) 17:48:57 ]
ifの条件をorで繋げて書いているのですが凄く長くなってしまいます、
途中で改行したいのですがどうしたらいいでしょうか?

13 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 18:10:07 ]
orが行末にくるように改行を入れる。

見やすさのためにthenを省略しないようにするといいかも。

14 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 18:43:09 ]
Rubyスクリプティングテクニック
― テスト駆動による日常業務処理術
www.oreilly.co.jp/books/9784873113562/

これいい本ですか?

15 名前:デフォルトの名無しさん [2008/02/22(金) 22:53:02 ]
>>13
ありがとうございます _ _綺麗になりました。

立て続けに質問すみません。
Ruby/Tkで部品(ラベル)を作成しその中のテキストを処理中に複数回変更したのですが、
即時に変更されず、一番最後の変更のみが反映されます。
バッファリングがなされているのかと思い、STDOUT.flashを間に挟んでみたのですが、うまくいきませんでした。
ご助言頂けると嬉しいです _ _

16 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 23:12:59 ]
>>15
Thread.start{処理}
ってして見るのはどうか。

17 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 10:48:38 ]
matlabから乗り換える言語の候補でrubyを考えてるのですが
行列計算やグラフのplotはRと連携するのでしょうか?
Rとの連携ってどこまでできるのでしょうか?

18 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 12:28:44 ]
>>17
うむ、Rでできることのほとんどについて、ロクにサポートできないといっていい

というか、matlabから移行する先としては不適当だろ
Rubyは単なる汎用なオブジェクト指向スクリプト言語に過ぎない

19 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:04:05 ]
matlabとは性質が全然違うと思う
octaveなら分かるがw

20 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:03:52 ]
組込クラスや標準ライブラリに木構造を扱うクラスが無いのはなぜでしょうか



21 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:00:05 ]
ネタにマジレス(ry

22 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:02:57 ]
>>17
Python で numpy 使うといいよ

23 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:12:50 ]
>>17
RSRuby
ttp://web.kuicr.kyoto-u.ac.jp/~alexg/rsruby/

24 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:40:25 ]
rushってどうよ?あなたのはづかしい体験談プリーズ
journal.mycom.co.jp/news/2008/02/22/042/index.html

25 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:00:55 ]
Rushはプログレハード

26 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:37:26 ]
RubyでJAVACCみたいなパーサ生成
モジュールってありますか?

AST扱える奴がいいのでつが

27 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 23:21:42 ]
今だと treetop とか。

28 名前:デフォルトの名無しさん [2008/02/24(日) 12:01:00 ]
>>26
Racc
Lex なら StringScanner または Ragel

29 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:31:43 ]
>>28
フォロー。
Raccはyaccみたいなパーサジェネレータだから、ASTは自分で組む必要がある。

30 名前:デフォルトの名無しさん [2008/02/24(日) 12:47:04 ]
メール送信をしようと思って、
gemsを見たらメール関連のパッケージがたくさんあります
現在一番使われてるパッケージってどれですか?



31 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:19:48 ]
…TMailかな

Rubyだけでもなんとかなると思うけれど

require 'nkf'
mail=<<EOM
From: #{@sender} <#{@from}>
To: <#{@to}>
MIME-Version: 1.0
Subject: #{NKF.nkf('-jM',@subject.tojis)}
Date: #{@now.rfc2822}
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

#{NKF.nkf('-Ej',@body)}
EOM

Net::SMTP.start(@smtp_server,25,@helo_domain){|smtp|
smtp.send_mail(mail, @from, @to)
}

32 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:53:43 ]
テストツールの利用の仕方がよくわかりません

33 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:08:46 ]
>>32
テストの知識がないとだめだよ
ソフトウェアテストをRubyでも行うというツールであって、ソフトウェアテストをRubyでも学べるというツールじゃない

タイミング的に
Rubyスクリプティングテクニック ― テスト駆動による日常業務処理術
ttp://www.oreilly.co.jp/books/9784873113562/
これを持ち出して「ただの初心者本であってテスト駆動云々については書いてないじゃん!」とかDisるのがよいぞ

「Rubyで学ぶテスト入門」とかいうのは需要はあると思うんだけどねえ

34 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:17:54 ]
メソッド間の値の受け渡しのとこにてきとーな値と正しい答えのペアを持ってきて
メソッドが正しく動作するか検証するツールだろ

35 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:20:44 ]
>>33
Rubyを256倍使うための本 極道編
というのがあるこたあるが、2001年というのはこの世界だと古文書だな。


36 名前:デフォルトの名無しさん [2008/02/24(日) 16:39:43 ]
>>32
「Ruby Test::Unit」または「RSpec」でぐぐれ


37 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:40:08 ]
>>29
>Raccはyaccみたいなパーサジェネレータだから、ASTは自分で組む必要がある。
kwsk

38 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:50:50 ]
>>36
そういう話ではないと思われ

39 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:19:48 ]
>>33
「disる」とかいうのやめ

40 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 21:48:25 ]
>>37
BNFとか書けばASTを完璧に組み上げる
パーサを生成してくれるわけじゃないという意味。
(というかそこまで出来たらコンパイラコンパイラ名乗って
いい気がする)

構文解析である文法規則に還元されたときの
処理は自分で書かないといけない。



41 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 23:11:50 ]
>>40
それは Racc の説明であって JavaCC ではないという理解で OK?
もしそうなら、JavaCC はASTを自動で作ってくれるの?

42 名前:40 mailto:sage [2008/02/25(月) 00:53:05 ]
ぉk。

JavaCCのことはさっぱり。
ただ>>26の要求にRaccは微妙かなと思って。

43 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 06:21:28 ]
class Foo
 class <<self
 end
end

これの2行目の意味が良く分からないんですが・・・

44 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 06:32:09 ]
>>43
特異クラスの定義
Railsで時々見るな
ttp://www.ruby-lang.org/ja/man/html/FAQ_A5AFA5E9A5B9A1A2A5E2A5B8A5E5A1BCA5EB.html#a6.2e6.20.c6.c3.b0.db.a5.af.a5.e9.a5.b9.a4.c8.a4.cf.b2.bf.a4.c7.a4.b9.a4.ab


45 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 10:51:44 ]
すいません、クイッククエスチョン。

特異メソッドは特異クラスのサブクラスに継承されるけど
クラスインスタンス変数は継承されないよね?あってる?

46 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:27:47 ]
rhtmlファイルでシンタックスエラーがあるみたいなんですが、どこがエラーか分かりません。
調べる方法があればおしえてください。

47 名前:デフォルトの名無しさん [2008/02/25(月) 11:52:29 ]
ppよりもっとディープなインスペクション(そのインスタンスの
メソッドやプロパティーのリストまで表示したり)をするには
どうしたらいいですか?

48 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:52:45 ]
>>45
そんな感じだったような気がする

>>46
静的なファイルなのなら、コマンドラインからerbやerubyコマンドに渡せばいい
スクリプトで動的に生成されたものにエラーがあるという話なのならちょっと違う

~$ cat test.rhtml
<title>てすと</title>
<h1>Hello, <%= World %>.</h1>

~$ erb test.rhtml
(erb):2: uninitialized constant World (NameError)
~$ cat test.rhtml
<title>てすと</title>
<h1>Hello, <%= "World" %>.</h1>

~$ erb test.rhtml
<title>てすと</title>
<h1>Hello, World.</h1>


49 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:06:33 ]
>>47
よーわからんがここ読め
ttp://www.ruby-lang.org/ja/man/html/Module.html

irb> 'str'.class.instance_methods
["send", "between?", "%", "rindex", "reject", "[]=", "split", "<<",
"object_id", "strip", "size", "singleton_methods", "downcase", "gsub!",
"count", "succ!", "__send__", "downcase!", "intern", "member?", "squeeze!",
...
irb> require 'net/http'
irb> Net::HTTP.instance_variables
["@proxy_port", "@proxy_addr", "@proxy_pass", "@is_proxy_class", "@proxy_user"]

50 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:59:27 ]
#:nodoc: とか #.nodoc: ってなに?



51 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 19:31:31 ]
ドキュメントなんか書くものか!というRubyistの強い意志

52 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 22:34:11 ]
>>46
erb -x test.rhtml | ruby -wc
または
erubis -z test.rhtml
つーかここよめ
ttp://d.hatena.ne.jp/kwatch/20080222/1203680051

>>48
それはtest.rhtmlを実行しているだけなので、シンタックスエラーのチェックには向かない。


53 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:42:14 ]
ハッシュを使い回すのではなく、俺用データのクラスを作ろうと思いました
def initialize の中で、インスタンス変数を
@hoge=nil
@hage=nil
@fuga=nil
...
と15個くらい書いてるんだけど、initializeの時点でnil入れておくって無意味だよね?

54 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:22:09 ]
@hogeの使途が分からない俺たちにとってnilを入れておく事に意味が有るか無いかは判断できない

@ary = []
@ary.each{|e| p e}
ってやれば何も出力されないけど

@ary = nil
@ary.each{|e| p e}
ってやるとnilでっせって怒られる

いきなり
@ary.each{|e| p e}
ってやると@aryなんて知りまへんでって怒られる

俺は1番目を良く使うけどね

55 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:39:29 ]
>>54
自分でそのコード実行してみた?

56 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:42:47 ]
irb(main):001:0> nil.each{|e| p e}
NoMethodError: undefined method `each' for nil:NilClass
from (irb):1
from :0
irb(main):002:0> @hoge.each{|e| p e}
NoMethodError: undefined method `each' for nil:NilClass
from (irb):2
from :0
irb(main):003:0> @hoge = []
=> []
irb(main):004:0> @hoge.each{|e| p e}
=> []

57 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:51:17 ]
>>54
>いきなり
>@ary.each{|e| p e}
>ってやると@aryなんて知りまへんでって怒られる
インスタンス変数でなくローカル変数の場合はその通りなのだが
未初期化のインスタンス変数を参照した場合は nil となるはず

>>53
上記のことを踏まえての質問ということでおk?
やってもやらなくてもnilが入っているという意味ではその通りかも知れないが
クラスで用いるインスタンス変数を明示的に示しておくという意味では無意味ではないと思う

58 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:53:56 ]
>>55
インスタンス変数は「定義」しなくてもnilだってのは忘れられがちだよな

インスタンス変数の「定義」をinitializeでする意味はRuby的にはあまりないと思う

59 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:59:02 ]
厳密にはメソッドが追加されるからただの定義ではないけど attr_reader とか


60 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:59:28 ]
外部からアクセスされるなら直後のattrに名前が出るし
外部からアクセスされないインスタンス変数って一体

あ、サブクラスからアクセスしたいか



61 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 03:23:53 ]
>>60
外部からアクセスされないインスタンス変数はあっても全然おかしくないと思う
むしろすべての実装を外部からアクセスできるように公開する方がまずいのでは

62 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 03:28:17 ]
インスタンス変数は外部からアクセスしたいときにのみおもむろに使え、ということなのでは
それ以外ではメソッド引数とかで細々とやれと

63 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 03:42:22 ]
Rubyのスコープはちょっといろんな言語と違うからね

a = 100
def foo()
return 1 + a
end
foo()
とすると何がかえってくると思う?aが定義してないってエラーになるんだぜ

64 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 03:43:47 ]
こういうときはaを@aに変えるのが定石

65 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 04:08:26 ]
>>63
そもそもの問題として、メソッド定義の中以外にローカル変数なんて置くなよ…

66 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 04:16:55 ]
トップレベルに定義したメソッドなんだろ

トップレベルのローカル変数は特別扱いしてくれてもいいような気もするけどな

67 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 06:06:31 ]
でもnilの特別扱いは要らない…

68 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 06:25:56 ]
irb(main):001:0> a=[0,1,2]
=> [0, 1, 2]
irb(main):002:0> [a]
=> [[0, 1, 2]]
irb(main):003:0> [*a]
=> [0, 1, 2]
irb(main):004:0> [3,4,5,*a]
=> [3, 4, 5, 0, 1, 2]
irb(main):005:0> [*a,3,4,5]
SyntaxError: compile error
(irb):5: syntax error, unexpected ',', expecting ']'
[*a,3,4,5]
^
from (irb):5

4行目は良いのに5行目はダメっていう挙動が理解できないんだが・・・


69 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 06:59:48 ]
>>68
*arrの「うしろ」に置けないだけ
先頭に書けないんじゃなくて、展開後にも何かがあると文法エラー

irb> a = [1, 2, 3]
[1, 2, 3]
irb> [9, 8, *a, 7]
SyntaxError: compile error


70 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 07:01:21 ]
ていうか、もしかして *array を「arrayの要素をバラす表現」とかいう理解をしてる?



71 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 07:06:23 ]
1.9なら通るよ

72 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 13:04:14 ]
自作プログラムをクラスごとにファイルに分けると20ファイルくらいになる
「ああ、実行するたびに20回もHDDにアクセスしてるんだ」と考えると憂鬱になる

ということで開発用ディレクトリと実行用ディレクトリを分けた
実行用ディレクトリには開発用ディレクトリにあるスクリプトを連結したものを入れてる
これならファイルアクセスの回数は数回で済む

いや標準添付のクラスとかrequireしてる時点で何個もファイル読み込みまくってるのはわかってんだけど

73 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:55:41 ]
>>72
その最適化で何秒早くなったの?

74 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:57:22 ]
時間が問題だと思ってる?

75 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:17:03 ]
>>74
>>72はそういうことを言いたいわけではないと思われ

76 名前:75 mailto:sage [2008/02/26(火) 22:17:55 ]
>>72じゃなくて>>73だorz

77 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 22:30:19 ]
>>72は一言も最適化とは言ってないな。


78 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:34:14 ]
ディスクアクセスが無意味に多いのが心情的に嫌なのだろう
そう感じるセンスそのものは悪くはない

79 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:28:06 ]
無意味に多いのかそれは、とか
全部動かさずにユニットテストしろよ、とか

80 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:49:05 ]
要するにプリコンパイルヘッダーが必要ということか?



81 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 04:45:24 ]
C++ とかやると、コンパイル時にいくつヘッダ読んでるかなんて
全く気にならなくなるZE

82 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:05:29 ]
コンパイル時(>>72の例だと開発中)はどうでもいいんだが、実行時に、というのが心情的に気持ち悪いという話だろう。

83 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:26:02 ]
なら、コンパイル系の言語を使えばいいんじゃまいか?

84 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:54:36 ]
そんな読み込み程度を気にするのがいかにも初心者だな

85 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:55:55 ]
Ruby使いはお茶でも飲んでまたーりするがよい
わっはっはっは

86 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:06:07 ]
>>84
そうか?
「それ自身は事実だから好きにせえ」以外の必死な否定論が出ることのほうがよっぽど初心者だと思うが…

87 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:07:32 ]
ところでCが書けないRuby書きはニワカだと思いますがどうですか。

88 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:13:07 ]
I/O を工夫することはパフォーマンスチューニングでは基本事項。
もとの環境や条件が不明だけど、CGIのようにリクエストのたびにプロセスを
実行しなきゃいけない場合は、読み込み速度を工夫するのは別におかしな話ではない。
ファイルサイズが小さくても、ファイルの数が多ければハードディスクのシークタイムは
バカにならない。
ただ、ファイルを連結しても断片化してたら効果は少ないから、デフラグを
ちゃんとやってやる必要があるけど。

89 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:17:28 ]
もうそんな時代でもないんだけどな

90 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:24:31 ]
>>89
ストレージへのアクセスが問題にならないコンピュータができたならぜひ教えてくれ

というか最近の子は「HDDがガリガリ言う」とか気にしないもんかね
静音化されて意識しなくなったんだろうか



91 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:29:29 ]
HDDはアクセスすると壊れるからなあ
いや、こんなんで壊れる確率がはっきり増えるHDDってのもかなりアレだが…

とりあえず
「クラス単位の細切れファイルをインストール時に数個にまとめとく」
というのは別に非難されるようなことじゃないと思うぞ
というかそんなにまでして行為そのものを否定する理由を知りたい

92 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:30:48 ]
ガリガリ言うほどのアクセスを問題にしてるのか?
そもそもそんなこと言ってたらRubyなんて選択肢にならんだろ

93 名前:デフォルトの名無しさん [2008/02/27(水) 12:32:34 ]
鈍足のRubyを使う人は達観した境地にあるので小さいことは気にしない

94 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 12:57:19 ]
正直、完全に論点がずれてるような気がしてならない。
元発言は、無駄を嫌うというプログラマの美徳を発揮してるだけじゃないの?

95 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:04:35 ]
チューンナップを突き詰めるとRuby使うなになるからおすすめしない

96 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:08:02 ]
Railsみたいな糞のかたまりで遊ぶのがRubyistだからな

97 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:16:36 ]
Railsのナカミを喜んでる人は少数だと思う

Railsは開けないほうがよい箱だ
あくまで外部から自分のために便利に使うシステム

98 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:42:30 ]
これが SyntaxError になるんだけど何故でしょうか?

def foo?; end
def bar?; end

case
when not foo?
when not bar?
end


99 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:52:00 ]
>>94
まぁ、美意識の問題だわな。
そしてそれは、そんな変なエネルギーってわけではない。

100 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 15:15:48 ]
>>98
notだから。

case
when (not foo?)
when (not bar?)
end



case
when ! foo?
when ! bar?
end

なら期待通りに動く



101 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 15:16:13 ]
>>98
この辺の話かな
ttp://www.ruby-lang.org/ja/man/html/trap_A4C7B2F2B7E8A4B9A4EBA4E2A4CE.html

when (not foo?)
ならおkのはず






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

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

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