トップページ⇒tech
1001コメント296KB

Rubyについて Part 28

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/08/17(金) 06:11:51
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

Ruby Home Page
http://www.ruby-lang.org/ja/

= 前スレ
Rubyについて Part 27
http://pc11.2ch.net/test/read.cgi/tech/1180031347/

過去スレ・関連スレは >>2-
0153デフォルトの名無しさん2007/08/26(日) 12:17:48
http://jp.rubyist.net/magazine/

繋がらないんだけど。
01541532007/08/26(日) 12:48:53
繋がるようになった。

昨日の夕方ぐらいから繋がらなかったんだけど、るびま20号のプレゼント
応募は大丈夫だったんだろうか?
0155デフォルトの名無しさん2007/08/26(日) 14:12:05
るびまの鯖が超重いのは意外と人気あるのか意外と予算ないのか微妙なとこだと思う

>>152
就職・転職時の話の種になる程度なんじゃないかと…
「他にはRubyでもこれこれ作りました」「そういえばルビーは資格の話をどこかで」「持ってますよー」「ほほー」
これくらいじゃね?
0156デフォルトの名無しさん2007/08/26(日) 14:14:40
資格が商売になればRubyビジネスがひとつ出来るってこと。
これで楽天やMatzが金儲けしてくれれば他のF/OSSビジネスする人たちにとっても
いいことだ。
0157デフォルトの名無しさん2007/08/26(日) 17:18:40
絶望した。オープンソースに絶望した。

企業内で堂々とオープンソースできる立場の人と
そうでない人の身分の差が固定するに違いありません。
0158デフォルトの名無しさん2007/08/26(日) 18:17:16
るびまって不定期なん?
0159デフォルトの名無しさん2007/08/26(日) 23:09:30
>158
だったはず
中の人たちの暇具合によってペースが決まる
0160デフォルトの名無しさん2007/08/26(日) 23:13:03
Rubyの学習において基本に近い部分を紹介する、という役割はわりと果たしたような気がする
あとはぽつぽつ見繕ってけばいいんじゃね
0161デフォルトの名無しさん2007/08/26(日) 23:30:15
ライブラリ紹介とコード添削は好き。
あとはまぁどうでもいいや。
0162デフォルトの名無しさん2007/08/27(月) 01:17:54
もうしばらくするとるびまの紙面が
Ruby技術認定試験予想問題とか
その傾向と対策とかで埋められるのか
0163デフォルトの名無しさん2007/08/27(月) 01:27:57
インタビューは好きだなあ。あれ、Rubyに限らずPerl/Python/PHPの人とかにも
やってほしい。
0164デフォルトの名無しさん2007/08/27(月) 03:00:49
>>163
Pythonの西尾さんとかのインタビューって見てみたいけど、一回Rubyistの輪から
外れたらもどってこれないんじゃないか?w
0165デフォルトの名無しさん2007/08/27(月) 08:45:57
>>120
procで作ったら、defと違って呼び出しに.callが必要になって醜い
0166デフォルトの名無しさん2007/08/27(月) 20:04:51
>>165
[]でいいじゃない
0167デフォルトの名無しさん2007/08/27(月) 21:36:29
>>166
全然良くない。
見た目も悪いし、そもそも普通の呼び出しは括弧自体が必要ないだろ。
0168デフォルトの名無しさん2007/08/28(火) 07:36:56
>>165
Fortranっぽくてかっこいいじゃない
0169デフォルトの名無しさん2007/08/28(火) 14:30:15
Matzにっきに()で呼び出し出来るようにする案とか載ってた気がするけどどうなったのか
0170デフォルトの名無しさん2007/08/28(火) 21:59:47
最近俺は

  変数 = 値

と代入を書く代わりに、つい

  proc{|変数| }.call(値)

と書いてしまう
0171デフォルトの名無しさん2007/08/28(火) 22:01:47
正確には、こうか…

  変数 = 値
  以降、その変数を使う処理がずらずら

    ↓

  proc{|変数|
    その変数を使う処理がずらずら
  }.call(値)
0172デフォルトの名無しさん2007/08/28(火) 22:11:02
>>171
変数のスコープをできる限り短くしたい?
1.9 の Kernel#tap で代用できるかな。

値.tap {|変数|
その変数を使う処理がヅラヅラ
}
0173デフォルトの名無しさん2007/08/28(火) 22:46:38
>172
スコープもあるけど、俺自身が関数型ウィルスに感染したというか何というか。
別にRubyにまで代入アレルギーを持ち込む必要が無いのは分かってるんだけど、ついw

こんなメソッド追加されてるのか…普段1.8使ってるから知らなかった。
俺みたいな患者にはぴったりのメソッドかも知れない。情報thx
0174デフォルトの名無しさん2007/08/29(水) 11:07:48
Webrickのサイトでどこに消えたの?開発停止?
0175デフォルトの名無しさん2007/08/29(水) 11:16:48
あれ?DNSが引けない・・・
0176デフォルトの名無しさん2007/08/30(木) 18:08:51
今日はショックなことがありました。
mingw32版を使い続けてきたと思ったらmswin32版でした。
0177デフォルトの名無しさん2007/08/30(木) 18:31:14
それはショックですね
0178デフォルトの名無しさん2007/08/30(木) 19:12:56
掲示板CGIとか書いていたんですが
string.gsub("\n","")とかstring.chompとかで改行を消そうとしたら消えなかったのですが…
(結局string.deleteで意図通りになった)
これって、なんか理由があっての使用ですか?
一応、OSはWindowsXP、送られてくる文字列はUTF-8、Rubyのバージョンは1.8.2のはずです
0179デフォルトの名無しさん2007/08/30(木) 19:45:23
駄目だったコード書いてみ
0180デフォルトの名無しさん2007/08/30(木) 19:56:49
!の有無、とエスパー。
0181デフォルトの名無しさん2007/08/30(木) 19:58:29
MatzにっきのSony講演の話で、組み込み機器へのRuby云々ってあるけど、
実際に組み込んだ事例って全くなし?RubyKaigiでEPSONの中の人?が質問で
検討してる(したい?)みたいな事を言ってた気がするけど。

みんな製品発表するまで公には言えんと思うけど、
組み込み機器のカスタマイズ用DSLとして検討している人はいるんじゃないかと。
どうなのみんな?こっそり教えてよ。
0182デフォルトの名無しさん2007/08/30(木) 20:09:56
おいしいお米を炊くためのコード、とか
3分早く炊くためのコード、
チャーハン用に冷凍ご飯を解凍するときのコード・・・

そんなのが書けるようになるわけですね。素敵です。
01831782007/08/30(木) 20:32:16
# 送られてきたテキストを掲示板の欲しい形に変形します
def text_to_html text
return text.gsub( "<", "<" ).gsub( ">", ">" ).gsub("\n","<br />").delete( "\r\n\t" )
end

フォームの方が
<form action="××.cgi" method="post" enctype="text/plain;charset=UTF-8N">
としているのでutf-8で送られているハズなんですが…
0184デフォルトの名無しさん2007/08/30(木) 20:32:28
皮肉っぽく聞こえるがそれは本当に素敵なんじゃね
01851782007/08/30(木) 20:33:57
って、ダメだったコードですね
上の所の関数の該当行がこうなっていました
return text.gsub( "<", "<" ).gsub( ">", ">" ).gsub( "\n", "<br />" ).gsub( "\t", "" )
01861782007/08/30(木) 20:36:56
って、記号がおかしい所が…
ブラケットがおかしいので、正しくは「gsub( "<", "&lt;" )」です
0187デフォルトの名無しさん2007/08/30(木) 20:59:20
組み込みっつーか、某社のNASの中でrubyが動いてるとかいうのはあるな。
このレベルだとそんなに面白い話じゃないが。
0188デフォルトの名無しさん2007/08/30(木) 21:11:44
>>187
んー、NASの運用周りだよね設定とかバックアップとか?多分。
管理用WebUIがRails?

>>182
そこら辺はまだまだネイティブなASM/CがんばってC++の仕事だと思うけど、
例えばプリンタとかJ2MEで各種業務向けの組み込みアプリがかけるみたいじゃん?
ttp://www.canon-sales.co.jp/imagerunner/meap/possibility/asp/ex1.html
こういうのってRubyに向いてると思った訳。くみこ From Java to Ruby

ってか今は「くみこの組み込み」じゃなくて「制御系なら俺に聞いてもいいぜ」スレなのね。
0189デフォルトの名無しさん2007/08/30(木) 21:30:20
ここで議論されてることって言語仕様読んで
少しテストコード動かせば分かることばっかりなのにな。

何をいちゃもんつけてんだか。

すばらしくバランス取れてると思うけどね。
0190デフォルトの名無しさん2007/08/30(木) 21:38:49
あれば苦労しないよ…… >言語仕様
ギャグで言っているのかな?
0191デフォルトの名無しさん2007/08/30(木) 21:47:01
>>178
とりあえず受け取った文字列を inspect してみ?
0192デフォルトの名無しさん2007/08/30(木) 22:11:55
>>188
Railsみたいにでかいものは入ってないが、基本的には設定周りだね。
WebUIを書くのが簡単で、しかも拡張ライブラリが割と簡単に作れていろいろ叩きやすいのが採用理由だったらしい。

あんまり細かく書くと特定されちゃうのでこの辺で。
0193デフォルトの名無しさん2007/08/30(木) 23:03:41
>>185
これでいいんじゃね?

return text.gsub( "<", "<" ).gsub( ">", ">" ).gsub( "\n", "<br />" ).gsub( "\t", "" ).gsub("\r", "")

htmlヘッダーのcharsetとかどうなってんのかな
0194デフォルトの名無しさん2007/08/30(木) 23:20:03
>>190
うん?あるよね?
01951902007/08/30(木) 23:23:14
どこに? >194
0196デフォルトの名無しさん2007/08/30(木) 23:23:57
yファイルのこととか?
0197デフォルトの名無しさん2007/08/31(金) 00:20:46
そういえば、LL魂のときに、
IronPython の中のひとが IronRuby のために Ruby の言語仕様を書いてる、
とかいう話が出てて会場が受けてたな。
0198デフォルトの名無しさん2007/08/31(金) 00:42:03
「コードが言語仕様だ!」
0199デフォルトの名無しさん2007/08/31(金) 00:45:04
認定試験の出題範囲が言語仕様。
あとは拡張仕様だから気分で変わる。
0200デフォルトの名無しさん2007/08/31(金) 01:29:35
オープンソースってこと自体が言語使用とか・・まぁ、究極の言語仕様ではあるな。
0201デフォルトの名無しさん2007/08/31(金) 01:34:38
そこで、From Ruby to Java !
0202デフォルトの名無しさん2007/08/31(金) 02:01:57
ソース=仕様だと、バグ修正してもセキュリティ修正しても全部仕様改訂って事になるのか……
0203デフォルトの名無しさん2007/08/31(金) 02:40:06
そうえいば list の順序の件は・・・
0204デフォルトの名無しさん2007/08/31(金) 02:43:17
ちがたwハッシュだw

120秒規制うぜえ
0205デフォルトの名無しさん2007/08/31(金) 03:00:51
Hashなのに並んでいて欲しいとか言うRuby野郎の程度の低さには笑わせてもらったけどな。
0206デフォルトの名無しさん2007/08/31(金) 03:11:43
元職業プログラマってのどうにかならんかな
掲示板だとでも思っているのだろうか
0207デフォルトの名無しさん2007/08/31(金) 03:34:59
自転車置き場の議論ってやつだな。
Hashの順がどうとかは、ほとんどの人にはどうでもよくてかつ誰でにでも
意味がわかるから口出ししやすい。
0208デフォルトの名無しさん2007/08/31(金) 07:27:48
っていうかArray#assocとかあるじゃん…
0209デフォルトの名無しさん2007/08/31(金) 08:38:02
hashの要素は並んでいたほうが便利だろー。

「hashだから並んでほしくない」とか意味がわからんこと言う奴の方が程度が低い。
0210デフォルトの名無しさん2007/08/31(金) 08:45:56
並んでいると思う人がいるってのは驚いたな。
アルゴリズムとデータ構造の初歩も知らない人も使うんだなぁ、と。
0211デフォルトの名無しさん2007/08/31(金) 09:06:04
抽象化になってない Hash という名前が悪い...
いや違うか。性能に影響の出る実装の差は名前に滲ませるべきか

とか考えられない奴は去れ、とか
0212デフォルトの名無しさん2007/08/31(金) 09:56:45
Hash は Hash のことだけをきちんとこなしていればいい
順番がどうたらっていう本来の Hash と関係のないものは >>31 に同意
0213デフォルトの名無しさん2007/08/31(金) 10:41:29
並んで欲しくないというか、Hashが並んでるはずがない

もし並んでるというか取り出し順が一定ならそれはHashという名前では呼ばれないはずだ
つか [[key,value], [key,value], [key,value], ...] ではダメなのか?
0214デフォルトの名無しさん2007/08/31(金) 10:52:09
何をいっとるんだ。
ランダムアクセスにハッシュを使ってるんならHashだろ。
0215デフォルトの名無しさん2007/08/31(金) 10:59:10
Arrayもアクセス手段はハッシュじゃなかったっけ
インデックスが別途くっついてるだけだったような
0216デフォルトの名無しさん2007/08/31(金) 12:45:02
つ OrderedHash
0217デフォルトの名無しさん2007/08/31(金) 15:37:47
順序を保持するくせに == では順序を無視というあたりが中途半端すぎてキモい。
0218デフォルトの名無しさん2007/08/31(金) 16:19:57
>>215
どこのArrayの話?
JavaScriptかなんか?
0219デフォルトの名無しさん2007/09/01(土) 00:37:28
>>213
Hashテーブル実装してこともないの?
順番つけるのなんて簡単なんですけど。
0220デフォルトの名無しさん2007/09/01(土) 00:56:47
>>219
馬鹿?

出来る出来ないの話ではなくて、クラスの意味がぶれる事をみんな懸念してるんだが?
「順序付けてもパフォーマンスはそれほど低下しない」
とかいってる奴とか、もう見てらんない。
0221デフォルトの名無しさん2007/09/01(土) 01:42:24
>>220
バカ?

お前のようなバカが、反対のための反対をすることがウザいんだが?
Hashが並んでるはずはない、とか言ってる奴とかもう見てらんない。
0222デフォルトの名無しさん2007/09/01(土) 01:45:11
みんながんばって自転車小屋の屋根を塗り替えてくれ。
0223デフォルトの名無しさん2007/09/01(土) 02:05:19
他言語からみると不自然な仕様を平気で取り入れるRubyだから
便利ならHashに順序つけても全く問題ない。

RubyのHashは順序保証します、で終了
0224デフォルトの名無しさん2007/09/01(土) 02:10:39
>>221, 223
ハッシュがどういうデータ構造なのかを少しでも理解してから書き込めよ
それに順番をつけるのは簡単なんだべ? 俺様ライブラリを作りゃいいがな
0225デフォルトの名無しさん2007/09/01(土) 03:20:06
>>224
お前こそハッシュがどういうものか、一回実装でもして、実感してから書き込め。
Hashに順序があってもまったく問題ない。

>俺様ライブラリを作りゃいいがな
能無しかお前。リテラルがそうなってないと意味がないだろ。
0226デフォルトの名無しさん2007/09/01(土) 03:40:42
>>216
や
PseudoHashじゃだめで、標準機能にないとダメなの?
02272262007/09/01(土) 03:57:41
ごめん>>31 >>212 で出てた話だった。これなんてcallcc ?
02282262007/09/01(土) 04:09:22
っていうか遡ってこのスレ読んだらruby-mlの話なんですね。
0229デフォルトの名無しさん2007/09/01(土) 05:55:33
こんなのどーでもいいからRubyの動作速度10倍にしてくれ
遅くて使えねぇ
0230デフォルトの名無しさん2007/09/01(土) 05:57:03
>>229
自分でネイティブコンパイラを作れ
ないものは作る、それがフリーソフトの精神だ
0231デフォルトの名無しさん2007/09/01(土) 09:00:20
>>230
あるよ
0232デフォルトの名無しさん2007/09/01(土) 09:00:43
VM版に投入する開発力を全部ネイティブに注入すれば
今ごろネイティブ版が完成している予感。

互換性80%程度でいいからネイティブ作ればいいのに。
0233デフォルトの名無しさん2007/09/01(土) 09:11:04
まぁ10倍の実行速度にはならんだろうけど。
0234デフォルトの名無しさん2007/09/01(土) 10:04:38
YARV上でeval禁止にすればそんぐらい行くんじゃね?
0235デフォルトの名無しさん2007/09/01(土) 10:09:34
>>232
VMに投入されてる開発力は実質二人分弱しかない悪寒。
0236デフォルトの名無しさん2007/09/01(土) 10:28:59
動的言語にネイティブコンパイラ作っても意味ねーよ。GCJは速くない。
Yarvがバイトコードコンパイラだから(だよね?)かなり速い。2倍くらいは行く。
こんなところでクダまいてる暇があったらYARVのバグ出ししたらいいよ。
0237デフォルトの名無しさん2007/09/01(土) 11:13:17
Pythonはαリリースしたぞ!
Rubyもクリスマスリリースならそろそろα版だせだせ!
0238デフォルトの名無しさん2007/09/01(土) 12:01:36
しまったクリスマスリリースだと思ったらクリスマスリースだった!
ttp://allabout.co.jp/interest/flowerarrange/closeup/CU20051113A/
とかそういう一発芸をするために虎視眈々と狙ってます
0239デフォルトの名無しさん2007/09/01(土) 13:11:55
>>225
順番が
あっても問題がないというのと、
あるのが当然というのは
別の話。
0240デフォルトの名無しさん2007/09/01(土) 13:49:08
あったほうが便利な場合があり、あるデメリットが無いのに
何を必死になってるのだろう・・・
0241デフォルトの名無しさん2007/09/01(土) 13:56:35
最初からMapとかDictionaryとかの名前にしとけばよかったんだよな。
Hashという名前が悪い。
0242デフォルトの名無しさん2007/09/01(土) 15:19:22
しょうへいしつこい
0243デフォルトの名無しさん2007/09/01(土) 15:32:05
>>237
そういえば9月か10月あたりに1回出すとかRubyKaigiで言ってたような気がするな。
0244デフォルトの名無しさん2007/09/01(土) 16:56:14
>>194
はやく教えろ
0245デフォルトの名無しさん2007/09/02(日) 00:43:15
>>240
> あるデメリットが無いのに

お前アホか?デメリットがあるから、これだけ揉めてるんだろ。
0246デフォルトの名無しさん2007/09/02(日) 00:44:27
デメリットって、なんとなく気に入らないってだけでしょw
0247デフォルトの名無しさん2007/09/02(日) 00:49:16
ハッシュ表を使う以上、順番を付けたら遅くなるか余計なデータが増えるかのどちらかだよな
0248デフォルトの名無しさん2007/09/02(日) 01:10:17
>>246
はぁ?
0249デフォルトの名無しさん2007/09/02(日) 01:10:17
>>247
>順番を付けたら遅くなるか
ならなかった

>余計なデータが増えるか
他の最適化で掻き消えるぐらいでした


揉めてる、というか、固定観念に縛られたアホが喚いてるだけ。
02502472007/09/02(日) 01:36:19
>>249
あら、ならないの?
もしかして、RubyのHashってハッシュ表使ってないってこと?
0251デフォルトの名無しさん2007/09/02(日) 01:37:28
しょうへいしつこい
0252デフォルトの名無しさん2007/09/02(日) 01:42:29
>>250
何で順番つけたら遅くなると思うわけ?
ハッシュテーブルの実装の仕方知ってるの?
■ このスレッドは過去ログ倉庫に格納されています