Rubyについて Part 30

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

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

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

過去スレ・関連スレは >>2-
2デフォルトの名無しさん:2008/01/12(土) 11:49:04
Ruby 初心者スレッド Part 16
http://pc11.2ch.net/test/read.cgi/tech/1197120980/

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

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

Ruby>>>>>Java
http://pc11.2ch.net/test/read.cgi/tech/1158807229/

Rubyは難しすぎ
http://pc11.2ch.net/test/read.cgi/tech/1156496224/

【カルト】Ruby開発者Matz【モルモン】
http://pc11.2ch.net/test/read.cgi/prog/1148712641/

Python厨とRuby厨が仲直りするスレッド
http://pc11.2ch.net/test/read.cgi/tech/1099804004/
3デフォルトの名無しさん:2008/01/12(土) 11:51:27
4デフォルトの名無しさん:2008/01/12(土) 11:55:02
5デフォルトの名無しさん:2008/01/12(土) 19:15:14
>>1-4
スレ立て乙です
6デフォルトの名無しさん:2008/01/12(土) 20:22:39
7デフォルトの名無しさん:2008/01/12(土) 20:23:17
8デフォルトの名無しさん:2008/01/13(日) 00:09:18
rubyの宿題すれてあるけど、一体誰が出題してるんだ?
職場の先輩かw
9デフォルトの名無しさん:2008/01/13(日) 10:11:03
学校の授業で良く使われるよ
rubyはどんなバカでも理解できる低級言語だから
10デフォルトの名無しさん:2008/01/13(日) 10:20:45
けなしてるように見えて凄いほめ言葉だなw
11デフォルトの名無しさん:2008/01/13(日) 10:39:41
プログラミングで「低級言語」と言うと
「ハードウェアやメモリ等、マシン寄りの言語」ってイメージがある。
マシン語やアセンブリみたいな。
12デフォルトの名無しさん:2008/01/13(日) 14:28:08
たぶんそのうち監獄で出題されましたとかあるんだろうな
13デフォルトの名無しさん:2008/01/13(日) 14:31:50
「低級言語」っていうのは
low level と low class を間違えた
誤訳らしいけどね
14デフォルトの名無しさん:2008/01/13(日) 19:21:20
ほう それぞれどう訳せばいいのかね
15デフォルトの名無しさん:2008/01/13(日) 19:23:40
「下層言語」…の方がしっくり来そう。やっぱいやな響きだけど
16デフォルトの名無しさん:2008/01/13(日) 19:42:00
違う言語を駆使する者同士が共存するのは非常に困難。
わしゃ疲れた・・・。
誰ぞ、画期的な処方を!
17デフォルトの名無しさん:2008/01/13(日) 19:45:18
さあ、これを授けよう・・・これさえあればなんでも実現できるぞよ・・

つ lambda
18デフォルトの名無しさん:2008/01/13(日) 19:48:54
つparrot
19デフォルトの名無しさん:2008/01/13(日) 23:22:34
rubyのlambdaはそこまで万能じゃないような気がする
20デフォルトの名無しさん:2008/01/13(日) 23:45:31
>>17
rubyならラムダはどういうときに活用すればいいでしょうか。
21デフォルトの名無しさん:2008/01/14(月) 19:10:34
つ JVM
22デフォルトの名無しさん:2008/01/14(月) 20:54:16
>>12
以前そういう話があったけど
結局そのプロジェクトは中止になったんじゃなかったっけ?
23デフォルトの名無しさん:2008/01/14(月) 22:44:07
>>20
eachとか使ったことあるなら、既に使ってるはずだが
24デフォルトの名無しさん:2008/01/14(月) 23:25:43
>>23
使ってねーよ叱咤か
25デフォルトの名無しさん:2008/01/14(月) 23:36:45
イテレータは意味的にはラムダ式になってるがな。
それを Ruby 内の用語でラムダと呼ぶかどうかは別として。
26デフォルトの名無しさん:2008/01/14(月) 23:39:40
rubyはしょせんは手続き言語なんでw
27デフォルトの名無しさん:2008/01/14(月) 23:54:40
Amrita2はいつ正式リリースされるのだろう
いい意味でも悪い意味でも楽しみにしてるんだが
28デフォルトの名無しさん:2008/01/15(火) 02:25:32
テンプレートエンジン自体があまり流行りじゃ無いような……
自作するのも良いかもね。
29デフォルトの名無しさん:2008/01/15(火) 02:29:52
今リリースにかかってるって作者の人は言ってるよ。ブログで。
30デフォルトの名無しさん:2008/01/15(火) 10:05:22
>>29
詳しく
gem戦記しか見てなかったから、最新情報が分からないんだ
31デフォルトの名無しさん:2008/01/15(火) 17:23:52
ゲム戦記?
32デフォルトの名無しさん:2008/01/15(火) 20:31:04
>>30
これかな
http://rmind.g.hatena.ne.jp/essa/20080112

でも初めてAmritaのテンプレート見たけど、ぶっちゃけどう読んでいいのか
わからなかったw
33デフォルトの名無しさん:2008/01/15(火) 21:22:17
>>32
Amrita1 とは別物だねえ。
Amrita1 は id 属性とマッチングさせる仕組で、
テンプレート自体は素の HTML として扱えるものだった。
34デフォルトの名無しさん:2008/01/16(水) 03:31:56
テンプレートは全部自前ならいいんだけど、
第三者が書いたラフな書式のHTMLの加工を考えると
HTMLパーサベースがいいというわけで開発中。

サイボウズなど既存のサイトのデータを
吸い出して加工するとかできたほうがいい。
35デフォルトの名無しさん:2008/01/17(木) 17:32:48
まーたruby-lang.org落ち取る
ruby-lang.orzに変えたらどうだ?
36デフォルトの名無しさん:2008/01/17(木) 17:35:53
g が一瞬ウンチに見えた
37デフォルトの名無しさん:2008/01/17(木) 17:57:15
>>32
あれはAmXMLという専用記述形式
Amrita2は一応XMLも扱える(というかXMLが基本?)

しかしAmXMLは何度見ても読める気がしねえ……
38デフォルトの名無しさん:2008/01/17(木) 17:57:27
>>35
いつものことなのでいちいち落ちてるの報告しなくても良いよ
39デフォルトの名無しさん:2008/01/17(木) 18:00:18
>>38
お前は嫌な奴のようだな
40デフォルトの名無しさん:2008/01/17(木) 18:08:20
>>38
いちいち報告してうざがられる事に意味があるんですよッ
だったら早くなおさんかーい!
41デフォルトの名無しさん:2008/01/17(木) 18:10:38
Googleに無料でスクリプト技術を提供するからと持ちかけて
代わりにホスティングさせればすべて解決。
42デフォルトの名無しさん:2008/01/17(木) 18:13:20
>>41
googleにrubyを?
43デフォルトの名無しさん:2008/01/17(木) 18:22:28
ミラーサイト募集とかはされているのでしょうか?
44デフォルトの名無しさん:2008/01/17(木) 20:40:42
>>41
Shumidt「ジャップがなんかもちかけて来たwww どうするページ」
Larry「Pythonあるしなぁ。俺のボーイングでも掃除させる?」
Guido「哀れRuby・・・人間、そこまで墜ちたくはないものだ」
45デフォルトの名無しさん:2008/01/17(木) 20:45:54
日本語ドキュメントが多いからRubyを使ってるけど
同じように、英語圏の人間ならPythonを選ばない理由は無いだろうと思う
46デフォルトの名無しさん:2008/01/17(木) 20:55:17
とりあえずruby-lang上でリファレンス読ませちゃあかんなあのサイトは
ダウンロードだけにして本家から切り離した無料webスペースにでも静的ファイルで置いとけって感じ
47デフォルトの名無しさん:2008/01/17(木) 21:49:03
>>46
ぜひやってください
おながいします

Rubyコミュ一同
48デフォルトの名無しさん:2008/01/17(木) 21:56:48
ttp://ns103.net/~arai/ruby/rubytk.html.gz
これなくなっちゃった・・・
だれか保存してたらうpして欲しいんだけども・・・
49デフォルトの名無しさん:2008/01/17(木) 23:49:32
無料webスペース(笑)
50デフォルトの名無しさん:2008/01/18(金) 01:18:11
dmyencoding.cが入ったときからx86-64_linuxでビルド出来なくなったんだけど。

具体的にはminirubyが
abort()
一行で落ちる。エンコーディング回りはまだいじりまくってくるみたいだから
しかたないけどメインプラットフォームのLinuxでビルドできないとかやめてほしいなあ。

あと気づいたけど、Continuationが外部ライブラリになったんで -rdebugしたら
callccがなくて終了しちゃうね。 -rcontinutaion -rdebugとしなきゃだめ。
51デフォルトの名無しさん:2008/01/18(金) 02:31:16
>>50
backtraceくれ。
dmyencoding.cでってのがよくわからんが。
52デフォルトの名無しさん:2008/01/18(金) 02:38:48
(gdb) run -ve 'abort'
Starting program: /home/fugafuga/ruby/miniruby -ve 'abort'
[Thread debugging using libthread_db enabled][New Thread 47622444985680 (LWP 1553)][New Thread 1073756496 (LWP 1556)]
ruby 1.9.0 (2008-01-18 revision 0) [x86_64-linux]
[Thread 1073756496 (LWP 1556) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47622444985680 (LWP 1553)]
0x000000000078e860 in ?? ()
(gdb) bt
#0 0x000000000078e860 in ?? ()
#1 0x00000000004173a4 in rb_enc_precise_mbclen (p=0x2b4ff604ef50 "status",
e=0x2b4ff604ef56 "", enc=0x785a40) at encoding.c:755
#2 0x00000000004a6037 in coderange_scan (p=0x2b4ff604ef50 "status",
len=<value optimized out>, enc=0x785a40) at string.c:137
#3 0x00000000004a60a7 in rb_enc_str_coderange (str=<value optimized out>)
at string.c:161
#4 0x0000000000418414 in rb_enc_compatible (str1=<value optimized out>,
str2=<value optimized out>) at encoding.c:657
#5 0x00000000004a5da3 in rb_str_cmp (str1=47622429929296, str2=47622429929302)
at string.c:1427
#6 0x00000000004a2055 in st_lookup (table=0x77c710, key=140736226213792,
value=0x7fffb4c53f98) at st.c:294
#7 0x0000000000464390 in rb_intern3 (name=0x4f862d "status", len=6,
enc=0x785a40) at parse.y:8910
#8 0x00000000004bd80c in rb_iv_get (obj=47622429695480,
name=0x2b4ff604ef56 "") at variable.c:1925
#9 0x000000000043113e in sysexit_status (err=47622429929296)
at eval_error.c:229
#10 0x00000000004361ea in ruby_cleanup (ex=1) at eval.c:191
#11 0x0000000000436242 in ruby_run_node (n=0x2b4ff6016000) at eval.c:258
#12 0x0000000000416cfd in main (argc=3, argv=0x7fffb4c54298,
envp=<value optimized out>) at main.c:35
53デフォルトの名無しさん:2008/01/18(金) 02:42:44
こんな感じ。追っかけてみると
miniprelude.cを読んで、abortを読んで、メインスレッドが終了して、
それから正常終了するはずなんだけど、なぜかstatusというのを読もうとして
コアを吐く。ううむ・・
54デフォルトの名無しさん:2008/01/18(金) 13:01:10
>48
作者です

家に帰ったら探してみます
どこにアップすれば良いですか?
55デフォルトの名無しさん:2008/01/18(金) 15:12:05
>>54
恐れ入ります
ここはどうでしょうか?
http://www11.axfc.net/uploader/20/
# *.gzに対応してるみたいです。

ちなみに元に有った場所に再公開はありませんか?
リンクしているサイトも多いようですし・・・
56デフォルトの名無しさん:2008/01/18(金) 16:06:31
57デフォルトの名無しさん:2008/01/18(金) 16:24:46
>>53
p enc_tableしてみて。
あと環境変数LANGとかLC_ALLとかは?
58デフォルトの名無しさん:2008/01/18(金) 20:22:49
>>57
(gdb) p enc_table
$2 = {list = 0x7d07f0, count = 78, size = 80, names = 0x7d0d00}

LANG=Cにしてるけど、関係ないんじゃないかなあ。
[ruby-dev:33099]の変更でdmyencoding.cが入ったからとにかく
エンコーディングに関係してるのはわかるけど・・・

ちなみに鳥はUbuntu gutsyで、setarch i386してビルドするとちゃんと
出来るんだよね。まったく!
59デフォルトの名無しさん:2008/01/18(金) 21:28:05
win32版ruby1.9だけど
>ruby19 -ve "g=ThreadGroup.new;t=Thread.new{sleep 5};z=0;begin g.add t;z+=1;Thread.pass end until g.list.include?(t);p z"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
6 #こいつは実行するたびに違う、本来なら1で無ければならないはず
スレッドを作ってすぐには、スレッドグループの変更ができない
どう書く?orgの「ワーカスレッドを安全に終了させるまで待機」のお題を1.8で解いたので
1.9でも動かしてみたらさっぱり動かんのでいろいろ試したら ThreadGroup#addが機能してなかった
真にスレッドグループの変更が成功するまでThreadGroup#addを行うと1.9でも動くようになった
60デフォルトの名無しさん:2008/01/18(金) 21:54:22
1.9でネイティブスレッド化したので標準入力からのgetsがキャンセルできるか試してみたら
>ruby19 -rtimeout -ve "s='';timeout(5){s=gets};p s"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
-e:1:in `gets': execution expired (Timeout::Error)
エラーが出るので、自前でやると
>ruby19 -ve "s='';t=Thread.new{s=gets};n=Time.now;Thread.new{sleep 5;puts %!sleep #{Time.now-n}!;t.kill};t.join;p s"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
sleep 0.0
""
いきなり終了してsleep 5が機能していない
時間を計って5秒待つとうまくいく
>ruby19 -ve "s='';t=Thread.new{s=$stdin.gets};Thread.new{n=Time.now;sleep 0.01 while Time.now - n < 5;puts %!sleep #{Time.now-n}!;t.kill};t.join;p s"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
sleep 5.0
""
61デフォルトの名無しさん:2008/01/19(土) 00:00:38
1.9のsprintf
>ruby19 -Ks -ve "p sprintf('%s','ソ').encoding"
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
#<Encoding:Shift_JIS>
でも幅を指定すると
>ruby19 -Ks -e "p sprintf('%10s','ソ').encoding"
#<Encoding:ASCII-8BIT>
ん?そして
>ruby19 -Ks -e "p sprintf('%10s%s','ソ','ソ').encoding"
-e:1:in `sprintf': character encodings differ (ArgumentError)
なんでやねん!
しかし、文字の幅もバイト数じゃなくて本当の文字の数で計算されるので
フォーマット文字列の%sの幅指定はあまり使い道がなくなったような…
まあUTF8だともともと使えなかったんだろうけど
62デフォルトの名無しさん:2008/01/19(土) 00:08:25
>>58
> (gdb) p enc_table
> $2 = {list = 0x7d07f0, count = 78, size = 80, names = 0x7d0d00}

>>52をみると#1,#2のencの値が妙に小さいんで、レジスタの最適化で消えちゃっ
てのかと思ったが、enc_tableの中身も同じような感じだな。

ついでに、この#1,#2のencの中身は?

念のために聞くけど、最新版で起きるんだよね。
63デフォルトの名無しさん:2008/01/19(土) 01:20:48
>>62
ども。rb_enc_precise_mbclenにbreakpointを設定して
p enc->name
するとASCII-8BITを返す。
> 念のために聞くけど、最新版で起きるんだよね。
少なくともr15052以降ずっと起きてる
64デフォルトの名無しさん:2008/01/19(土) 07:15:07
>>32
亀レスだけどありがとう、助かりました
65デフォルトの名無しさん:2008/01/19(土) 12:34:02
>>55

アップしました
キーワードはrubytkです

>ちなみに元に有った場所に再公開はありませんか?


確か新年早々にハード故障したとか聞きました
リプレースは済んでるらしいのですがデータは消えたのかも知れません
確かにアクセスできませんね
復旧予定は未定ですスミマセン

しかしこの文書まだ見てる方がいるとは思いませんでした
66デフォルトの名無しさん:2008/01/19(土) 17:26:45
>>65
アップありがとうございます
1ページに集約してるのが気に入ってよく利用してました
67デフォルトの名無しさん:2008/01/19(土) 18:12:56
68デフォルトの名無しさん:2008/01/19(土) 18:29:57
これはRuby公式サイトのリファレンスマニュアルが503ばっかり出すせいだな
そうにちがいないッ
69デフォルトの名無しさん:2008/01/19(土) 18:45:10
ようやくAmrita2.0.0のリリースが来たー!と思ったら
先頭にこんな記述があった

require 'rubygems'
require 'hpricot'

CGIスクリプトから使おうと思ってた俺涙目w
70デフォルトの名無しさん:2008/01/19(土) 18:52:05
自分とこでgems使うんならいいけどライブラリでgems使うとかやめちくれ
71デフォルトの名無しさん:2008/01/19(土) 18:56:53
それぐらい自分で改編しろよ
簡単だろ
72デフォルトの名無しさん:2008/01/19(土) 19:00:03
直書きせずに、ユーザー環境の -rubygems に頼るべき
73デフォルトの名無しさん:2008/01/19(土) 19:13:31
いちいちrequire 'rubygems'なんて書かないといけないのが問題
74デフォルトの名無しさん:2008/01/19(土) 19:25:36
>>> python > ruby
True
75デフォルトの名無しさん:2008/01/19(土) 19:55:06
irb(main):001:0> python > ruby
NameError: undefined local variable or method `python' for main:Object
from (irb):1
from :0
76デフォルトの名無しさん:2008/01/19(土) 19:56:35
irb(main):007:0> puts ["python", "Ruby", "perl", "php"].sort.join(" > ")
Ruby > perl > php > python
77デフォルトの名無しさん:2008/01/19(土) 20:02:23
(;`Д´)・・・・・
78デフォルトの名無しさん:2008/01/19(土) 20:05:30
>>74-76
本すれで下らないからやめてくれる?
79デフォルトの名無しさん:2008/01/19(土) 20:05:58
perl(ruby, python) > php
80デフォルトの名無しさん:2008/01/19(土) 20:07:32
>>78
半年ROMれ
81デフォルトの名無しさん:2008/01/19(土) 20:12:14
>>> {'Ruby':'ruby','Python':'python','Perl':'perl'}
{'Python': 'python', 'Ruby': 'ruby', 'Perl': 'perl'}
82デフォルトの名無しさん:2008/01/19(土) 20:16:59
>>78
たぶんテスト期間の大学生が、ストレス発散しに来てるんだよ
温かい目であぼーんしてあげようぜ
83デフォルトの名無しさん:2008/01/19(土) 21:13:50
>>69-74

俺は以下のようにしてるけど、これなら ok だよね?

begin
 require "hpricot"
rescue LoadError
 require "rubygems"
 require "hpricot"
end
84デフォルトの名無しさん:2008/01/19(土) 21:17:13
vm_opts.hの最適化スイッチを全部onにして-O6でコンパイルしたら
かえって遅くなっちゃった(´・ω・`)
85デフォルトの名無しさん:2008/01/19(土) 21:32:28
hpricotって流行ってるの?
前試したら文法が変態的なのとXPathでエラーも出さずに
とんでもない挙動を示した覚えがあるんだが
8650:2008/01/19(土) 21:39:30
x86-64だと、abort/exitで落ちるバグはakrさんのr15127のコミットで直りますた。
ありがとうありがとう。

ところで、x86-64は青木さんが毎日checkbuildしてたはずなんで参考になるかなと
思って見たんだけど、どうでもいいエラーで止まってて吹いた。
Ruby-Statusのところで結構ビルドしっぱいしてるけど、内容見るとくだらない
ミスなんだよなあ。たまにチェックとかしないんだろうか。
87デフォルトの名無しさん:2008/01/19(土) 21:51:22
>>70-71
rubygemsの方は、自分で書き換えれば何とかなるけれど
hpricotの方はどうしようもないな
速度を考えてhpricotにしたんだろうか
88デフォルトの名無しさん:2008/01/20(日) 00:07:05
Ruby のテストについて質問させてください。

DHCP の設定ファイルを生成するようなプログラムの受け入れテストを書いているんですが、
テストを実行するホストのネットワーク情報に応じて、テスト内容を変えたいと思ってます。

具体的には、dhcpd.conf に書き込む IP アドレス、ゲートウェイアドレス、ネットマスクをテストを
実行するホストと同じにしたい (IP アドレスだけは、ホストと同じネットワークの空いてる IP アドレスを
自動的に割り当てたい) んですが、うまい方法はあるでしょうか。ネットワーク系のテストを簡単に
してくれるような RSpec のプラグインとかがあれば最高なんですが。。。


89デフォルトの名無しさん:2008/01/20(日) 01:22:42
今日Ruby試験だったね。受けた人いる?
90デフォルトの名無しさん:2008/01/20(日) 01:53:17
>>88
NICが何枚も刺さってる場合は?
91デフォルトの名無しさん:2008/01/20(日) 02:32:49
公式サイトのインストールガイド(MacOSX)に平然と1.9を勧めてるのはいかがなものか。
1.9でirbが普通に通るようになったのは嬉しいけど。
92デフォルトの名無しさん:2008/01/20(日) 02:34:19
マカはコードかかねーから無問題
BSD上がりの奴は1.9がなんなのか心得てるだろうしw
93デフォルトの名無しさん:2008/01/20(日) 02:49:35
1.8は最初から入ってるから1.9の紹介してるのかね?

94デフォルトの名無しさん:2008/01/20(日) 02:59:54
rubyはとんだスイーツ言語
95デフォルトの名無しさん:2008/01/20(日) 05:27:10
>>94
syntax sugarがかかってるもんね。おいしいけど。
96デフォルトの名無しさん:2008/01/20(日) 11:24:36
>>95
しかしそんなとこには虫が湧くんだよな。
97デフォルトの名無しさん:2008/01/20(日) 13:03:36
Syntactic sugar causes cancer of the semicolon.
    -- Alan Perlis
98デフォルトの名無しさん:2008/01/20(日) 13:08:13
SICPだっけ?
セミコロンは湧かないけどendがね・・・
99デフォルトの名無しさん:2008/01/20(日) 17:58:04
[ruby-list:44517]
> 503 Service Unavailableで見えないことが多くなっていた
> www.ruby-lang.org/ja/man/ を /ja/man/html/ 以下においた
> 静的HTMLへのリダイレクトに変更しました。

さっそく見に行ってみたけど、本当に軽くなってて感動した
でもこれどうやって編集すればいいんだろう
100デフォルトの名無しさん:2008/01/20(日) 18:26:37
>>99
とりあえずの急場しのぎにはいいんじゃね?
googleでのサイト内検索ボックスくらいつけてほしいけど・・・

503は、人多すぎで出してるんだっけか
サーバー増強千ならんのかねえ
101デフォルトの名無しさん:2008/01/20(日) 18:27:31
どっちにしろミラーサイトはいるな
102デフォルトの名無しさん:2008/01/21(月) 01:51:51
編集リンクだけwikiにしてあとは性的HTMLにすればいいのにね。
103デフォルトの名無しさん:2008/01/21(月) 01:53:20
つまりエロが足りないんですね。
104デフォルトの名無しさん:2008/01/21(月) 02:03:24
ミラーサイト勝手に作ったら怒られる?
105デフォルトの名無しさん:2008/01/21(月) 02:08:35
106デフォルトの名無しさん:2008/01/22(火) 15:21:41
Ruby 1.9のジェネレータって

def fib(max=1000)
a = b = 1
loop {
raise StopIteration if b > max
yield b
a, b = b, a + b
}
end

g = enum_for(:fib)
loop { p g.next }

みたいにメソッド作らないと使えない?
あとend?とかって無くなった?
107デフォルトの名無しさん:2008/01/22(火) 15:23:59
補足
1.8のGeneratorみたいなのが欲しい
108デフォルトの名無しさん:2008/01/22(火) 15:35:54
Rubyのジェネレータってcall/cc使ってて、
1.9ではcall/ccが動くんだかどうだか妖しいらしいという話があった気がするので、
すごく、こわいです。
109デフォルトの名無しさん:2008/01/22(火) 19:00:29
今さっき気づいたんだが
アンサイクロペディアって「Ruby」の項目はないのに「eRuby」の項目はあるのね
110デフォルトの名無しさん:2008/01/22(火) 22:32:00
>>108
伝聞で怖がる暇で確認すりゃいいのに。
動くよ。結局コアから外れたってだけ
111デフォルトの名無しさん:2008/01/23(水) 05:25:55
>>108
1.9はFiberじゃないの?
112デフォルトの名無しさん:2008/01/24(木) 22:45:36
1.9のEnumeratorはFiberを使ってる
そして、Enumeratorにnextとrewindメソッドが追加されて外部イテレータとしても使えるようになった

>あとend?とかって無くなった?
ジェネレータライブラリは1.9でもそのまま残ってるのでそれを使えといいたい所だが
エラーで動かない
1.9付属のジェネレータはcall/ccじゃなくてThreadを使うようになっているが
(YARV化で?)Thread.criticalが無くなったせいで動かなくなったようだ
そのうちFiber化するか、あるいは重複機能となったgenerator.rb自体が消滅するか…
ちなみにcall/ccを使っている1.8付属のジェネレータは1.9でも動く
113デフォルトの名無しさん:2008/01/24(木) 23:37:46
Rubyの拡張モジュール作ってて、Rubyのメインスレッドとは別のスレッド
を複数使ってる。これらのスレッドはシステムコールでブロックすること
がある。

ユーザがたとえばCTRL-C押したり、killしたりしたときに、それぞれの
スレッドのブロックを解除してあげたくて、シグナルを補足して投げて
あげたい。

だけど、あるシグナルのsigactionは他のスレッドで呼ばれるかもしれないし、
どうしたらいいか悩んでます。皆さん、どうしてます?
114デフォルトの名無しさん:2008/01/25(金) 00:33:48
> 1.9のEnumeratorはFiberを使ってる

もしよれければ、その辺の利点をkwsk

Fiberってプリエンティプティブスレッドというか、コルーティンンのことだよね?
115デフォルトの名無しさん:2008/01/25(金) 14:41:38
1.9.1まだあああああああああああああああああああああああああああああああああああ
116デフォルトの名無しさん:2008/01/25(金) 21:44:25
再帰呼び出しを伴うようなアルゴリズムの可視化ってどうやったら良いんでしょうか?

たとえば、バブルソートみたいなループのアルゴリズムを表示する場合だと、

# Model
class Bubble
def sort
# ソートのループを一度だけ実行
end
end

# View
b = Bubble.new([3, 5, 8, 1, ...])
while(not b.finished) do
b.sort
show b # GUI に表示
end

などとできると思うのですが、クイックソートみたいな再帰だと、この仕組みでできますか?
なお、できるだけソートアルゴリズムの方には描画処理を入れたくないので、Model と View に分けてます。
117デフォルトの名無しさん:2008/01/25(金) 22:14:27
>>116
Kernel#set_trace_func を使えば出来ると思うけど
使った事ないんで詳細は自分で調べてくれ
118デフォルトの名無しさん:2008/01/26(土) 00:10:57
ソートにブロック渡せるようにすれば?
119デフォルトの名無しさん:2008/01/26(土) 00:23:47
ネイティブスレッド使えれば、とか
描画イベント用の delegate渡す的なことを思ったけど、

rubyでなら >>118 が楽そうだ
120デフォルトの名無しさん:2008/01/26(土) 02:30:01
>>115
1ヶ月以上バイナリストリングの話をしてるのに出せるわけないだろwww
121113:2008/01/26(土) 22:42:40
自己レスですが、ドライバのclose処理をいじって、システムコールでブロック
しているスレッドを起床させることにしました。

なので、シグナルは補足しないことに。
122デフォルトの名無しさん:2008/01/27(日) 07:52:25
世界的にそこそこ有名な国産プログラミング言語ってrubyだけか?
123デフォルトの名無しさん:2008/01/27(日) 08:05:40
というかほかに、和製のプログラミング言語って存在するのか?
(なでしこ等の日本語プログラミング言語は別として)
124デフォルトの名無しさん:2008/01/27(日) 08:13:21
>>123
activebasicとか
125デフォルトの名無しさん:2008/01/27(日) 08:57:16
>>123
なんで「なでしこ」を別扱いするんだよw
126デフォルトの名無しさん:2008/01/27(日) 09:10:34
HSP(笑)
127デフォルトの名無しさん:2008/01/27(日) 09:19:13
>>125
日本語プログラミング言語は、海外の人が使えるものじゃないだろう
128デフォルトの名無しさん:2008/01/27(日) 09:32:19
>>127
そんなマジレス返ってくると思ってなかった・・・
129デフォルトの名無しさん:2008/01/27(日) 10:58:43
perlで @a = (0..9, 15, 20..29) と書くと「..」を展開した配列が得られますが、rubyで[0..9, 15, 20..29]と書くと「..」の部分はRangeオブジェクトになってしまいます。
これを展開した配列にする、最もシンプルな書き方を教えてください。
自分で考えた範囲では、
[0..9, 15, 20..29].map {|e| e.respond_to?(:to_a) ? e.to_a : e}.flatten
ですが、あまりにもうざい……。
130デフォルトの名無しさん:2008/01/27(日) 12:39:35
>>129
a = [(0..9).to_a, 15, 20, (20..29).to_a].flatten

もしくは

a = (0..9).to_a + [15, 20] + (20..29).to_a
131129:2008/01/27(日) 17:18:57
>>130
やっぱその手の方法しかないですか。
何よりも見た目が美しくないのが気にいらないのですが、仕方がないのかなぁ。
132デフォルトの名無しさん:2008/01/27(日) 17:21:17
要素がRangeなら展開するラッパー書くしか
133デフォルトの名無しさん:2008/01/27(日) 17:42:18
respond_to?(:to_a) で判定してると
[ "hello", 1, 2, 3, 4..5 ] が [ ?h, ?e, ?l, ?l, ?o, 1, 2, 3, 4, 5 ]
になったりせんのかと危惧して試してみたら、
"hello".to_a は [ "hello" ]
なのか。
134デフォルトの名無しさん:2008/01/27(日) 20:04:41
[*0..9, 15, 20, *20..29] こんなのどうでしょう
135デフォルトの名無しさん:2008/01/27(日) 20:16:20
>>134
syntax error
136デフォルトの名無しさん:2008/01/27(日) 20:46:45
>>135
む、すまん、1.9 専用ってことで
137デフォルトの名無しさん:2008/01/27(日) 21:22:19
ruby/tkのサンプル
/ext/tk/sample/tkextlib/treectrl/demo.rb
を実行してみたもののtreectrlがバージョン2に上がったときに切り捨てたオプションがいっぱい使ってあってどうにもならんorz
138デフォルトの名無しさん:2008/01/27(日) 23:16:37
>>114
> Fiberってプリエンティプティブスレッドというか、コルーティンンのことだよね?
*ノン*プリエンティプティブスレッド
139デフォルトの名無しさん:2008/01/27(日) 23:47:21
マイクロスレッドとも言うね。
外部イテレータを実装するなら一番シンプルな解決法だと思う。
140デフォルトの名無しさん:2008/01/27(日) 23:58:44
>>138
うおw ノンつけてなかった、失礼した
141デフォルトの名無しさん:2008/01/28(月) 09:47:20
イテレーターからbreakしたか/しなかったか判別する方法ある?
こんなことしたい

min.upto(max) { |y|
 min.upto(max) { |x|
  return if breaked?(yeild(y, x))
 }
142デフォルトの名無しさん:2008/01/28(月) 09:49:05
例外投げる
143デフォルトの名無しさん:2008/01/28(月) 10:50:25
trunk/ruby/doc以下ってほとんど無意味だよね
rdの文書はなんかさっさと本体に埋め込むべきだし、役に立つ情報は
ほとんどない。リファレンスマニュアルを本家svnで配ればいいのに。
144デフォルトの名無しさん:2008/01/28(月) 11:09:57
>>143
誰かruby-devあたりで提案してみたら?
145デフォルトの名無しさん:2008/01/28(月) 12:41:18
例外って本当にエラーが起こったときだけ使いたい。
146デフォルトの名無しさん:2008/01/28(月) 13:03:40
LANG=ja_JP.UTF-8にしてるとベンチマークの
reverse_complementが遅い遅すぎる。というか、10分くらいたっても終了しない。
sliceに異常に時間がかかってる。LANG=Cとか-Knしておくと10秒くらいなのに。

これは・・・(;´Д`)
ふだんはみんな-KsかEUC-JPで使ってるのかなあ
147デフォルトの名無しさん:2008/01/28(月) 15:54:48
>>141
returnでtrue/falseかなんか返せば。
148デフォルトの名無しさん:2008/01/28(月) 16:43:51
Array#eachって順番保障されてたっけ?
149デフォルトの名無しさん:2008/01/28(月) 17:34:31
されるだろ常考
150デフォルトの名無しさん:2008/01/28(月) 17:46:43
>>148
何か配列にトラウマでもあるのか
151デフォルトの名無しさん:2008/01/28(月) 20:41:00
>>145 じゃ例外じゃない何かを投げる。具体的には throw して catch。
152デフォルトの名無しさん:2008/01/29(火) 03:22:11
というかbreakされたかどうかのyield側の判別機構ってなかったのか。
できればつけて欲しいところだなぁ
153デフォルトの名無しさん:2008/01/29(火) 16:52:27
d言語でrubyのライブラリかける?
154デフォルトの名無しさん:2008/01/29(火) 18:10:50
>>153
みたことないが、Cとリンクできるオブジェクトを作れるならできるはず。
マクロとかがどうなるか疑問だが。
155デフォルトの名無しさん:2008/01/29(火) 18:13:34
>>152
いや、breakされたらそもそもyield側に戻ってこない。
156デフォルトの名無しさん:2008/01/29(火) 20:24:20
Dって共有オブジェクトファイル(.soとか.dll)つくれるの?
157デフォルトの名無しさん:2008/01/29(火) 20:46:14
なぜ Ruby スレで D
158デフォルトの名無しさん:2008/01/29(火) 22:58:18
:D
159デフォルトの名無しさん:2008/01/29(火) 23:22:52
160デフォルトの名無しさん:2008/01/29(火) 23:27:50
共有オブジェクトがつくれたらrquire "dl"で無理矢理使えるからね。
ところで1.9からdlの仕様がだいぶ変わったんだけど全くドキュメントがなくて
困った。いや、外部のドキュメントよりもrdocで埋め込んでほしい。
161デフォルトの名無しさん:2008/01/30(水) 01:05:01
>>152
そんなの普通は要らないと思うが、どうしてもやりたいなら
できないことはない。おすすめはしない。

def foo
 0.upto(10) do |x|
  begin
   f = true
   yield x
   f = false
  ensure
   return if f
  end
 end
end

foo do |x|
 p x
 break if x == 5
end
162129:2008/01/31(木) 01:22:00
>> "abcdef".scan(/(.).(.)/) {|*a| puts a.join(", ")}
a, c
d, f
=> "abcdef"
>> "abcdef".gsub(/(.).(.)/) {|*a| puts a.join(", ")}
abc
def
=> ""
誰だ、こんな腐れ仕様にしたやつは……。gsubもscanと同じと思っておもくそハマったやんけorz
163デフォルトの名無しさん:2008/01/31(木) 01:23:52
しまった、名前欄orz
164デフォルトの名無しさん:2008/01/31(木) 01:34:53
馬鹿自慢か
165デフォルトの名無しさん:2008/01/31(木) 02:15:30
>162
regexオブジェクト使うところは素直にmatchオブジェクトを渡せと言いたいところだよな。
この手の腐れ仕様けっこうあるよね。
166デフォルトの名無しさん:2008/01/31(木) 08:03:00
1.9ってこういう一貫性の欠如は改善するの?
167デフォルトの名無しさん:2008/01/31(木) 08:18:33
$ ./ruby1.9 -e ' %Q|abcdef|.gsub(/(.).(.)/) {|*a| p a}'
["abc"]
["def"]
$ ./ruby1.9 -e ' %Q|abcdef|.scan(/(.).(.)/) {|*a| p a}'
[["a", "c"]]
[["d", "f"]]
だそうだ。

$1, $2しか使ってないから気づかなかったな。
$&は両方"abc", "def"だな。
168デフォルトの名無しさん:2008/01/31(木) 08:22:31
教訓:gsubやscanのブロックパラメータに頼るべきではない
169デフォルトの名無しさん:2008/01/31(木) 08:41:54
これは一貫性がないというより
単にscanがきわめて特殊なメソッドなんだというべきだろう

「matchでいいじゃん」には同意する
170デフォルトの名無しさん:2008/01/31(木) 08:44:03
ドビックリ最大限の法則
171デフォルトの名無しさん:2008/01/31(木) 16:12:41
gsubだけじゃなくてscanもMatchDataにすりゃいいんだ
scanが渡す配列の最初にマッチ全体を入れてさえいれば[n]のアクセスで整合性がとれてたのに
もう1.9からは別物として作り直しちゃえよ
172デフォルトの名無しさん:2008/01/31(木) 17:24:08
1.9からは別物として作っているので、その程度の非互換は問題なかったはずなのだが、
すでに1.9.0をリリースしてしまっているが、
今からでも遅くないから変更してしまえという主張もありだと思うので、
その旨MLでレスするといいと思う
173デフォルトの名無しさん:2008/01/31(木) 17:27:30
いえーい、まっつん見てるー?
174デフォルトの名無しさん:2008/01/31(木) 18:07:12
Rubyは今のまま糞であり続ければいいよ
175デフォルトの名無しさん:2008/01/31(木) 20:21:04
MatzがPHPにけんかを売ってるとのことでこのスレッドに来ました
他のことなぞ気にせず粛々とやりたいことを実装し続けてればいいのに
176デフォルトの名無しさん:2008/01/31(木) 20:31:14
ボロクソに言う=喧嘩を売る、ではないと思うよ。
177デフォルトの名無しさん:2008/01/31(木) 20:55:17
Matz is nice, so we are nice.
178デフォルトの名無しさん:2008/01/31(木) 20:59:25
Matz is nice, we are so nice.
179デフォルトの名無しさん:2008/01/31(木) 21:05:10
RubyはPHPを相手にする程度の言語
180デフォルトの名無しさん:2008/01/31(木) 21:08:22
Rubyについて(アンチ専用) Part002
http://pc11.2ch.net/test/read.cgi/tech/1200210768/
181デフォルトの名無しさん:2008/01/31(木) 21:19:00
ここでいいよ
182デフォルトの名無しさん:2008/01/31(木) 23:09:41
>>171
scanをMatchDataにする場合、全体スキャンした後でイテレートすることになるん?
183デフォルトの名無しさん:2008/01/31(木) 23:18:01
Cアプリへの組み込み用スクリプトとして使おうかと思ってるんだけど、公式ドキュメントにCからの呼び出しについて全く記述がないんだけど、APIリファレンスとかないの?
184デフォルトの名無しさん:2008/01/31(木) 23:20:07
185162:2008/01/31(木) 23:56:51
>>182
??? >>171 は単に $~ をブロックパラメータとして渡せと言ってるだけだと思うが。
で、俺もそれに一票。
186デフォルトの名無しさん:2008/01/31(木) 23:57:30
Matz is not nice.
187デフォルトの名無しさん:2008/02/01(金) 00:52:55
うーん、RubyのC-APIってこういうのか。。。
公式ドキュメントとして、組み込みの手順を説明してたりってのはないのか。
例えば Python を組み込むときに使う Py_Initialize を Google で検索すると
リファレンスマニュアルがすぐに見つかるけど、
ruby_init で検索してもドキュメントらしきものは見つからず。日本で生まれたのに、
どうしてこんなにドキュメントが少ないんだろう?
RubyをCに入れるって事がマイナーな事なのか?


188デフォルトの名無しさん:2008/02/01(金) 01:08:09
189デフォルトの名無しさん:2008/02/01(金) 01:10:14
README.EXT.ja は読んだ?

...と思ったら、CにRubyを組み込むほうか。ない。

一応、「オブジェクト指向スクリプト言語Ruby」の 9.9 と、
「プログラミングRuby」の 21.7 が少しは参考になるかと。
190デフォルトの名無しさん:2008/02/01(金) 01:11:56
system("ruby hoge.rb");
191デフォルトの名無しさん:2008/02/01(金) 01:13:36
Rubyの初期化・実行
192デフォルトの名無しさん:2008/02/01(金) 01:16:49
>>187
ドキュメントなんてないよ
そんなのを書くぐらいなら本を書いて売るのがRubyのやり方
193デフォルトの名無しさん:2008/02/01(金) 01:27:48
純粋な質問なのだけど、「CにRubyを組み込む」ってどういうときに
使う?CでRubyを拡張ならよくやるのだけど。いや、CにRubyを
組み込めるのはシッテルガ。いまいち用途がピンとこないのよね。
194デフォルトの名無しさん:2008/02/01(金) 01:29:08
Cで書いてあるアプリのプラグインをRubyで書けるように、とか
195デフォルトの名無しさん:2008/02/01(金) 01:36:00
Ruby じゃなくて Python の例になるけど、
Civilization IV には Python が組み込まれていて、ゲームの進行やルール、チュートリアルの流れはそれで記述してある。
体験版をダウンロードすれば、なかに python の DLL とライブラリ一式が入ってるのが分かる。

3D グラフィックスツールの Blender やベクター画像ツールの Inkscape では
プラグインを Python で書くようになってるよ。
編集中のデータが入ったオブジェクトがプラグイン側の関数に引数として渡されるので、
好きなだけいじくり回してやれば良い。

196デフォルトの名無しさん:2008/02/01(金) 01:52:18
>>187
○○がしたい

ドキュメントない

コードを読んで把握

○○できた

で終わるので。
197デフォルトの名無しさん:2008/02/01(金) 01:56:16
String#s
String#sg
String#sc
ダサさが加速して行く…
198デフォルトの名無しさん:2008/02/01(金) 02:06:46
愕然としたね
199デフォルトの名無しさん:2008/02/01(金) 02:17:48
あんだけ普段、「名前は重要」って言っておいて
これはないだろw
200デフォルトの名無しさん:2008/02/01(金) 02:27:29
袋だたき撤回パターン
201デフォルトの名無しさん:2008/02/01(金) 02:28:16
できないからこそ言ってるんじゃないか
202デフォルトの名無しさん:2008/02/01(金) 02:39:09
何でクソ仕様大会になってんだ。俺にも言わせろ。
StringIO#stringにしたやつ出て来い。何でto_sにしなかったのか100万回説明してもらおう。
Webでmultipart使うとき面倒ったらありゃしない。
203デフォルトの名無しさん:2008/02/01(金) 02:40:36
>>197
え、こんなメソッドできたの?
マジで名前を見ても何をするのか全然分からんぞ。
204デフォルトの名無しさん:2008/02/01(金) 02:41:40
よその言語のこといえないじゃんな
205デフォルトの名無しさん:2008/02/01(金) 02:43:28
いやこれはMatzの釣りかもしれん
206デフォルトの名無しさん:2008/02/01(金) 02:44:05
207デフォルトの名無しさん:2008/02/01(金) 02:45:05
一番痛いのはこいつだけどwww
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/33554
208デフォルトの名無しさん:2008/02/01(金) 02:48:21
Airemixのなるせたんか。
この人も色々あれなんだよなあ。
209デフォルトの名無しさん:2008/02/01(金) 03:59:00
>>202
どういう風に面倒?
210デフォルトの名無しさん:2008/02/01(金) 05:46:09
>>179 は至言
211デフォルトの名無しさん:2008/02/01(金) 07:20:56
そして俺らはRubyを相手にする程度のプログラマか・・・
212デフォルトの名無しさん:2008/02/01(金) 07:36:12
>>187
公式のは見たことないなあ。
昔 C MAGAZINE に載ったのを見たことあるくらい。
http://shugo.net/article/cmagazine/3rd/
http://shugo.net/article/cmagazine/4th/
213デフォルトの名無しさん:2008/02/01(金) 08:19:20
CからRuby呼び出したことあるけど、ドキュメントが必要なほど難しいことでは
なかったな。初期化済んだらそのまんまメソッドの実装を呼ぶだけだったから。
214デフォルトの名無しさん:2008/02/01(金) 08:21:41
なんかCからRuby呼ぶってすげー逆な気がするんだがそういうニーズも有るんだな
215デフォルトの名無しさん:2008/02/01(金) 08:48:39
>>197
叩くよりもどんな名前がいいのか考えようぜ

>>202
あれはIOにto_sがないのに合わせてるんだろう
216デフォルトの名無しさん:2008/02/01(金) 08:55:41
>>187
vimのrubyインターフェースのソースが参考になったよ。
217デフォルトの名無しさん:2008/02/01(金) 09:03:32
>>215
>あれはIOにto_sがないのに合わせてるんだろう
IO#stringもないので、そんなことが理由になるわけがない。
218デフォルトの名無しさん:2008/02/01(金) 09:04:56
to_matzはありますか?
219デフォルトの名無しさん:2008/02/01(金) 09:50:57
>>197
すげええええええええええええええwww
220デフォルトの名無しさん:2008/02/01(金) 09:59:03
浮気相手の趣味に影響を受けるのはよくある話。
きっと相手はプロゴルファーなんだろう。
221デフォルトの名無しさん:2008/02/01(金) 12:01:18
雲を裂き嵐を呼んで夢を勝ち取る人かな
222デフォルトの名無しさん:2008/02/01(金) 14:31:09
>>202
> Webでmultipart使うとき面倒ったらありゃしない。
StringになったりStringIOになったりすることなんてあったっけ?
TempfileになったりStringIOになったりはあっても。
223デフォルトの名無しさん:2008/02/01(金) 15:31:00
>>193
Rubyなら、RPGツクールXP、VX か
本体でできない拡張に使われてる。
標準でできない、無限スクロールを実装したり、
あげくは、戦闘シーンを標準のものを使わず自前で実装したり。

別の言語だが、組み込みでよくつかわれる Lua なんかは、
FarCryというFPSで使われていた。
メニューなどのUI の 定義や、パラメーターの設定など。

ゲームだと Rubyは聞かないが、組み込み用にスクリプト言語がつかわれることが多い。
224デフォルトの名無しさん:2008/02/01(金) 15:41:24
DelphiにDMonkey(JScript)エンジン組み込んでアプリをユーザーに弄らせるというのはよくやるな。
RubyだとApolloでできるらしいが。
OOoやCivilization4はマクロ言語としてPython搭載だったか。
225デフォルトの名無しさん:2008/02/01(金) 17:57:43
変に独自言語搭載されると覚えるのだるいしな。
226デフォルトの名無しさん:2008/02/01(金) 18:03:40
組み込み系はもうちょっとドキュメント周りを整備して普及に努めたほうがいいかもな。
マクロ書く為に覚えればその延長で使うようになるかもしれないし。
227デフォルトの名無しさん:2008/02/01(金) 18:45:52
>>225
ウィンドウマネージャにlisp構文のスクリプト積むのやめて欲しい
228デフォルトの名無しさん:2008/02/01(金) 20:29:55
そういや1.9からRubyのスレッドってネイティブになった?
229デフォルトの名無しさん:2008/02/01(金) 23:17:28
> >222
multipartとそうじゃないのを同一視して受け取ってます。
こんなことやってるんだけど、他に良い方法あります?
@cgi = CGI.new
@cgi.content_type =~ %r|multipart/form-data| ? @cgi[key].string : @cgi[key].to_s

そういやTempFileの時の分岐もいるわな……
230デフォルトの名無しさん:2008/02/01(金) 23:26:20
StringIOにto_sをつければいいだけじゃねーの?
231デフォルトの名無しさん:2008/02/01(金) 23:44:08
>>228
なった
232デフォルトの名無しさん:2008/02/01(金) 23:53:55
>>231
拡張モジュールでRubyのスレッド以外から、RubyのAPIじっこうしても
大丈夫?
233デフォルトの名無しさん:2008/02/02(土) 07:49:12
>>230
だからそれを標準でやってくれよという話ダロ
よくよめ
234230:2008/02/02(土) 10:43:38
>>233
標準でやるべきというのに異論はないが

>>229みたいな条件分岐がたくさんあって面倒だというなら、
自前で拡張するのも手段としてはありじゃないの?
235デフォルトの名無しさん:2008/02/02(土) 14:24:40
だから“クソ仕様”だって。
matzも名前大事とか言いながらこれだからな。どうしようも無いな。
236デフォルトの名無しさん:2008/02/02(土) 14:30:33
>>235
ERBのresultもto_sであるベッキー?
237235:2008/02/02(土) 15:55:20
erb使ってないからシラネ。
erb自体がクソな感じがするので触ってない。自分でテンプレートエンジンでっちあげたし。

ただ、
・プロパティ的/定数的: to_sが良い
・メソッド的/手続き的: resultとかでいいんじゃね?
とは思う。
238デフォルトの名無しさん:2008/02/02(土) 22:34:57
to_sとか便利だよねぇ。びっくりした
239デフォルトの名無しさん:2008/02/02(土) 23:38:17
>>229
CGI 自体が半ば deprecated 気味だからね。代替ないから残ってるけど。
改良して貢献すれば喜ばれると思うよ。

ちなみ俺はこうしてる。これで Tempfile と StringIO の分岐はいらない。
@cgi.multipart? ? @cgi[key].read : @cgi[key]
240デフォルトの名無しさん:2008/02/02(土) 23:46:25
>>217
>IO#stringもないので、そんなことが理由になるわけがない。

IO#string(またはIO#to_s)に何をして欲しいと思ってる?
241デフォルトの名無しさん:2008/02/02(土) 23:50:12
よくわからんが、すでにあるし、またディープに組み込まれているto_sという名前を
使わなかった点を言ってるんじゃないのか?>>202
242デフォルトの名無しさん:2008/02/02(土) 23:56:21
>>240
>IO#string(またはIO#to_s)に何をして欲しいと思ってる?
文字列を返す。それだけ。
おまえは何が言いたいんだ?
243240:2008/02/03(日) 00:00:56
>>242
どういう文字列を返して欲しいと思ってるかが重要なんだよ。
Stringのインスタンスならなんでもいいの?
244デフォルトの名無しさん:2008/02/03(日) 00:01:59
>242
ふむ。
じゃあ無条件に""を返してもいいんだな? Stringオブジェクトには違いないぞ。
それが嫌なら「IOが返すべき文字列」ってのを定義してみな。
245244:2008/02/03(日) 00:02:44
……煽りでケコーンするなんて何という恥
死のう 舌を噛んで死のう
246デフォルトの名無しさん:2008/02/03(日) 00:04:07
IOをくださ〜いおぅおう
IOをくださ〜い
247デフォルトの名無しさん:2008/02/03(日) 00:07:45
IOの話じゃねーだろ馬鹿
248デフォルトの名無しさん:2008/02/03(日) 00:08:03
>>243,244
なんでIOになるんだ?今はStringIOの話だろ。
StringIO#string の名前は String#to_s にすべきだったという話をしてるのに、
to_sは空文字を返してもいいとかバカじゃねーの。>>202をまず読めや。
249デフォルトの名無しさん:2008/02/03(日) 00:10:23
>>243
>どういう文字列を返して欲しいと思ってるかが重要なんだよ。
そんなもの、StringIO#stringと同じ文字列に決まってるだろ。
これだからゆとりは。
250デフォルトの名無しさん:2008/02/03(日) 00:14:03
to_sってのは型の変換に用いるもんでしょ。つまり、(Integerインスタンス).to_sとか

StringIOってのはストリングのIO化なんだから、IOをto_sしちゃったらおかしいでしょ。
251240:2008/02/03(日) 00:14:44
>>248,249
落ち着け、おれはオサーンだ。

StringIO#stringは確かにto_sでもいいかもしれない。だが、
お前が言ってるようにto_sはとても広く使われているメソッドだ。
StringIO#to_sがあるならIO#to_sもあるのが自然だと考える人も
多い。>>215はそれを言ってる。本当にmatzがそう考えたかどうかは
知らないけどね。

んで、IOでStringIO#stringと同じような挙動を実現しようとしたら、
何をしなきゃ行けないか考えてみよう。事実上無理なことがわかるから。
252デフォルトの名無しさん:2008/02/03(日) 00:25:20
一応言っておくと>>241>>242は別人だぞ、と
>>251は、:なるほど。でも>>215は端的すぎるんじゃね?とか
253デフォルトの名無しさん:2008/02/03(日) 00:50:03
だからIOじゃねーだろアホ
254240:2008/02/03(日) 00:52:15
>>252
おれも>>215ではないので、推測なんだけどね。

答えを言っておくと、読み込んだ文字列を全部保存しとかなきゃ
いけなくて、事実上Rubyでサーバとか書けなくなってしまうわけ
です(書いてもいつかNoMemoryErrorになってしまう)。

そもそも、StringIO#stringは特段の事情がなければ使わない方が
いいと思うよ。String"IO"なんだからIOらしくreadとかしとこう。


>>250
その論理でObject#to_sが説明できるのかな。
255デフォルトの名無しさん:2008/02/03(日) 01:01:24
今北産業
誰か三行でまとめて
256デフォルトの名無しさん:2008/02/03(日) 02:28:56
Rubyのto_sは
そもそも定義があいまいなので
おかしいとかおかしくないという以前の問題
257デフォルトの名無しさん:2008/02/03(日) 03:12:17
IOがなんでもto_sできたら怪しいけど、
StringをIO化したIOはto_sできてもいいんじゃね。
まあ、to_sじゃないからダメとは思わんけど。

>>235は「matzどうしようもない」とか言う前に
matzに意見を伝えて議論すべきだな。
政治家や芸能人と違ってMLで直接話せる相手だし。
258235:2008/02/03(日) 03:28:32
>251
IO#to_s は IO#readと同一視でも構わん気がする。
どうせmatzもセキュリティとか気にして設計しとらんだろうに。

逆にStringの方にreadを用意してもいいんだけどなぁ……。
matzは変なところばかり手を入れるんだから、ついでにここもやってくんないかな。

>254
>そもそも、StringIO#stringは特段の事情がなければ使わない方が
リファレンスのメソッドの筆頭にstringがあるのよ。
もし使わない方が良いなら、あのクソリファレンスをどうにかしないとな。


良く良く考えてみたら、フィールドによって戻り値がバラバラのCGI#[]の
仕様が腐ってんだよなぁ…………。PHPに文句付けるヒマがあったら
CGIどうにかしろよ。matz。
259デフォルトの名無しさん:2008/02/03(日) 03:54:08
CGI.rb作ったのは違う人だしなあ
ソース見るとわかるが「Ruby学んで超楽しい」時期に書かれたコードだ

てか、作った本人も含めて現行Rubyの癌だとはみんな認識してるはず
置き換えとなるモジュールがないだけの話
260デフォルトの名無しさん:2008/02/03(日) 04:17:07
PerlのCGI用モジュールってどんなんなんだろ
参考にならないかな
261デフォルトの名無しさん:2008/02/03(日) 04:36:37
>>258
Webrick::CGI

PerlのCGIはcgi.rb以上にカオス
262デフォルトの名無しさん:2008/02/03(日) 04:44:33
Webrickはプロクシサーバの作り方しか載ってねえよ

というか、CGI.rbでやってることと対比させた解説ページ誰か作ってくれ
CGI.paramsに該当することが探せなくて挫折した覚えがある
263デフォルトの名無しさん:2008/02/03(日) 04:52:36
>259
癌だと判っているのにもかかわらず、放置したままPHPをdisってるからたちが悪い。
1.9で少しはマトモになってると思ったんだけどなぁ。cgiはとっととobsoletedにしてほしい。

>261
Webrick::CGIはドキュメントが……良い感じだとは思うけどね。
264デフォルトの名無しさん:2008/02/03(日) 04:55:59
セッション管理が標準でできるようになったらWebrick::CGI使ってあげるよぉ
265デフォルトの名無しさん:2008/02/03(日) 05:30:46
>>264
それ以上になると、フレームワークつかえとしか
266デフォルトの名無しさん:2008/02/03(日) 05:49:54
セッション管理ごときでなんでフレームワークが必要になるほうがおかしい
267デフォルトの名無しさん:2008/02/03(日) 05:56:09
>>250
>to_sってのは型の変換に用いるもんでしょ。つまり、(Integerインスタンス).to_sとか
>StringIOってのはストリングのIO化なんだから、IOをto_sしちゃったらおかしいでしょ。

こいつほんとにバカだな。
StringIOをStringに変換するんだから、to_sで問題ないだろ
今議論してるのはStringIOであってIOじゃないって何回いったらわかるのか
だれもIO#to_sをつくれといってないだろ。IO#to_sなんかいらん、StringIO#to_sの話をしてる

>>251
>StringIO#to_sがあるならIO#to_sもあるのが自然だと考える人も
>多い。
そんなのお前だけ。子クラスでメソッドを追加したら親クラスにも追加しなきゃいけないと考えるほうがどうかしてる。
ほんとバカばっかだな。
268デフォルトの名無しさん:2008/02/03(日) 06:00:25
>>266
では、自前で組めばいいのでは?
269デフォルトの名無しさん:2008/02/03(日) 06:09:34
>>254
>
>答えを言っておくと、読み込んだ文字列を全部保存しとかなきゃ
>いけなくて、事実上Rubyでサーバとか書けなくなってしまうわけ
>です(書いてもいつかNoMemoryErrorになってしまう)。
これなんの話?StringIO#stringと何の関係もないよね。


>そもそも、StringIO#stringは特段の事情がなければ使わない方が
>いいと思うよ。String"IO"なんだからIOらしくreadとかしとこう。
本気でいってるのかね。StringIOはIOに見せかけたStringであって、Stringに見せかけたIOじゃない。
だいたい、seekとか関係なしに文字列を得るためにStringIO#stringがあるのに、
なんでreadとか使わないといけないの?アホか。
sio = StringIO.new
sio.write('foo')
sio.write('bar')
sio.read #=> ""
sio.seek(0)
sio.read #=> "foobar"
270デフォルトの名無しさん:2008/02/03(日) 09:55:55
>StringIOはIOに見せかけたStringであって、Stringに見せかけたIOじゃない。

IOに似てるならIOみたいなもんだよ。アヒルのように動いてアヒルのように鳴くなら
そいつはアヒルだ!
271デフォルトの名無しさん:2008/02/03(日) 10:03:54
StringIOでreadつかう馬鹿はいないだろ

>>254除いては。
272デフォルトの名無しさん:2008/02/03(日) 10:11:16
なるほど問題理解
StringIOのカッコいい使い方指南をすればいいんだな
「StringがIOになりましたって何じゃらほい」という疑問が根底にあると見た
273デフォルトの名無しさん:2008/02/03(日) 10:12:04
StringIO#string= なんてのもあるんだな。
アクセサだったのか。
274デフォルトの名無しさん:2008/02/03(日) 10:37:18
StringIO#readはIO#readを使ってる場所で代替で使われるものだろ
明示的に使うもんじゃないだろ
ファイルを読み込むプログラムだけど文字列を代入することもできるよという場合とか
275デフォルトの名無しさん:2008/02/03(日) 11:04:06
>>274
明示的に使うものかどうかなんて、今はまったく関係ないだろ
>>202>>229読めや、そこのゆとり
276デフォルトの名無しさん:2008/02/03(日) 11:07:31
「面倒だから。短くかけるから」ってだけ批難してるなら
golfscriptでもやってろよ。一貫性のほうが重要だろ。

自分の理屈も説明できずに受入れられると思ってるニートがいて困るな
277デフォルトの名無しさん:2008/02/03(日) 11:09:53
readメソッドの話をしているということにも気づけないほど何を怒ってるのかわからんな
278デフォルトの名無しさん:2008/02/03(日) 11:16:31
いやもうメーリングリストに書けよ
279デフォルトの名無しさん:2008/02/03(日) 11:19:06
>>276
Tempfileの分岐考えたら>>239の方が短いんじゃ?
280デフォルトの名無しさん:2008/02/03(日) 11:24:54
短いからいいという話をするなという主張なのでは
281デフォルトの名無しさん:2008/02/03(日) 11:28:02
Zlib圧縮データをInflateして返って来たバイナリデータを
StringIOにしてreadしてunpackとかよくやってるなあ
文字列そのままだとファイルポインタが無いから扱いづらいし
282デフォルトの名無しさん:2008/02/03(日) 11:32:27
>>258
> 良く良く考えてみたら、フィールドによって戻り値がバラバラのCGI#[]の
> 仕様が腐ってんだよなぁ…………。PHPに文句付けるヒマがあったら
> CGIどうにかしろよ。matz。

だから使う側が >>229 とか >>239 とかしてて、
その時にメソッド名に「一貫性」が無くて困ってるわけね。

ようやく俺にも状況が見えてきた。
283デフォルトの名無しさん:2008/02/03(日) 11:34:07
意味が違うものに違う名前を割り当てるのは当然。名前重要。
284デフォルトの名無しさん:2008/02/03(日) 11:43:30

Ruby開発者として発言しているとき:Ruby教祖まっつん

個人的なblogで個人的な発言をしているとき:モルモン教徒まっつん

名前重要
285デフォルトの名無しさん:2008/02/03(日) 11:45:41
>>276
>「面倒だから。短くかけるから」ってだけ批難してるなら
だれがそんな非難してるの。だからゆとりなんだよ。

>自分の理屈も説明できずに受入れられると思ってるニートがいて困るな
今までの流れをまったく理解せずに話をすり替えようとしているゆとりがいて困るな
286デフォルトの名無しさん:2008/02/03(日) 11:47:27
>>285
すまん。結局君は何がいいたいのか明示していただけないだろうか?
今まで発言とかしてないんだが、さすがにわけわからなくなってきた
287デフォルトの名無しさん:2008/02/03(日) 11:48:14
>>285
Rubyについて(アンチ専用) Part002
http://pc11.2ch.net/test/read.cgi/tech/1200210768/

遊び場はこちら
288202:2008/02/03(日) 13:53:00
おお、なんか話が進んどりますな。……グルグル回っている気もするけど。
おいらの結論としては
・フィールドを統一的に扱えないCGIはクソ仕様。
 - kind_of?とかソース記載の条件で分岐するのはオブジェクト指向らしくないとか
  言っときながら、それをせざるを得ない仕様になってるのはどういうことよ。
 - セキュリティとかオーバーフローの関係でTempfileとかを使いたかったら、
  統一的に&安全に扱えるラッパークラスぐらい用意しとけと。
・StringIOはStringとIOの性質を合わせ持つのだから、to_sぐらい用意しておいた方が
 親切だよね。多態もできるし。名前重要とか言ってるクセに、ろくに考えて無いだろ。matz
・IOはオーバーフロー(メモリ消費)のリスクもあるから、to_sの実装に慎重になるのも理解できる。

つまりPHPをdisるヒマがあったらcgi絡みをどうにかしろと。
Webrick::CGI移行でもいいけど、それならドキュメントをどうにかしろよ、と言いたいよな。
289デフォルトの名無しさん:2008/02/03(日) 13:57:11
>>288
>Webrick::CGI移行でもいいけど、それならドキュメントをどうにかしろよ、と言いたいよな。
その前にセッションなんとかしろよ。cgi.rbから移行したくてもできないだろ。
290デフォルトの名無しさん:2008/02/03(日) 14:04:42
>>288
>・IOはオーバーフロー(メモリ消費)のリスクもあるから、to_sの実装に慎重になるのも理解できる。

IOにto_sはいらん。誰もそんなもの必要としてない。いるのはStringIO#to_s。
『StringIO#to_sがいるならIO#to_sも必要』とかほざいてるのはゆとり。
291デフォルトの名無しさん:2008/02/03(日) 14:08:27
ドキュメント上は、StringIOは
IOのように扱えるString(Pseudo I/O on String object.)であって
Stringのように扱えるIOではないようだ。

なら StringIO#to_str (Stringを期待する箇所で呼ぶと規定されているメソッド)が
あるべきだな、と思った。
292デフォルトの名無しさん:2008/02/03(日) 14:10:30
>>276
>「面倒だから。短くかけるから」ってだけ批難してるなら

だれが非難してるの?ねえ誰がどこで非難してるの?
293デフォルトの名無しさん:2008/02/03(日) 14:15:34
>>292
「もしそうなら」という言い方はいわばif文であって、そうかもしれないしそうでないかもしれない言葉を
受けての言い方だから、その質問に対する回答は無いだろう。
そこで回答があったら、絶対に真とわかってる値をわざわざif文で判定するような文を書いていたことになる。
294デフォルトの名無しさん:2008/02/03(日) 14:28:31
>>288
>統一的に&安全に扱えるラッパークラスぐらい用意しとけと。
>>239 で終了してる。マニュアルにも同様のコードが載っている。
ttp://www.ruby-lang.org/ja/man/html/cgi.html#multipart.3f
multipart? とそうでないのを統一的に扱うのはセキュリティ上の問題が
あったような気がするがよく覚えてない。すまん。

>StringIOはStringとIOの性質を合わせ持つのだから、
>to_sぐらい用意しておいた方が親切だよね。
そこは人によって意見の分かれるところ。俺はどっちでもいいと思う。
「to_s であるべき派」は「自分の直感にそぐわない」以外の
合理的な理由を用意した上で、くだまいてないで ML 行って
議論しろ。
295デフォルトの名無しさん:2008/02/03(日) 14:33:28
ここ数スレで最もトンデモぽい流れになってる気がするのは俺だけか
296240:2008/02/03(日) 14:35:40
盛り上がってるなあ。おれに当てられたレスに返事だけ。見落としたらスマソ

まず、おれは IO#to_s を実装せずに StringIO#to_s だけ実装するのは
ありだと思ってるよ。
おれは >>217 に「それは無理な話」と言いたかっただけ。

>267
>そんなのお前だけ。子クラスでメソッドを追加したら親クラスにも
>追加しなきゃいけないと考えるほうがどうかしてる。

ちょっと違うんだな。
まず、StringIOは「StringをIOに見せかけるラッパ」であって、
「StringとしてもIOとしても使えるオブジェクト」として設計されてない。
だからIOにto_sがない以上、StringIOでもto_sを実装する理由がなかった。
ゆえに現状のStringIOはto_sがない。という話なんだよ。


>269
>StringIOはIOに見せかけたStringであって
だから IO として使えばいいんだよん。

>seekとか関係なしに文字列を得るためにStringIO#stringがあるのに
もちろん、いつでもなんでもStringIO#stringのかわりに
readしろとは言わないよ。今回のcgi.rbではseekする必要ないでしょ。
あと、cgi.rbではTempfileまたはStringIOが得られる。
この両者の特徴は「IOに見せかけている」こと。
なので(今回の例では)IOらしくreadすればいいよ、と。

あと、StringIO#stringは「seekとか関係なしに文字列を得るメソッド」
というより「StringIOの元になっている文字列を得るメソッド」だと思う。
297デフォルトの名無しさん:2008/02/03(日) 14:39:53
>>291
>IOのように扱えるString(Pseudo I/O on String object.)であって
Pseudo I/O on String object はそのまま読めば
「IOのように扱えるString」ではなく「Stringに基づいた疑似IO」だろう。
つまり、StringでもIOでもなく、IOみたいなもの。
to_strが必要な理由にはならないと思うぞ。
298デフォルトの名無しさん:2008/02/03(日) 15:06:44
>294
マニュアルに載ってるよ…………。しかもサイズチェックも無しかよ。
大きなサイズでTempfileを吐き出す意味があまりねぇ。
(サーバー側の制限・バッファオーバーフローを回避できるメリットはあるけど)
ここまで支離滅裂だと嗤うしかないですな。CGI。

>296
どうせ何も考えずに設計しているんだろうけど、StringIO#stringが中途半端すぎるんだよね。
IOとしてしか使わせないならばStringIO#readで統一すべきだし、Stringにもアクセスさせたいの
ならばStringIO#to_sを実装しない根拠が薄くなる。
あと、StringIO#to_sが欲しいのはStringと統一的に扱いたいから。別に一度StringIO#read
でStringにしてやるだけでいいんだけど…………やっぱりクソ仕様だよね、CGI。
299デフォルトの名無しさん:2008/02/03(日) 15:14:43
>>288
それCGI.rbとかWebrickCGIが糞なんじゃなくて
もともとhttpの仕様が糞なんだからどうしようもないじゃん
パラメータ毎に型情報持てないんだよ
300デフォルトの名無しさん:2008/02/03(日) 15:41:48
>>298
> IOとしてしか使わせないならばStringIO#readで統一すべきだし、Stringにもアクセスさせたいの
> ならばStringIO#to_sを実装しない根拠が薄くなる。

方針は「IOとして使わせたい」。
StringIO#to_sがない理由は、内部で呼ばれることもあるto_sでは、疑似IOにし
てはStringとの結び付きが強くなりすぎるだろう、ということ。
StrignIO#stringがあるのは、下位層の情報を完全に隠蔽することを目標にして
いるわけじゃないから。IO#filenoのように、必要ならばアクセスすればよい。

> あと、StringIO#to_sが欲しいのはStringと統一的に扱いたいから。

cgi.rbに関しては、Tempfileもある以上StringIOとStringだけ同じにしても無
意味なので、>>239でFAということで。
301202:2008/02/03(日) 15:43:51
>299
httpがクソなのはわかるんだけど、役に立たない対策をして使い勝手を落としているのは
cgiがクソだからだと思うけど?
>294 みたいに危険なバッドノウハウをマニュアルに載っけているのなら、そもそも何のために
対策してるのか判らんし。

Webrick::CGIは…………あんまり使ってないからわからん。
ドキュメントをどうにかしてもらわんとなぁ。
302202:2008/02/03(日) 15:48:40
>300
真面目にやるんだったら、フィールドを統一的&安全に扱えるラッパークラスを用意するべきだな。
>239だと超巨大ファイルの扱いでちょっと危険。
自分のコードは面倒なんでそこまでやらんけどな……
303デフォルトの名無しさん:2008/02/03(日) 16:01:20
>>302
> >239だと超巨大ファイルの扱いでちょっと危険。
なら、CGI#paramsがStringじゃなくてStringIOを返すようにでもすりゃいいだろ。

class MyCGI < CGI
  def params(*args)
    String===(par=super) ? StringIO.new(par) : par
  end
end

で、無引数のreadは使うな、と。
304デフォルトの名無しさん:2008/02/03(日) 16:04:48
IO#to_sなしでStringIO#to_sだけ作る選択肢はない。
なぜならIO#to_sはすでにあるから。

$ ruby -e 'a, b = IO.pipe; p a.to_s'
"#<IO:0x100300c4>"

正確にはObject#to_sな。
StringIOの時だけ元の文字列を返すのはキモすぎ。
やるならIO#to_sもあわせて作るべき。無理だが。
305デフォルトの名無しさん:2008/02/03(日) 16:14:18
別にIOのサブクラスじゃないし
306デフォルトの名無しさん:2008/02/03(日) 16:19:49
>フィールドを統一的&安全に扱えるラッパークラス
multipartじゃないときはただの文字列で十分じゃん。
そんな重厚な設計はうざいよ。
307デフォルトの名無しさん:2008/02/03(日) 16:21:04
>>305
Stringのサブクラスでもないな
308202:2008/02/03(日) 16:34:41
>306
matzは“Webアプリは危険だ”“「おかしなコードを書くことを助長する言語」”とdisってるんだから、
Webに使うcgiは重厚でも安全な設計にすべきだと思うが?
まあ、matzのダブルスタンダードはいつものことだが。
309202:2008/02/03(日) 16:37:06
>304
そんなこと言うと、String#to_sの挙動も否定することになっちゃうけど?
まあ、to_s自体がグダグダなんで、意味付けを追求する意味はないと思うけどね。
310デフォルトの名無しさん:2008/02/03(日) 16:37:29
stringなんて名前にするくらいならto_sでよかったよ
311デフォルトの名無しさん:2008/02/03(日) 16:38:08
http://anond.hatelabo.jp/20080203092650
誰だよこんなキモい記事書いたのw
312デフォルトの名無しさん:2008/02/03(日) 16:44:44
うーん。

rubyには悪いところもいいところもあって、まだまだ発展途上だなっという気はするが・・・
ただ、どこそかしこで暴れるアンチが非常にキモイな・・・
313デフォルトの名無しさん:2008/02/03(日) 16:48:16
>>312
それ、よく知らずにチラッと見に来た初心者や未経験者が
「ああ、そうなんだあ」とでも思ってくれることを期待して
真逆のことをしれっと書いてるの?
314デフォルトの名無しさん:2008/02/03(日) 16:52:18
>>312
長期にわたりRubyを使用し続けると、アンチになる可能性が高まりますので、
短期の使用をおすすめいたします。
315デフォルトの名無しさん:2008/02/03(日) 16:55:04
そういや[ruby-dev:33564]でcgi見直し提案来てるな。
誰も反応してないけど……
316デフォルトの名無しさん:2008/02/03(日) 16:56:47
現実を見ないという解決策を選択します
317デフォルトの名無しさん:2008/02/03(日) 17:08:08
>>313-314
さて、いまからRubyやろうかっと思ってる一見さんなんだが、Rubyのどういうところが最悪なのかkwsk
318デフォルトの名無しさん:2008/02/03(日) 17:10:28
>>317
これからRubyやろうかと思ってる一見さんが
2chのしかも個人のレスなんかに左右される気満々ではいけません。
319デフォルトの名無しさん:2008/02/03(日) 17:12:55
>>318
・・・
左右される気はないんだが、事前に情報をしっとこうと思ったんだが・・・だめなん?
320デフォルトの名無しさん:2008/02/03(日) 17:14:27
だめです。
321デフォルトの名無しさん:2008/02/03(日) 17:16:04
Ruby < 信じれば救われる!
322デフォルトの名無しさん:2008/02/03(日) 17:19:07
もっといい言語が他にいくらでもある。
323デフォルトの名無しさん:2008/02/03(日) 17:20:29
そのときその瞬間にロクでもないアンチか信者が常駐状態だった、
という悲劇はわりとよくある話。
324デフォルトの名無しさん:2008/02/03(日) 17:21:11
>>309
String は別に Object に似せようとはしていないが
StringIO は IO に似せようとしている、という大前提が違う
325デフォルトの名無しさん:2008/02/03(日) 17:24:58
それはstringがいらないという主張であるが、結局の所、
stringなんて名前にするくらいならto_sでいいじゃんってことになる
326デフォルトの名無しさん:2008/02/03(日) 17:29:24
>>325
日本語でおk
327デフォルトの名無しさん:2008/02/03(日) 17:30:56
IOに似せる→stringなんてメソッドいらない
string気持ち悪い→to_sでいいじゃん
328デフォルトの名無しさん:2008/02/03(日) 17:41:12
>>308
>Webに使うcgiは重厚でも安全な設計にすべきだと思うが?
安全かつ、簡単なことは簡単にできる設計がベストだろ。
だからこそ、multipartのときはただの文字列で、
multipartの時はIOのようなものが来るようになってる。

要するに、multipartを使う奴は面倒を押しつけてるんだよ。
329デフォルトの名無しさん:2008/02/03(日) 17:42:34
訂正>>328
×multipartのときはただの文字列で、
○multipartじゃないときはただの文字列で、
330デフォルトの名無しさん:2008/02/03(日) 17:47:04
>>327
>IOに似せる→stringなんてメソッドいらない
あってもいいだろ。File#pathみたいなもんだ。

>string気持ち悪い→to_sでいいじゃん
俺の感覚ではto_sのがキモイ。勝手に型変換すんな。
331デフォルトの名無しさん:2008/02/03(日) 17:51:58
>勝手に型変換すんな。
いや、したくてするんだがw
332デフォルトの名無しさん:2008/02/03(日) 18:02:16
p StringIO.new("abcd") #=> "abcd"
なんてキモすぎだろ。常考
333デフォルトの名無しさん:2008/02/03(日) 18:04:49
それはpやputsがto_sを呼んでるだけなのでは…
334デフォルトの名無しさん:2008/02/03(日) 18:06:11
誰がそんなことを望んでるの?
335デフォルトの名無しさん:2008/02/03(日) 18:06:36
cgi.rb は多少手を入れた程度じゃどうしようもないし、
大きく手を入れるんだったらパッチをつけないと議論できないからなぁ。
336デフォルトの名無しさん:2008/02/03(日) 18:07:34
木を見て森を見ず vs. 森を見て木を見ず
337デフォルトの名無しさん:2008/02/03(日) 18:08:01
>>332
どうしてもやるならStringIO#inspectも定義すべきだね

>>333
to_sはそういう風に使われるものだから下手に定義するなってことだろう
338デフォルトの名無しさん:2008/02/03(日) 18:09:03
inspect定義しちゃいけないのかw
339デフォルトの名無しさん:2008/02/03(日) 18:14:35
>>331
してほしくない人もいるってことだ。
お前は "foo" + 1 を勝手に "foo1" にして欲しい派?
もしそうならお前は今の Ruby に向いてない。
340デフォルトの名無しさん:2008/02/03(日) 18:20:14
ところで、cgi.rbがらみでStringIO#to_sを主張するやつは
なぜTempfile#to_sの方は主張しないの?
341デフォルトの名無しさん:2008/02/03(日) 18:25:24
「勝手に型変換」はto_strじゃないのか
342202:2008/02/03(日) 18:38:19
>340
リファレンス見ると
StringIO: IO と同じインタフェースを持った文字列クラスです。
  --> 本質は文字列クラス
IO: IO クラスは基本的な入出力機能を実装します。
  --> 本当は文字列関係ありません。(なぜかIO#readで文字列を吐き出せるけど)
だけど?

まあ、おいらとしてはcgiクソという結論なんであんまり興味なくなったというのが本音。
343202:2008/02/03(日) 18:42:12
>333
pが呼んでいるのはinspectだと思う。
putsとprintはto_sだね。
344デフォルトの名無しさん:2008/02/03(日) 19:02:17
>>342
>StringIO: IO と同じインタフェースを持った文字列クラスです。
これはマニュアルが間違いだな。
文字列クラスだとしたら、+だのgsubだの何もかもが足りない。
あと、英語ではちゃんと "Pseudo I/O on String object" になってる。

>IO: IO クラスは基本的な入出力機能を実装します。
>  --> 本当は文字列関係ありません。(なぜかIO#readで文字列を吐き出せるけど)
これはさすがにいちゃもんだ。IOは文字列の入出力機能を提供するものだよ。
345デフォルトの名無しさん:2008/02/03(日) 20:07:01
>344
>これはマニュアルが間違いだな。
あいかわらずリファレンスは酷い、つうことか。

>これはさすがにいちゃもんだ。IOは文字列の入出力機能を提供するものだよ。
いや、IOて文字列よりももうちょっと抽象化の進んだものじゃね?
あくまでストリームなんだから、中身は何でも良いはずだよ。
文字列として成立しないバイナリも処理できる訳だし。
#Windowsだとbinmodeを設定する必要あるけど。
346344:2008/02/03(日) 20:32:53
>>345
>あいかわらずリファレンスは酷い、つうことか。
まあでも、中を見ればStringIOがStringに似せようとしてないことくらい
普通はすぐわかるから、些細なことだとは思う。
仕様書じゃないんだから、厳密すぎる表現を使われても読みにくくなるしね。

>あくまでストリームなんだから、中身は何でも良いはずだよ。
入出力が文字列になるストリーム、という意味。
任意のオブジェクトを流せるストリームではないと。
文字列というか、Stringで表現できるもの、と言うべき?
347デフォルトの名無しさん:2008/02/03(日) 21:37:37
ていうか、StringIOの基本コンセプトはシェルでいうところの

LIST=`ls`

だろ
出力を変数に格納する処理
348デフォルトの名無しさん:2008/02/03(日) 22:08:31
StringIO#string= を StringIO#to_s= にしろとな。
キモすぎるぞそれは
349162:2008/02/03(日) 22:18:18
cgi.rb がクソと言うやつは、どのような設計ならば素晴しいか具体的に述べてくれ。
(いや、煽りじゃなくてな。MLあたりで提案しないと状況は動かんとは思うが、それをやれとは言わん)
最近本格的にperlから乗り換え始めたんで、CGI.pm のクソさ加減から劇的に改善されたことしか理解できないのよ。
350デフォルトの名無しさん:2008/02/03(日) 22:22:34
>348
誰もそんなことを言っていないぞよ
351202:2008/02/03(日) 22:25:51
>349
Webrickを見たけど、あっちの方がずいぶんまともな設計じゃない?
使ってないから何ともいえんけど。
でも、あれも更新止まっちまってる感じなんだよなぁ。
352デフォルトの名無しさん:2008/02/03(日) 22:49:43
353デフォルトの名無しさん:2008/02/03(日) 22:55:28
Webrick::CGIはちょっとしたCGIでよく使うけどいいよ。
WEBrick::HTTPResponse や WEBrick::HTTPRequest を見ないといけないうえに、
時々ソースまで見ないといけないのがネックだけれど。
354デフォルトの名無しさん:2008/02/03(日) 22:56:31
ソースまで見ないといけないのはRuby全般に当てはまる
355デフォルトの名無しさん:2008/02/03(日) 22:58:04
ネット関係のモジュールはソース見つつ作ると面白いことができるな
356デフォルトの名無しさん:2008/02/03(日) 23:00:02
WEBrickは読みやすいんだけどそれがドキュメントが無い原因の一つなのかも…
357デフォルトの名無しさん:2008/02/03(日) 23:14:45
>>355
初心者スレで見たんだが

require 'net/http'
uri = URI.parse('http://www.2ch.net/')
response = Net::HTTP.start(uri.host, uri.port){|http|
http.head(uri.path)
}
p response.code_type == Net::HTTPOK
p response.is_a?(Net::HTTPOK)

これ両方ともtrueなんだよな
Net::HTTPOK使うのなんて初めて見たぞ
358デフォルトの名無しさん:2008/02/03(日) 23:19:22
def code_type
self.class
end
なんだな。
359デフォルトの名無しさん:2008/02/03(日) 23:27:44
response.code == '200' という半マジックナンバーよりは見かけ健全だな
初心者スレでは response.code == 200 という比較をして動かないってハマってたが
360デフォルトの名無しさん:2008/02/03(日) 23:33:43
>357
あと、typoをパーザーが見つけてくれるから、response.code == '200'より便利だよ。
361デフォルトの名無しさん:2008/02/04(月) 12:34:05
>>357-358
それは、rdocにあるように、caseでチェックするため。

case response
when Net::HTTPSuccess     then response
when Net::HTTPRedirection then fetch(response['location'], limit - 1)
else
  response.error!
end
362デフォルトの名無しさん:2008/02/04(月) 15:07:30
>>356
どんなドキュメントが欲しい?
リファレンスマニュアルとは別のものかな。
363デフォルトの名無しさん:2008/02/04(月) 15:53:27
>>362
356じゃないが、チュートリアルというか、こういう時はこういう組み合わせでやれ、みたいな感じの物はほしいな。
るびまにproxy作る例があったけど、あんな感じで。
364デフォルトの名無しさん:2008/02/04(月) 15:59:18
WEBrickでプロキシを作る例を読むのはもう飽きたお…
365デフォルトの名無しさん:2008/02/04(月) 20:47:39
レシピブックじゃだめかね。
366デフォルトの名無しさん:2008/02/04(月) 23:59:26
>>362
Webrickのクラスでセッション管理するドキュメント
367デフォルトの名無しさん:2008/02/05(火) 01:29:45
368デフォルトの名無しさん:2008/02/05(火) 01:34:36
Ramazeってよさそうだけど、あれ試してみた人いる?
369デフォルトの名無しさん:2008/02/05(火) 01:52:18
>>368
最近できたフレームワークですね。

最小限の構成ながら、MVCで、
必須だろうセッション管理やキャッシュ機構もデフォでついてたり、
それでいて、HTTPDやテンプレートやORマッパがすげ替え可能だったり、
よさげではあるな・・・。

てか、OpenID対応とか時代を反映してますな。

Rails はでかいと思う人にはかなりよさげ。
ただ、Railsの次点は Merbだろうし、
使っている人はどれだけいるんだろうか
370デフォルトの名無しさん:2008/02/05(火) 02:12:47
お前ら小さいのがいいならSinatraも忘れないでください。

Sinatra : Classy web-development dressed in a DSL
http://sinatra.rubyforge.org/

セッション管理がねえ?そんなのカンk(ry
371デフォルトの名無しさん:2008/02/05(火) 03:07:56
だからセッション管理が無いなら標準添付のWebrickでいいんだってば
372デフォルトの名無しさん:2008/02/05(火) 03:12:04
cgi.rb 再構成案

cat > cgi.rb
require 'webrick/cgi'
373デフォルトの名無しさん:2008/02/05(火) 03:21:39
もう1.9.0を出しちゃった以上、インタフェイスレベルでの変更はやめたほうがいいんじゃないの。
デイブトーマスも「開発者は1.9でライブラリ書けよ」って言ってるぐらいだし。それよりはMLで
やってるみたいに実装を高速なものに変更するとかがいい。あるいはCgiAltをcgi2って名前で
取り込むとかね。

でもね、それよりはドキュメントをですね、もうちょっと埋め込むとかなんとかして
irbのhelpがpythonのhelp()並に情報がでるようにしてほしい。Pixaxe本の記述って
ソースコードにコピーしちゃだめなのかな。
374デフォルトの名無しさん:2008/02/05(火) 06:23:10
1.9.0 はただの snapshot だし。
375デフォルトの名無しさん:2008/02/05(火) 07:18:44
俺は StringList が欲しかったが
StringIO がそれなりに望みの動作に近かったので使ってる

俺みたいな奴には to_s が自然なのかもな
IO として使いたい奴には不自然かも知れん
376デフォルトの名無しさん:2008/02/05(火) 08:32:16
377デフォルトの名無しさん:2008/02/05(火) 10:39:12
Rubyの公式MLでいい大人が2ちゃんねるの話題だすなよなー
ここは便所の落書きですぞ?暗黙的に提案すればいいのに。
378デフォルトの名無しさん:2008/02/05(火) 13:51:14
最近の「2ch観」は各人でかなり異なるから、一概には言えないよ。
皆、自分のよく読むもの・よく書くことを中心に2chを捉えてるわけだけど、最近はその内容に凄く個人差があるし、
ブログの影響もあって、今や2ch以外も匿名・暴言の山で、2chだけがどうのって感じではなくなってるしね。

別の板も含めた俺の経験では、「2chに関係することを2chの外で口にすること」について
問答無用で「何てイタイんだ!」みたいに反応する奴は、大抵同じIDで草生やしまくってたりする。
あと、基本的に中傷とかの濃度の濃い場所の住人ほど、そういう傾向がある。
たぶんこれは「鏡にどんな人間が映ってますか?」的な話題なんだろう。
379デフォルトの名無しさん:2008/02/05(火) 13:55:33
>>377-378
気にしなくていいですよ
俺みたいな世代は、2chもネットの掲示板の一つだから
便所の落書きでも、情報源には違いないものです
380デフォルトの名無しさん:2008/02/05(火) 13:56:49
ああ、あと、>>378の後半は余計だと思うがwその辺が2chたる所以かw
381デフォルトの名無しさん:2008/02/05(火) 22:36:07
そういやもう2chが特別な場所である感覚はないね。
382デフォルトの名無しさん:2008/02/05(火) 23:36:27
2chが特別だったのはログとってなかった頃まで
383デフォルトの名無しさん:2008/02/06(水) 00:39:49
お前ら何年いるんだ。
384デフォルトの名無しさん:2008/02/06(水) 00:42:37
7年くらいかな?
385デフォルトの名無しさん:2008/02/06(水) 02:28:44
4・5年くらいの人が今は一番多いんじゃね
386デフォルトの名無しさん:2008/02/06(水) 02:58:54
>>367
WEBRick でのセッション管理はどこに書いてあるんだ?
387デフォルトの名無しさん:2008/02/06(水) 10:27:35
>>386
「自分で書き加えろ」という遠回しなメッセージではないだろうか
388デフォルトの名無しさん:2008/02/06(水) 10:39:57
そんなセッションな〜

という駄洒落を思いついた
389デフォルトの名無しさん:2008/02/06(水) 10:40:39
shingichuu
390デフォルトの名無しさん:2008/02/06(水) 12:16:16
【判決】
Segmentation fault
391デフォルトの名無しさん:2008/02/06(水) 13:08:43
その判決はなかったわ
392デフォルトの名無しさん:2008/02/06(水) 16:10:18
マルチプラットフォームで輝き始める“Ruby”
http://www.itmedia.co.jp/enterprise/articles/0802/06/news007.html
393デフォルトの名無しさん:2008/02/06(水) 17:44:23
輝き始めるとは失礼だな。
今まで輝いてなかったみたいじゃないか。
394デフォルトの名無しさん:2008/02/06(水) 17:53:49
輝くどころか、各方言で骨肉の争いが
395デフォルトの名無しさん:2008/02/06(水) 19:36:42
輝き始めていると表現できるのは確かだが、
同じような紅い輝きがあちこちにあって統一性が感じられないのはなんでだぜ
396デフォルトの名無しさん:2008/02/06(水) 19:43:32
燃え尽きる直前の煌き
397デフォルトの名無しさん:2008/02/06(水) 23:43:14
def [(key)]=(value); end
みたいに書きたい!
def []=(value, *keys); end
でもいいけど
398デフォルトの名無しさん:2008/02/07(木) 00:01:40
1.9ではrubyが無いとbuildできないのか?
baserubyを指定しろと怒られる。
399デフォルトの名無しさん:2008/02/07(木) 00:26:30
>398
insns.defとかの処理でBASERUBYを使ってるね。
他のマシンで処理しておいて、それを持ってくるって方法もあるけど、
1.8も入れておいた方が無難だと思う。
なお、tarballだと処理したものが入れてあるんじゃないかな。
400デフォルトの名無しさん:2008/02/07(木) 03:17:46
>>387
>「自分で書き加えろ」という遠回しなメッセージではないだろうか
WEBrickにsession機能がないのに、ドキュメント書けるわけないだろアホ
401デフォルトの名無しさん:2008/02/07(木) 03:33:06
そりゃ>>376が何も言わずにリンク先しめすもんだから、勘違いするじゃない
>>400みたいに言ってくれないと
402デフォルトの名無しさん:2008/02/07(木) 09:43:14
いやWEBrick自体にセッション管理機能がないのは周知の上で、
自前でかっこよくセッション機能を組み入れる解説が欲しいのでは
実際問題としてWEBrickの目ぼしい弱点ってそこだけだし
403デフォルトの名無しさん:2008/02/07(木) 09:52:18
WEBrickのプロクシサーバって、アクセス先のデータを一回全部読み込んでるみたいだが、
ちょっとずつ読み込みながら返してくるようにしてほしい。
404デフォルトの名無しさん:2008/02/07(木) 10:03:16
それはあまりRubyっぽい動作ではないな
RubyのIO系はメモリに一気に読み込んでから配列にしたりして1単位ずつ返したりするのが主流

Proxyっぽい動作ではないけどな
405デフォルトの名無しさん:2008/02/07(木) 10:28:21
>>403
ああ、完全に同意。あの動作はクソすぎる。

>>404
メモリに一気に読み込むのを主流だとか馬鹿なことをいうのはやめてくれ。
IO#eachという一番わかりやすいメソッドを見てみろよ。
406デフォルトの名無しさん:2008/02/07(木) 12:35:30
Net::HTTPResponse#read_body{|str| ...} は全部読み込んでから区切ってた気がする
407デフォルトの名無しさん:2008/02/07(木) 23:32:50
煽りじゃなくて、Scheme(or Lisp)に有って、Rubyに無い機能ってある?
あるとしたら、その機能って必要?他の機能で代用可能? いろいろ細かいことも教えて。

(初心者スレから誘導されました。)
408デフォルトの名無しさん:2008/02/07(木) 23:38:23
>>407
マクロ
409デフォルトの名無しさん:2008/02/07(木) 23:42:40
マクロはRubyの他の機能で代用可能ではないの?
あった方が便利?
410デフォルトの名無しさん:2008/02/07(木) 23:46:19
>>409
何したいのか判らんけど代用可能かどうかの判断つかないんなら聞いても意味無くない?
411デフォルトの名無しさん:2008/02/07(木) 23:47:38
代用可能ではないと判断した。けど、詳しい人なら代用方法を知っているかもしれない。だから聞いている。
412デフォルトの名無しさん:2008/02/08(金) 00:22:18
>>402
CGI::Session の移植ならあね。
http://moonrock.jp/~don/ruby/#ID-WEBRICK
413デフォルトの名無しさん:2008/02/08(金) 00:23:15
代用というからには用途による。
あらゆる用途で同じように使えるなら、それはその機能そのものだ。
414デフォルトの名無しさん:2008/02/08(金) 00:25:30
こういう用途には代用になる、と言えばいい。
すべてを網羅しなくても思いつくだけ述べてくれて構わない。
415デフォルトの名無しさん:2008/02/08(金) 00:30:04
Schemeのマクロは文法拡張ができる。
Rubyでは文法拡張する方法はない。

でいいの?
416デフォルトの名無しさん:2008/02/08(金) 00:38:31
>>415
それは、例えば新しいif文を定義して、標準のif文と同じように使うことができるようになる、ということ?
それが、Schemeでは出来て、Rubyでは出来ないと。正しい?
417デフォルトの名無しさん:2008/02/08(金) 00:40:22
eval系列の命令でマクロっぽいことはできる。

attr_reader, attr_accessorもそれ
418デフォルトの名無しさん:2008/02/08(金) 00:43:27
>>416
可能だが、どこまで自然になればOKなのかは使う人によるからな・・・

Rubyでも DSLは作られるが、
例えば、brainfu*k を再現するのは無理だろう
419デフォルトの名無しさん:2008/02/08(金) 00:50:38
lispってlispのソース上でbrainfu*kを再現できるの?()は出てこないの?
インタプリタを作るならlispでもRubyでもできるよね。それとは違うの?
420デフォルトの名無しさん:2008/02/08(金) 00:52:42
>>416
普通の関数なら関数を呼び出す時点で引数の評価は完了しているが、
マクロなら引数を評価するタイミングをマクロ側で制御できる。

ruby でオレオレif を作るなら、if/else の本体を Proc で包んで渡すしかない。
じゃないと オレオレif 関数を読んだ時点で if/else の本体が実行さてしまうから。
それか Proc のシンタックスシュガーであるブロックをうまく使ってごまかすか。


このサスペンダーの人の記事も参考に。
http://blog.livedoor.jp/dankogai/archives/50996734.html
421デフォルトの名無しさん:2008/02/08(金) 00:52:43
>>418
my_if(proc { cond }, proc { then_clause }, proc { else_clause })
は「文法拡張した」とはさすがに言えないだろう
422デフォルトの名無しさん:2008/02/08(金) 03:48:53
>>421
いや、だから人によるってば

>>419
インタプリンタつくって、文字列を実行してという話ではなくね。

お得意のマクロとやらでできるんじゃないのかな? > Lisp
DSLをよく作るとか聞いた
いや、おれはLisp詳しくないのだが・・・

ちなみに、Io-language だとかなりそのものに近ずけることができる。マクロなしに
423デフォルトの名無しさん:2008/02/08(金) 09:08:56
>>422
人による、って程度じゃないだろ。
>>421が受け入れられるなら、cond、then_clause、else_clauseを文字列にして
パーサ動かしてもいいってことか。
424デフォルトの名無しさん:2008/02/08(金) 12:41:48
>>422
>標準のif文と同じように使うことができる
が達成されてないじゃん。
これは主観ではなく客観で定義できる達成基準だぞ。
425デフォルトの名無しさん:2008/02/08(金) 13:43:53
揉めるなよ。
Matz的にはLispのマクロは「あまりに強力すぎる」ことに難があって、
Rubyをあえてそこまで行かせずにいるんだから。
426デフォルトの名無しさん:2008/02/08(金) 13:46:10
Rubyでも構文木いじればけっこう何でもできるんじゃないかな
PycoのRuby版もできるかもしれない。ParseTreeはどうよ
427デフォルトの名無しさん:2008/02/08(金) 13:56:50
ところでバイトコードからデコンパイルってできんのかな。
428デフォルトの名無しさん:2008/02/08(金) 14:23:10
Rubyの構文木ってすげー内部的でなかった?
生のポインタに触らずにいじれそう?
429デフォルトの名無しさん:2008/02/08(金) 14:58:18
Ruby もそろそろ smalltalk みたいになんでもオブジェクトして欲しい。
430デフォルトの名無しさん:2008/02/08(金) 16:38:16
>>424はともかく

>>423
静的言語ばかり使ってきた俺には、lambdaなどでif文作っても、
文法が拡張されているように見えるんだ。
たぶん経験の違いだと思う。
431デフォルトの名無しさん:2008/02/08(金) 18:11:20
Ruby個人的には大好き・・・
432デフォルトの名無しさん:2008/02/08(金) 19:41:11
Rubyまで「個人的に」とか断り付けなきゃいけないご時世か
普及したもんだなあ
433デフォルトの名無しさん:2008/02/08(金) 19:44:40
言ってることはよくわからんがとにかく凄い自信だ
434デフォルトの名無しさん:2008/02/08(金) 21:14:52
Object.instance_methods が、1.8 だと String の配列で、1.9 からは Symbol の配列になるそうですが、
今まで MyClass.instance_methods.include?('methodname') としていたのを
MyClass.instance_methods.include?(:methodname) としなければなりません。
1.8 と 1.9 の両方で使えるような書き方はありませんか。
arr = MyClass.instance_methods
arr.include?('methodname') || arr.include?(:methodname)
とか格好悪すぎる
435デフォルトの名無しさん:2008/02/08(金) 21:21:03
.map{|m|m.to_s}
436デフォルトの名無しさん:2008/02/08(金) 21:23:05
|m| って何の略?いや、気になったので
437デフォルトの名無しさん:2008/02/08(金) 21:32:09
method names か何かだろ
m 自体は method の m だと思う

「文字列かシンボルのどっち来るかわからん場合は to_s しとけ」という >>435 のアプローチは妥当
438デフォルトの名無しさん:2008/02/08(金) 22:50:47
>>434
> 今まで MyClass.instance_methods.include?('methodname') としていたのを
その書き方はそもそも効率が悪い。

MyClass.method_defined?(:methodname)
439デフォルトの名無しさん:2008/02/08(金) 23:42:14
>>425
「Scheme(or Lisp)に有って、Rubyに無い機能」であることは事実。
それがいいとか悪いとか言うつもりはない。

>>426
標準で構文木いじる方法がないってこと。
ParseTree は既存の文法でパースしたプログラムをいじることは
できても、既存の文法自体は拡張できない。
440デフォルトの名無しさん:2008/02/09(土) 00:35:56
javascriptのfunctionって最高じゃない?シンプルで。

rubyのproc、Proc.new、lambdaって何なの?同じようなのいくつも作って。馬鹿なの?
441:2008/02/09(土) 00:37:38
pythonとRuby、そんなに変らん
442デフォルトの名無しさん:2008/02/09(土) 01:01:24
ECMAScript系はいいもんだね
サーバサイド実装も出て来てるし、今後RubyやPythonと比較されるユースケースが増えるかもなぁ。

現状では、利用形態がきっちり棲み分けてるから現実的に比べにくいかな。
443デフォルトの名無しさん:2008/02/09(土) 01:18:09
functionは長いからfunかfnか\がいい。
444デフォルトの名無しさん:2008/02/09(土) 01:25:21
defで無名関数が定義できればいいのに。
445デフォルトの名無しさん:2008/02/09(土) 01:27:43
lengthかlength()かで迷うのはもうごめんだお
446デフォルトの名無しさん:2008/02/09(土) 01:30:37
proc、Proc.new、lambdaを廃止して、全部defにしたら何か問題ある?
447デフォルトの名無しさん:2008/02/09(土) 01:32:19
メソッドとクロージャは違う
448デフォルトの名無しさん:2008/02/09(土) 01:33:40
>>447
何が違う?具体的に。
449デフォルトの名無しさん:2008/02/09(土) 01:35:02
def: メソッド
proc、Proc.new、lambda:クローじゃ

でいいのかな?
450デフォルトの名無しさん:2008/02/09(土) 01:36:23
>>449
だから、defでクロージャーも定義できるようにして何か問題があるかと聞いている。

現状がどうかなんて聞いていない。
451デフォルトの名無しさん:2008/02/09(土) 01:37:43
>>448
ブロックの外のローカル変数が見えるかどうか
あと無名関数なんて全然defineしてないのにdefって名前はさすがにどうかと
452デフォルトの名無しさん:2008/02/09(土) 01:40:06
>>451
じゃあ、proc、Proc.new、lambda、defをobsoleteにして、全部funcにしたら何か問題ある?
453デフォルトの名無しさん:2008/02/09(土) 01:42:17
>>451
そんなこと言ったらlambdaなんて何の意味もない名前だろ。
454デフォルトの名無しさん:2008/02/09(土) 01:45:08
そういえば
proc,lambdaとProc.newじゃreturn等の挙動が変わるんだったな
455デフォルトの名無しさん:2008/02/09(土) 01:46:30
似て非なるものがゴチャゴチャあると紛らわしいから、functionにまとめてほしいな。
456デフォルトの名無しさん:2008/02/09(土) 01:47:23
Ruby1.9って反面教師であるはずのPerlに怪奇しつつあるよな
もっとシンプルで速度10倍くらい速くする方向に進歩して欲しい
457デフォルトの名無しさん:2008/02/09(土) 01:54:05
速度の話ではシンプルさよかeval捨てるか否かが優先されるかと。

そういや旧macromediaもeval捨てた矢先にActionScriptの速度上げたな
458デフォルトの名無しさん:2008/02/09(土) 01:54:17
関数が無い(ってことになってる)Rubyではfunctionってキーワードは採用されないだろうな
459デフォルトの名無しさん:2008/02/09(土) 02:03:20
>456
の「怪奇」があながち誤字に見えないから困る
460デフォルトの名無しさん:2008/02/09(土) 02:07:38
>>458
じゃあ、methodでいいよ。
461デフォルトの名無しさん:2008/02/09(土) 03:05:24
無名関数はスコープをどうするかが問題かな。
メソッド・Proc・ブロックを統一できればシンプルにはなるんだろうけど。

Rubyが将来シンプルになる見込みはないと思われるので、シンプルなサブセットを作って、
それに向けてYARVを最適化すればいいんじゃないかな。
組み込みクラスのメソッドの再定義を禁止するだけでも大幅に速くなると思うけど。
462デフォルトの名無しさん:2008/02/09(土) 03:13:23
do [名前] [|パラメータ|] 処理 end
が無名関数を返すようにして、
これでメソッド・Proc・ブロックを全部扱えるようにすればいい。
463デフォルトの名無しさん:2008/02/09(土) 03:56:07
お。
464デフォルトの名無しさん:2008/02/09(土) 03:57:51
ま。
465デフォルトの名無しさん:2008/02/09(土) 04:29:01
ECMAScript や Python は
public な(Rubyでいう)インスタンス変数が存在出来る。
そのお陰で、メソッドをあたかも
クロージャの入った public 変数のように扱える。

Ruby のインスタンス変数は全て protected 。
インスタンスの public はメソッドにしか許されていない。
メソッドとクロージャはハッキリ分かれてる。

そのへんの思想の違いじゃないかな?
Procとメソッドをシームレスに扱えるようにしても
Python や ECMAScript みたいにはスッキリしないと思う。
むしろ妙なパラドックスに陥りそう。
466デフォルトの名無しさん:2008/02/09(土) 05:56:04
> そのお陰で、メソッドをあたかも
> クロージャの入った public 変数のように扱える。
kwsk
gttkn
467デフォルトの名無しさん:2008/02/09(土) 08:25:10
例えば JavaScript ならこんな感じかな。

<script language="JavaScript">
function MyObject() {
this.method1 = function() { return "Hello"; }
}
var obj = new MyObject();
var func = obj.method1;
document.write(func());

function method2() { return "World"; }
obj.method2 = method2;
document.write(obj.method2());
</script>
468デフォルトの名無しさん:2008/02/09(土) 08:40:45
Python でも色々出来るが、メソッドと関数の
微妙な違いに苦しむかも知れんな。
型も違うから「あたかも」としか言えない。

class MyClass1:
    def method1(self):
        return 'Hello'

obj = MyClass1()
func = obj.method1
print func()

def method2():
    return 'World'
obj.method2 = method2
print obj.method2()
469デフォルトの名無しさん:2008/02/09(土) 09:49:47
>>438
thanks
470デフォルトの名無しさん:2008/02/09(土) 10:26:34
471デフォルトの名無しさん:2008/02/09(土) 11:23:25
factorial = def f(n)
         1 if n <= 0
         n*f(n-1) if n > 0
       end

factorial(10) #=> 3628800

こんな感じにしたい。
472デフォルトの名無しさん:2008/02/09(土) 11:32:26
5.times factorial

#=> 1
#=> 2
#=> 6
#=> 24
#=> 120

とか。
473デフォルトの名無しさん:2008/02/09(土) 11:56:46
proc、Proc.new、lambda、defを区別する意味ってあるの?
初心者の漏れには、特にproc、Proc.newが
よく分からない複雑怪奇なものにしか見えないんだけど;;
474デフォルトの名無しさん:2008/02/09(土) 12:02:38
Yコンビネータ使うとか。

475デフォルトの名無しさん:2008/02/09(土) 12:40:01
Yコンビネータは再帰のためのコンビネータであって、
lambdaの代わりにはならない。

procとlambdaは冗長ではある。Proc.newとは、似てるけど別物で、
まぎらわしいものがあれこれあるのはどうかという気はする。
(「Proc.new は、Proc#initialize が定義されていればオブジェクトの初期化の
ためにこれを呼び出します。このことを除けば、proc と同じです。」)

def は、確かに特別にそういうものがなくてもいいのかもしれない
けど、そうしちゃうと、クラスの文脈(*)に、

class Foo

  (*) ここ

  def foo()
    ……
  end
end

生にlambdaを書いて、それをModule#define_methodでインスタンスメソッド定義、
という、言語の内臓に触れるコードを書かせることになる。

class Bar
  define_method('bar', proc{
    ……
  })
end

こんな感じ。もしMatzがTOOWTDIを信奉してたらこうなってた、というか。
476デフォルトの名無しさん:2008/02/09(土) 13:22:25
>>471
定義されたfはどこに行っちゃうんだ?
477デフォルトの名無しさん:2008/02/09(土) 13:26:01
>>476
def〜endブロックのローカルスコープでいいだろ。
478デフォルトの名無しさん:2008/02/09(土) 14:18:44
>>475
> procとlambdaは冗長ではある。Proc.newとは、似てるけど別物で、
> まぎらわしいものがあれこれあるのはどうかという気はする。
> (「Proc.new は、Proc#initialize が定義されていればオブジェクトの初期化の
> ためにこれを呼び出します。このことを除けば、proc と同じです。」)

バージョンによって違うのかもしれないが、ブロックの中からreturnした時の
ふるまいが、Proc.newとprocは同じで、lambdaとは異なっている。

$ ruby --version
ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux]
479デフォルトの名無しさん:2008/02/09(土) 14:21:06
紛らわしい機能はobsoleteにしてほしいな。
同じことができるならどれかに集約してもらいたい。
480デフォルトの名無しさん:2008/02/09(土) 14:28:56
そんなことをしたらmap vs collect論争ができなくなるじゃないか。
481デフォルトの名無しさん:2008/02/09(土) 14:35:25
map/collectは元々Ruby以前からそれぞれの宗派が存在したらから別にいいよ。
でも、lambdaはともかく、proc、Proc.new、def endはRuby独自でしょ。
Ruby独自ならRubyの中で整理した方がいい。
482デフォルトの名無しさん:2008/02/09(土) 16:57:03
>>475 >>478 で、
def が無ければメソッド定義が、えらい不格好なものになるし、
Proc.new, proc, lambda は似てるけど、それぞれ違うということが
示されてるのは無視?
483デフォルトの名無しさん:2008/02/09(土) 17:18:50
Proc.new, proc, lambda はそれぞれ違うけど、
同じようなことしかしないから、集約した方がいいって話じゃないの。
484デフォルトの名無しさん:2008/02/09(土) 18:00:09
> Procでreturnするとfooから抜けちゃって関数内関数として使えません(> <)
>
> def foo
> boo = Proc.new do
> 100.times do |i|
> 100.times do |j|
> if i == 50 && j == 50
> return
> end
> end
> end
> end
> boo.call
> p "foo" # 実行されず
> end
>
> foo

この例の場合、Proc.new なら駄目なわけだが、
lambda なら期待通り動く。

procがどちらのように動くかはバージョンによるらしい。

どちらかに絞れるのかな? これ。
485デフォルトの名無しさん:2008/02/09(土) 18:03:37
そういう多段の脱出のために catch 。
486デフォルトの名無しさん:2008/02/09(土) 18:04:47
lambda、proc、Proc.newの仕様ってそれぞれきっちり決められてる?
リファレンスマニュアルにはあまり詳細に書いていないようだけど。
ソース読めとか言わないよね?
487デフォルトの名無しさん:2008/02/09(土) 18:07:29
>>484
lambdaでも変わらない希ガス。
ruby 1.8.6 (2007-09-24 patchlevel 111)

def foo
  boo = lambda do
    100.times do |i|
      100.times do |j|
        if i == 50 && j == 50
          return
        end
      end
    end
  end
  boo.call
  p "foo" # 実行されず
end

foo
488デフォルトの名無しさん:2008/02/09(土) 18:10:17
言語使用もない糞言語,おまえらよく使う気になるよなあ(www
489デフォルトの名無しさん:2008/02/09(土) 18:11:02
>>487
インデント崩さずにどうやって書き込むの?
490デフォルトの名無しさん:2008/02/09(土) 18:11:24
>>489
全角スペース
491デフォルトの名無しさん:2008/02/09(土) 18:14:12
>>489
&nbsp;
492デフォルトの名無しさん:2008/02/09(土) 18:17:16
$ cat hoge.rb
def foo
 Proc.new{return"Proc.new"}.call
 return "foo"
end

def bar
 proc{return"proc"}.call
 return "bar"
end

def baz
 lambda{return"lambda"}.call
 return "baz"
end

p foo ; p bar ; p baz

$ ruby --version
ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux]
$ ruby hoge.rb
"Proc.new"
"proc"
"baz"

$ ruby18 --version
ruby 1.8.6 (2007-12-02 patchlevel 5000) [i686-linux]
$ ruby18 hoge.rb
"Proc.new"
"bar"
"baz"
493デフォルトの名無しさん:2008/02/09(土) 18:19:19
インデントてすと

def foo
 bar

&nbsp;
494デフォルトの名無しさん:2008/02/09(土) 18:23:40
>>492
1.8.6では、Proc.new≠proc=lambda
1.9では、Proc.new=proc≠lambda
ってこと?

そもそも、returnに対する振る舞いの違いだけで、分けなければいけないようなものなのか?
495デフォルトの名無しさん:2008/02/09(土) 18:33:28
なぜこうなるのかわかりません(> <)

def foo
  Proc.new{1.times{return"Proc.new"}}.call
  return "foo"
end

def bar
  proc{1.times{return"proc"}}.call
  return "bar"
end

def baz
  lambda{1.times{return"lambda"}}.call
  return "baz"
end

p foo ; p bar ; p baz

#"Proc.new"
#"proc"
#"lambda"
496デフォルトの名無しさん:2008/02/09(土) 18:40:12
>>495
「どう」書いたら「どう」なることを期待してるわけ?

「なぜ」そうなるかはソースを見れば書いてある。
497495:2008/02/09(土) 18:42:29
1.timesをかましただけでlambdaの挙動が変わるのはなぜですか?lambdaなら
returnしてもbazから返らないと教わったのにその通りになってません。
498デフォルトの名無しさん:2008/02/09(土) 18:43:36
>>496
出たw
「「「「「「「「ソースを見れば書いてある」」」」」」」」
499デフォルトの名無しさん:2008/02/09(土) 18:44:23
Proc.new{} == メソッドに渡すブロック
500デフォルトの名無しさん:2008/02/09(土) 18:45:14
ソースったって、rubyという言語のインタプリタの単なる1実装のソースに過ぎないんだろ。
rubyがまともな言語なら言語仕様をきちんと示すべきなんだけどな。
501デフォルトの名無しさん:2008/02/09(土) 18:45:26
学生ってC#かjava使って宿題してんじゃないの?
なんでこんなにわいてんの?新人がゆとりなだけか?
502デフォルトの名無しさん:2008/02/09(土) 18:47:27
>>501
あーこのスレだけ見てるとわからんな
503デフォルトの名無しさん:2008/02/09(土) 18:48:37
ソースを見る人次第でどんな風にも動作するあいまいな言語っていらないよね。
504デフォルトの名無しさん:2008/02/09(土) 18:49:39
もうブロック内でreturn使うの諦めようぜ
バージョン間での非互換や、書き方による差異でゴチャゴチャになってるんだから
505デフォルトの名無しさん:2008/02/09(土) 18:49:42
もとはPythonスレで出た流れを引き取った格好か
506デフォルトの名無しさん:2008/02/09(土) 18:52:24
>>503
ソースにはあいまい性はないよ。書いてある通りに動くのだから。
問題は、作者が開発しているインタプリタのソースが唯一の厳密な仕様書になっていること。

まともな言語なら、ソースではなく初めに仕様書ありきであるべき。
507デフォルトの名無しさん:2008/02/09(土) 18:53:45
>>505
??
この話題を始めたのは俺だが、Pythonスレなんて見たこと無いが。
508デフォルトの名無しさん:2008/02/09(土) 18:54:52
>>504
return関係は基本は一応「見たまま」なんだけどね
論理的に動作を追おうとすると変なことに
509デフォルトの名無しさん:2008/02/09(土) 18:57:56
言語仕様を決めて、それに従えば問題ないんだけどな。
510デフォルトの名無しさん:2008/02/09(土) 19:23:51
なぜ、と問われたら何だって「ソースにそう書いてある」としか
答えられないんじゃないかと。

標準仕様がある言語なら、自然言語(まれに形式言語)で、
仕様書という「ソースコード」が書いてある、ってだけだし、それでも
それを実装した処理系の変な挙動について「なぜ」と問われれば、
やはり「ソースを見ろ」としか答えられないが。

しかし、ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux] だと
1.timesをかましてもbazから返らないんだよなぁ(笑)
511デフォルトの名無しさん:2008/02/09(土) 19:27:56
>>510
なら、ソースのどこにどう書いてあるのか説明しろよ。
「ソースを見ろ」なんて全く有用な情報が無いレスなら書き込む必要は無い。
512デフォルトの名無しさん:2008/02/09(土) 19:28:57
「ソースを見ろ」==「デバッグしろ」
513デフォルトの名無しさん:2008/02/09(土) 19:30:21
標準仕様がないのに、何をどうデバッグすればいいんだ?
どのように動作するのがバグの無い状態なんだ?
514デフォルトの名無しさん:2008/02/09(土) 19:43:31
元々は関数内関数(クロージャ)が欲しい、ってことだろ?

>>504 で結論が出てるじゃん。
要は、returnは「メソッドから戻る」ものだから、ブロックから値を
戻したいんだったら、returnは使うなってことでFAだろ?
515デフォルトの名無しさん:2008/02/09(土) 19:44:58
じゃあエラーではじけよ
516デフォルトの名無しさん:2008/02/09(土) 19:48:37
何故returnを「ブロックとメソッドから戻る」と定義できないんだろう。
517デフォルトの名無しさん:2008/02/09(土) 19:55:41
>>514
じゃあ値を返すにはどうしたらいいんだよ。
518デフォルトの名無しさん:2008/02/09(土) 19:56:08
>>516
eachみたいにブロック付きメソッドを制御構造もどきとして使いたいからじゃない?
519デフォルトの名無しさん:2008/02/09(土) 19:56:20
>>516
メソッド定義の中のブロックの中でreturnしたときとか
Proc生成をメソッド内以外で行ったときとかに超紛らわしいからだろ
520デフォルトの名無しさん:2008/02/09(土) 19:57:44
>>517
breakかcatch&throwを使ってください
521デフォルトの名無しさん:2008/02/09(土) 20:01:27
一応、メソッドから抜けてるのにreturnしようとするとErrorになる

$ cat hoge.rb
def foo
  Proc.new{return}
end

foo.call

$ ruby --version
ruby 1.9.0 (2007-12-03 patchlevel 0) [i686-linux]
$ ruby hoge.rb
hoge.rb:2:in `block in foo': unexpected return (LocalJumpError)
        from hoge.rb:5:in `call'
        from hoge.rb:5:in `<main>'

$ ruby18 --version
ruby 1.8.6 (2007-12-02 patchlevel 5000) [i686-linux]
$ ruby18 hoge.rb
hoge.rb:2:in `foo': unexpected return (LocalJumpError)
        from hoge.rb:5:in `call'
        from hoge.rb:5

リファレンスマニュアルにはreturnは「式の値を戻り値としてメソッドの実行を終了します。」
とあるから、単にブロックから戻るだけだったらおかしい、と主張はできるかな。
522デフォルトの名無しさん:2008/02/09(土) 20:01:43
>>518 >>519
単にreturnでブロックから復帰して、その引数が呼び出し元(yieldやProc.new)に戻ればいいだけじゃないの。
何が紛らわしいのかわからない。
523デフォルトの名無しさん:2008/02/09(土) 20:04:27
Rubyのブロックはreturnに曖昧さがあるってことでFA?
524デフォルトの名無しさん:2008/02/09(土) 20:07:00
>>517
> じゃあ値を返すにはどうしたらいいんだよ。

ブロック内で最後に評価した式の値がcallとかyieldの返す値になる
525デフォルトの名無しさん:2008/02/09(土) 20:10:30
ブロックからの脱出にbreakと同様にreturnが使えても全く問題ないと思うのだが。
526デフォルトの名無しさん:2008/02/09(土) 20:34:38
>>524
goto実装すればOK。

func = Proc.new do
  result = -1
  if (failed)
    result = -2
    goto EXIT
  end
...
EXIT:
  result
end
527デフォルトの名無しさん:2008/02/09(土) 20:42:54
2.0でちゃぶ台返しマダー?
528デフォルトの名無しさん:2008/02/09(土) 20:51:23
>>522 >>525
breakはwhileやuntilを抜けるためにも使われる、ということを忘れてないか
whileの中でreturnするとwhileを抜けた! なんて動作はいくらなんでも困る
529デフォルトの名無しさん:2008/02/09(土) 20:57:08
>>528
breakは最も内側のブロックからの脱出、
returnはメソッド、およびlambda、proc、Proc.newの最も外側のブロックからの脱出
と定義して問題あるのかな。
530デフォルトの名無しさん:2008/02/09(土) 21:03:25
あー、nil に追加はマズイや。
Object.new で。
531デフォルトの名無しさん:2008/02/09(土) 21:04:24
誤爆
532デフォルトの名無しさん:2008/02/09(土) 23:35:09
>>529
> breakは最も内側のブロックからの脱出、

breakはbreakで、ブロックではなくイテレータから抜けてくれないと困る

$ cat hoge.rb
def once # 1 回だけ実行するイテレータ
  yield
  p "2"
end

def foo
  once{p "1"; break}
  p "3"
end

foo

$ ruby hoge.rb
"1"
"3"
533デフォルトの名無しさん:2008/02/10(日) 00:09:58
emacsにruby-modeを追加する方法がわかりません。
詳しく説明してるサイトを教えてください。
534デフォルトの名無しさん:2008/02/10(日) 00:19:16
>>533
いささかスレ違い。emacsスレのほうがいいと思うが…

load-pathにあるディレクトリに置いて、
~/.emacsなりuser-init-fileなりに以下を追加。

(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t)
(set-alist 'auto-mode-alist "\\.rbw?\\'" 'ruby-mode)
(set-alist 'interpreter-mode-alist "ruby" 'ruby-mode)
535デフォルトの名無しさん:2008/02/10(日) 00:28:48
1.9からHashが順序保存か…。
けっこうこだわりないんだな。
言語仕様で保証しないところがチキンというか、
PHPで4→5で動作保証しないこともネチネチ言ってるMatzがな…。
536デフォルトの名無しさん:2008/02/10(日) 00:47:37
これに依存するコードを書くことはまずないと思うからぶっちゃけかなりどうでもよい
2.0で導入されて、2.0が今の1.8くらい普及してから考える
537デフォルトの名無しさん:2008/02/10(日) 00:50:43
1.9でネチネチ言う奴は何なんだろうと素で思う
538デフォルトの名無しさん:2008/02/10(日) 00:58:58
>>535
>PHPで4→5で動作保証しないこともネチネチ言ってるMatzがな…。

そんなこと言ってたの?
言ってたとして、これと Hash の順序保存とのつながりがわからない。
539デフォルトの名無しさん:2008/02/10(日) 01:02:56
>>536
putsに配列を渡すと整形して表示する機能くらいどうでもいい機能
2.0に入ったとしても個人のスクリプトで意識して使えば便利だろうって程度だなあ

irb> puts [1,2,3]
1
2
3
540デフォルトの名無しさん:2008/02/10(日) 01:07:44
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Python is better than ruby.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
541デフォルトの名無しさん:2008/02/10(日) 01:40:04
日本語で桶
542デフォルトの名無しさん:2008/02/10(日) 01:41:16
これ抜けてるだろ
Python is betterPerl
543デフォルトの名無しさん:2008/02/10(日) 01:46:08
どんな言語でも信者はキモイ証左といったところか。
544デフォルトの名無しさん:2008/02/10(日) 09:47:32
ヤターrailsの風俗サイトできたよー
http://www.momoiro.jp/cast/list
545デフォルトの名無しさん:2008/02/10(日) 10:08:34
>>544
erogeek 乙www
546デフォルトの名無しさん:2008/02/10(日) 14:14:04
>>537
だって、String#sg とかの糞名前を確定させなかったりするためには、
今がネチネチ言うときなんじゃないの?
547デフォルトの名無しさん:2008/02/10(日) 14:41:38
>>546
それならMLでネチネチ言え。
それにmatz以外の開発者がある程度抑えてるから大丈夫だろ。
548デフォルトの名無しさん:2008/02/10(日) 15:10:01
>>418
> 可能だが、どこまで自然になればOKなのかは使う人によるからな・・・
> Rubyでも DSLは作られるが、
> 例えば、brainfu*k を再現するのは無理だろう
遅レスだがこれはどうよw
ttp://d.hatena.ne.jp/ku-ma-me/20080208/p1
549デフォルトの名無しさん:2008/02/10(日) 15:12:52
厳密には無理なんだろうけど、そこまでやるのにワロタ
550デフォルトの名無しさん:2008/02/10(日) 15:36:13
方向音痴な初心者です

Rubyは自由性が在ると云う事は理解すべきですが、
変数は一つの定義で幾つ程、付けられますか?
551デフォルトの名無しさん:2008/02/10(日) 15:49:05
元のスレに帰れ
552デフォルトの名無しさん:2008/02/10(日) 19:48:48
tkよりgtk2の方が良いよな・・・
というかtkを使わざるを得ない制約が有ってgtk2に見向きもしなかっただけなんだが。
tkは1.9への移行とtk8.5の仕様変更でゴチャゴチャになってるみたいだけど。
今後tkってどうなっちゃうの?
オワタ?
次から作るならtkは避けたほうが無難かな?
553デフォルトの名無しさん:2008/02/10(日) 20:34:13
2010年になっても保守しなければならない代物なら立ち止まったほうがいいかもしれない

正直、gtk2だからマシというもんでもなく…
554デフォルトの名無しさん:2008/02/10(日) 22:30:30
>>544
それがRailsであるっていうのはどうやって見分けるの?
555デフォルトの名無しさん:2008/02/10(日) 22:36:49
自己申告に決まってるだろ
556デフォルトの名無しさん:2008/02/10(日) 22:41:18
>>552
同志よ。いま同じ問題を抱えています。
ruby/tkだと今は動いたとしてもバージョンアップしたら動くか心配だし、
gtkも同じように心配。
ということは一番安全なのはCGIを作ってブラウザで表示させるのがいい気がする。
557デフォルトの名無しさん:2008/02/10(日) 22:54:31
MVCモデルで開発していくのが正解かなと思う
558デフォルトの名無しさん:2008/02/10(日) 22:55:09
559デフォルトの名無しさん:2008/02/10(日) 23:01:30
URL#is_rails #=> true
560デフォルトの名無しさん:2008/02/10(日) 23:02:16
WebベースのUIはデータのやりとりが面倒くさい。
セキュリティとかもややこしいし。
561デフォルトの名無しさん:2008/02/10(日) 23:03:10
PHPなら簡単ですよ
562デフォルトの名無しさん:2008/02/10(日) 23:03:57
ちょっとりりちゃんに会いに言ってくる
563デフォルトの名無しさん:2008/02/10(日) 23:04:15
バージョンアップで動かなくなる可能性を心配するならCで開発しなされ
564デフォルトの名無しさん:2008/02/11(月) 00:01:03
tk8.5で見た目が綺麗になったんで、ようやく使い始めようと思ったのだが・・・
565デフォルトの名無しさん:2008/02/11(月) 02:39:47
結論 Javaで池
566デフォルトの名無しさん:2008/02/11(月) 02:42:35
じゃあJRubyで
567デフォルトの名無しさん:2008/02/11(月) 05:53:08
>>566

!否… JaRubyで…
r
568デフォルトの名無しさん:2008/02/11(月) 10:49:38
NUM2INTとかだけじゃなくてpackにあるnum2i32を表に出せばいいのに
569デフォルトの名無しさん:2008/02/11(月) 16:12:22
>>556 >>560 >>563

つPython
570デフォルトの名無しさん:2008/02/12(火) 00:28:51
今後のバージョンアップでどうなるかわからないという話なら
CだろうがJavaだろうがPythonだろうが同じじゃね
一番安全なのはバージョンアップしないことだろ
571デフォルトの名無しさん:2008/02/12(火) 01:08:21
Cを混ぜるなw
572デフォルトの名無しさん:2008/02/12(火) 05:11:17
ようやくPathnameにダメ出しする人があらわれたか
573デフォルトの名無しさん:2008/02/12(火) 05:45:02
>>571
確かに、「いずれ死ぬという話なら末期癌の老人も健康な子供も同じ」みたいな。
574デフォルトの名無しさん:2008/02/12(火) 15:10:43
古いのを永久に使えるという意味でCは特別な存在。
575デフォルトの名無しさん:2008/02/12(火) 15:38:12
孫にあげるのはもちろんヴェルタースオリジナル。
なぜなら・・・
576デフォルトの名無しさん:2008/02/12(火) 16:12:23
孫もまた特別な存在だからですハァハァ
577デフォルトの名無しさん:2008/02/12(火) 16:15:30
特殊な存在ktkr
578デフォルトの名無しさん:2008/02/12(火) 17:02:07
ショタ☆ジジ
579デフォルトの名無しさん:2008/02/12(火) 23:35:47
C99コンパイラでもちゃんとコンパイルできることに感動

でも、
g++だとやっぱダメだね。mallocとかの型チェック関係だけかと思ったら
可変長引数関数ポインタのプロトタイプでエラーでるわ。規格だと少なくとも1つは
固定引数にしないといけないんだから今のANYARGSを...に置き換えるだけ
じゃ意味ないと思うんだけどなあ。その辺考えてないのかな。
580デフォルトの名無しさん:2008/02/12(火) 23:39:58
いきなりで何の話かわからんのだが、とりあえずその環境でコンパイルできるコンパイラがあるんならいいんじゃね?
正直バイナリになってしまえば皆同じ?
581デフォルトの名無しさん:2008/02/12(火) 23:45:28
C++でコンパイルでできたほうがなんか型安全っぽいじゃない
最近のゲームプログラミングとかもg++でCのコードをコンパイルするんだって。
582デフォルトの名無しさん:2008/02/13(水) 00:27:01
「っぽい」とかいう適当な理由を出されても。
583デフォルトの名無しさん:2008/02/13(水) 01:01:54
本体がC++である必要がなくってもライブラリ、
ミドルウェア側の都合でC++のランタイムが必要なわけで、
Rubyも将来的には是非C++でコンパイルを。
584デフォルトの名無しさん:2008/02/13(水) 01:06:39
そりゃ作者が引退するまで無理だろw
585デフォルトの名無しさん:2008/02/13(水) 01:10:51
C++なぞ問題外.^^;;;
586デフォルトの名無しさん:2008/02/13(水) 01:49:38
Rubyには直接関係ないけど、最近のruby-list@bladeはUTFメールの
文字コード判定に失敗してウェブから読めない投稿が多いなあ。
あと、namazu検索が止まってるのも問題。インフラだからもうすこし
しっかりしてほしいよ。
587デフォルトの名無しさん:2008/02/13(水) 03:24:48
588デフォルトの名無しさん:2008/02/13(水) 03:34:50
Rubyはエロ画像収集言語です
589デフォルトの名無しさん:2008/02/13(水) 03:35:02
><;
590デフォルトの名無しさん:2008/02/13(水) 03:39:36
>>587
つか、Rubyにかぎらんような。
JPEG2000のSusieプラグインの人とかはショタコンだし。
591デフォルトの名無しさん:2008/02/13(水) 03:50:29
これは痛すぎるぜ
592デフォルトの名無しさん:2008/02/13(水) 03:59:01
perl の人はアニオタじゃなかったけ?
593デフォルトの名無しさん:2008/02/13(水) 06:38:37
>>592
> perl の人はアニオタじゃなかったけ?

昔はラムちゃんTシャツとかで有名だった。

最近は、
ttp://gihyo.jp/dev/serial/01/alpha-geek/0000 より
あずまんがらしい。
> 弾:最近お気に入りのアニメは?
> ラ:《あずまんが大王! ちよちゃん大好き!》(ちよちゃんの歌「つくりましょう!」を歌い出す)

マクロスネタも通じる。
> ラ:文化,でしょうか。どれだけ優れたソフトウェアでも,文化を持たないものは普及しません。《プロトカルチャ〜(※5)》
> 弾:ヤックデカルチャ!(※5)

オタクが嫌ならPerlもやめといたほうがいいね。
594デフォルトの名無しさん:2008/02/13(水) 07:20:00
URI::Genericに、 alias to_str to_s がないって報告して
595デフォルトの名無しさん:2008/02/13(水) 07:20:31
>>593
>オタクが嫌ならPerlもやめといたほうがいいね。
Rubyも駄目だろwww
596デフォルトの名無しさん:2008/02/13(水) 07:38:36
世間ではプログラミングがそもそもオタク行為だから、
その中で今さらなことを気にしてもしょうがないよ。
597デフォルトの名無しさん:2008/02/13(水) 07:57:10
>>595-596
そう。だから、嫌なら出てけば、って言ってるつもり。
598デフォルトの名無しさん:2008/02/13(水) 08:30:31
エログラマー
599デフォルトの名無しさん:2008/02/13(水) 08:40:11
>>595
「も」って書いてあるのにその発言は痛い。

600デフォルトの名無しさん:2008/02/13(水) 09:08:22
オタクは肯定できてもロリコンは肯定できないね
児童ポルノは持ってるだけで違法になるっぽいし
>>587はパブリシティー権を犯してる
601デフォルトの名無しさん:2008/02/13(水) 09:17:48
2chのスレから児童的に取ってきてるだけでしょ
602デフォルトの名無しさん:2008/02/13(水) 09:32:44
>>601
児童的ワロタ
603デフォルトの名無しさん:2008/02/13(水) 09:41:34
持ってるだけで違法なのはいいとして、
持っているかどうか調べるのはプライバシーの侵害ではないのか。
604デフォルトの名無しさん:2008/02/13(水) 09:42:22
あと、被写体の年齢の証明方法を教えてほしいね。
605デフォルトの名無しさん:2008/02/13(水) 09:53:23
ていうか板違い
↓に池

女子中学生
http://pc11.2ch.net/test/read.cgi/win/1201404882/
606デフォルトの名無しさん:2008/02/13(水) 09:54:16
>>594
過去にto_strなくしたようだけど、リファレンスには残ってるね
URIは基本的に文字列だし、to_strあったほうが便利な気がするけど
607デフォルトの名無しさん:2008/02/13(水) 09:57:17
Rubyistロリコンばっかかよwwww
608デフォルトの名無しさん:2008/02/13(水) 10:10:26
perlはアニヲタだからrubyは児童ポルノで対抗するのか
恥さらしだからヤメレ
609デフォルトの名無しさん:2008/02/13(水) 10:12:21
俺は熟女の画像しか保存してない
610デフォルトの名無しさん:2008/02/13(水) 10:14:20
性癖をごまかす証拠を用意してるやつは、リアルでやりまくり。
611デフォルトの名無しさん:2008/02/13(水) 10:24:40
>>587のブロマイドって売り物でしょ?
逮捕されないの?
612デフォルトの名無しさん:2008/02/13(水) 11:02:25
>>611の知識の浅さに失望した
613デフォルトの名無しさん:2008/02/13(水) 11:28:09
著作権法違反にも幇助あるよ
614デフォルトの名無しさん:2008/02/13(水) 11:49:17
こいつの本見たことあるけど変なAA使っててきもかった
AAなんて2ch中だけでやってろよ
615デフォルトの名無しさん:2008/02/13(水) 11:51:06
お前も十分着も伊予
616デフォルトの名無しさん:2008/02/13(水) 12:00:27
ヒント:統一協会
617デフォルトの名無しさん:2008/02/13(水) 12:53:38
>>614
> こいつの本見たことあるけど変なAA使っててきもかった
> AAなんて2ch中だけでやってろよ

結城先生にもご注進したら〜w
ttp://www.hyuki.com/cr/cat_index.html
618デフォルトの名無しさん:2008/02/13(水) 13:07:49
>>617
「にも」って・・・もしかして、2chに何かを書き込むのが
本人への「注進」に値すると思ってるの?
619デフォルトの名無しさん:2008/02/13(水) 16:23:30
アンチはアンチスレでお願いします
620デフォルトの名無しさん:2008/02/13(水) 19:22:19
あぁ まさかまさか、重要な仕事を依頼しようとしている相手がこのような異常性癖の持ち主だったとは
こ、子供相手に信じられん!!
俺なら断然巨乳の女、映画女優で言うとイザベル=アッジャ〜ニが良いのに!
621デフォルトの名無しさん:2008/02/13(水) 19:24:35
なつかしー
622デフォルトの名無しさん:2008/02/13(水) 23:53:02
結城も微妙だが、だからといって西和則が恥晒しなことは変わらない
623デフォルトの名無しさん:2008/02/13(水) 23:58:25
無限長演算はいつ標準実装されるの。あとRational(3, 4)は3/4って表示してよ。
624デフォルトの名無しさん:2008/02/14(木) 00:01:08
devでbigdecimalやrationalの話してるんだから混じってきたら?
625デフォルトの名無しさん:2008/02/14(木) 00:01:20
1, 2, ... と無限まで続くRangeが欲しいなあ
626デフォルトの名無しさん:2008/02/14(木) 00:15:11
とりあえずこんなのでしのぐのかな。
遅いらしいけど。

require 'generator'

class IntegerSequence
def initialize(from=1, step=1)
@gen = Generator.new {|g| loop { g.yield(@i ||= from); @i += step } }
end
def next; @gen.next end
end

evens = IntegerSequence.new(2, 2)

puts evens.next
puts evens.next
puts evens.next
:
:
627デフォルトの名無しさん:2008/02/14(木) 00:20:10
うん、1.9のEnumeratorを使えばできるのはしってるけど
綺麗なリテラルがほしいのね
628デフォルトの名無しさん:2008/02/14(木) 00:24:23
>>623
to_sすれば3/4ってなるけど
inspectはそのままevalできるのを出力する傾向があるから
Rational(3, 4)のまま変わらないんじゃないか?
629デフォルトの名無しさん:2008/02/14(木) 02:16:11
>>625
(1..1/0.0).each{|x|p x}
630デフォルトの名無しさん:2008/02/14(木) 02:36:41
>>629
おお!・・・Infinityってそのまま書けないの?
tやnilがあんだしInfinityぐらいいいじゃんと思うけど・・・
Float::Infinityでもいいけど
631デフォルトの名無しさん:2008/02/14(木) 02:47:36
と思ったらMath::Infがあったか。
これからは
include Math
(1..Inf).each
を使うことにする。ありがとう。
632デフォルトの名無しさん:2008/02/14(木) 03:00:32
$ irb
>> include Math
=> Object
>> Inf
NameError: uninitialized constant Inf
from (irb):2

どこで定義されてるん?
633631:2008/02/14(木) 03:26:30
???
あれ、どういうこと?確かにあったのに・・・
と思ったらこういうことらしい。
Math::Inf
=> NameError: uninitalized constant Inf
Inf = 1/0.0
=> Infinity
Math::Inf
=> Infinity

つまり、定数を任意のクラスから参照できてしまうみたい。
1.8だとErrorがでるけど1.9だとスルー。バグかな?
634デフォルトの名無しさん:2008/02/14(木) 03:42:58
ttp://www.rubyist.net/~matz/20060217.html#p03
いや、これのせいかな?

Hoge = 200
module Fuga; end
puts Fuga::Hoge # => 200

Fuga::Hoge = 300
puts Hoge # => 200

が通っちゃうからちょっと奇妙に思えるけどなあ。
635デフォルトの名無しさん:2008/02/14(木) 04:41:21
そんなんダメじゃん。あほだな1.9
636デフォルトの名無しさん:2008/02/14(木) 05:26:26
classも定数だからこういうこともできるね

class A; end

puts A::A::A::A::A::A::A::A::A::A::A::A # => A

すごいなRuby1.9!
637デフォルトの名無しさん:2008/02/14(木) 05:31:39
ワロタ
638デフォルトの名無しさん:2008/02/14(木) 12:38:53
これはwwwwww
639デフォルトの名無しさん:2008/02/14(木) 17:10:08
>>636
よく理解してないんだが、1.8でも警告は出るけど同じ結果。
640デフォルトの名無しさん:2008/02/14(木) 17:11:21
1.9では本採用ってことかw
641デフォルトの名無しさん:2008/02/14(木) 17:30:21
>>636 が変だと一瞬でも思った奴は arr[1][0] で引っかかる奴だな

>>639
Object::Object が Object を返すだけ
何億回繰り返しても Object::Object が Object を返していることの繰り返し
642デフォルトの名無しさん:2008/02/14(木) 17:58:22
アホ乙
643デフォルトの名無しさん:2008/02/14(木) 19:36:51
>634の前半が変だと一瞬でも思わないやつは、変な言語仕様に引っかかって
時間を無駄にする奴だろう。

moduleは名前空間の分離にも使われるのに、存在しない名前が参照できてどうするよ。
644デフォルトの名無しさん:2008/02/14(木) 19:47:17
:: 演算子を使うとクラス定義の中で素で参照できる定数全部を参照できるってことか
それほど困らないけど気持ち悪いな

class A;end
A::String
とかが出来ちゃうとか
645デフォルトの名無しさん:2008/02/14(木) 19:51:08
困ります
646デフォルトの名無しさん:2008/02/14(木) 19:51:12
moduleを名前空間の為に使うんじゃねぇよゴルァ!


ってこと?
647デフォルトの名無しさん:2008/02/14(木) 20:46:59
まあモジュールの中からトップレベルの定数を参照出来ないと死ぬほど面倒臭いんだが。
…… "::" を打つのがそんなに面倒なのかとか問わない。
648デフォルトの名無しさん:2008/02/14(木) 21:16:23
モジュールの中はネストの関係で参照できて当然で、そんなことを言ってるんじゃない
649デフォルトの名無しさん:2008/02/14(木) 21:18:02
明示的にA::Bって書いてるんだから、この仕様は不自然だろ
650デフォルトの名無しさん:2008/02/14(木) 21:19:53
結論:toplevelは気持ち悪い
651デフォルトの名無しさん:2008/02/14(木) 21:27:15
class Main
public:
def self.main

内じゃないと実行できないようにしようぜ
652デフォルトの名無しさん:2008/02/14(木) 21:27:55
トップレベルの定数がObjectにくっ付いてるのが悪い
653デフォルトの名無しさん:2008/02/14(木) 21:33:24
>>652
うーん…
654デフォルトの名無しさん:2008/02/14(木) 21:47:14
const_missingがあった場合はなんか予期しない振る舞いになる気がするなあ。

class Foo
def self.const_missing(id)
43
end
end

Foo::Bar
=> 43
(....)

Bar = 9
Foo::Bar
=> 9
655デフォルトの名無しさん:2008/02/14(木) 21:48:38
と思ったけどこれは1.8でも同様か。ま、シャドウイングするか別いいかな。
656デフォルトの名無しさん:2008/02/14(木) 21:50:35
::の無い定数呼び出しと ::有りの定数呼び出しは区別してくれた方が良さそうだ
657デフォルトの名無しさん:2008/02/14(木) 21:59:46
class String
String.new
end
で2つのStringが別のものになるとかなり当惑しそうだな。
658デフォルトの名無しさん:2008/02/15(金) 17:04:54
別にトップレベルが見えてもいいとは思うけど少なくとも警告は(1.8のように)
してほしいなあ。この辺は小さくハックできるのと大規模アプリのために
きっちりエラーになるとの違いだけどさあ。
659デフォルトの名無しさん:2008/02/16(土) 01:03:11
a=[[0]]*4
p a #=> [[0],[0],[0],[0]]
a[0][0]=1
a[1][0]=2
p a #=> [[2],[2],[2],[2]]

意味ねぇwwwwwwwwwwwww
660デフォルトの名無しさん:2008/02/16(土) 01:07:07
a=Array.new(4){[]}
p a #=> [[0],[0],[0],[0]]
a[0][0]=1
a[1][0]=2
p a #=> [[1], [2], [], []]
661デフォルトの名無しさん:2008/02/16(土) 03:50:18
nannzo?
I understand it -> a[0][0]
662デフォルトの名無しさん:2008/02/16(土) 03:50:47
Sorry, >>661 is mistake...
I DO NOT understand it -> a[0][0]
what is meaning?
663デフォルトの名無しさん:2008/02/16(土) 04:07:44
>659
[[0]]*4 なので、生成してる[0]は1つだけ。
aの中身のそれぞれの[0]は、全く同じ[0]を参照してる。
だから、それを変更すると全部置き換わったように見える。
664デフォルトの名無しさん:2008/02/16(土) 04:09:07
>>662
Ruby 初心者スレッド Part 16
http://pc11.2ch.net/test/read.cgi/tech/1197120980/
665デフォルトの名無しさん:2008/02/16(土) 04:48:31
a=Array.new(4){[]}
p a #=> [[0],[0],[0],[0]]


???
666デフォルトの名無しさん:2008/02/16(土) 09:59:20
そこは記述ミスだな
頭の中だけで考えて書いたのだろう

irb> a=Array.new(4){[0]}
irb> p a
[[0], [0], [0], [0]]
irb> a.each{|e| p e.object_id}
538351488
538351438
538351278
538351218
irb> a[1][0]=1; a[2][0]=2
irb> p a
[[0], [1], [2], [0]]
667デフォルトの名無しさん:2008/02/16(土) 11:59:19
668デフォルトの名無しさん:2008/02/16(土) 12:09:00
>>666
irbのコピペを整形するのって面倒なんだよね
669デフォルトの名無しさん:2008/02/16(土) 14:17:01
670デフォルトの名無しさん:2008/02/16(土) 14:18:18
671デフォルトの名無しさん:2008/02/16(土) 14:23:54
事実で名誉毀損も糞もないと思うが
672デフォルトの名無しさん:2008/02/16(土) 14:26:33
結構いるよね、事実を口にするだけなら名誉毀損にならないと思ってる人。
刑法230条あたりを調べてみるといいよ。
673デフォルトの名無しさん:2008/02/16(土) 14:40:11
宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
その宗教の人から隣地殺人される。

モルモン教は差別されるような宗教なのかと。恥ずかしいことなのかと。
674デフォルトの名無しさん:2008/02/16(土) 14:43:01
>宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
>その宗教の人から隣地殺人される。
こういうのが名誉毀損なんだろうな
675デフォルトの名無しさん:2008/02/16(土) 14:47:46
>>667は名誉毀損なのか?
全部公開情報じゃないか。見せたくなければwebにしないか認証でもかけておけばいいのに
676デフォルトの名無しさん:2008/02/16(土) 14:54:45
舞波の人にとっては>>667みたいに書かれても
「それがどうした」レベルの話だと思うぞ。


677デフォルトの名無しさん:2008/02/16(土) 15:09:18
コピペするエネルギーを別の事に使えばいいのに
678デフォルトの名無しさん:2008/02/16(土) 15:20:36
>>674
>宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
>その宗教の人から隣地殺人される。

これが事実っていう意味?
679デフォルトの名無しさん:2008/02/16(土) 15:52:13
でもまあ、アンチはレベルが低いというのはよくわかった。
680デフォルトの名無しさん:2008/02/16(土) 17:39:33
信者はさらに低レベルなんですねwww
681デフォルトの名無しさん:2008/02/16(土) 17:48:46
>>671が切り口を変えようと必死だなぁ。

無駄なのにw
682デフォルトの名無しさん:2008/02/16(土) 19:15:11
>>674
有害なものの一つとして金閣寺が含まれている事実を知らないらしい。

理由は宗教だから。




ちなみに有害としてるのはNTTドコモね。
683デフォルトの名無しさん:2008/02/17(日) 03:57:00
へえ、そうなんだ。その話は興味深いけど、急になんのこっちゃ?っていうw

疑問符いちいち言うとグダる一方だな。
お手数かけますが、一旦何伝えたいのか整理して欲しい

俺も横から突っ込み入れたクチなんで、明確な非があったなら謝るから
684デフォルトの名無しさん:2008/02/17(日) 09:54:48
国宝であり観光地である金閣寺は宗教だから有害
Rubyは日本産で新しいプログラミング言語だけど宗教だから有害
685デフォルトの名無しさん:2008/02/17(日) 10:58:24
>>544
ここで働きたいぜ。
686デフォルトの名無しさん:2008/02/17(日) 12:40:15
島根CMS age

島根県のホームページ管理システムがOSSとして無償公開,地元企業がRubyで開発:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080215/293919/
687デフォルトの名無しさん:2008/02/17(日) 12:49:16
島根でやったのは正解だな。
アクセス数もそんなにないだろうから、一応公的システムの実績として上げられるしな。
688デフォルトの名無しさん:2008/02/17(日) 13:10:56
>>686
GalateaってGPLで配布できないんじゃないの?
BSDライセンスと同じ理由で。
それとも俺の勘違いか?
689デフォルトの名無しさん:2008/02/17(日) 13:24:35
http://www.gnu.org/philosophy/bsd.ja.html
を読む限り、宣伝条項は名前を変えたバリエーションが増えるとうざい
よね、という話に見えるんだが、GPLと非互換になるとしている文章多いな。
690デフォルトの名無しさん:2008/02/17(日) 19:15:20
GPLはGPLにない配布制限を入れてはいけない
というライセンスなので宣伝条項付きは非互換
691デフォルトの名無しさん:2008/02/17(日) 19:20:17
>>684
金閣寺は国宝ではない。
金閣寺は実は本来は寺ではない。つーか、あれをどういう宗教だと思ってるんだ?

つーかちょっとは調べてから発言しろよ。
692デフォルトの名無しさん:2008/02/17(日) 19:53:07
拝金主義の権化だって言ってた奴もいたなあ
693デフォルトの名無しさん:2008/02/17(日) 19:54:13
>>691
国宝じゃないとは知らなかった。

しかし、金閣寺は宗教施設と分類されている事実。
694デフォルトの名無しさん:2008/02/17(日) 20:04:03
放火される前の本物の鹿苑寺金閣は国宝だったんだけどね
今現存するのは屋根の上の飾りを除いて復元のレプリカ
金閣寺本体を見て「なんかケバくて感動しない」と感じるのはある意味正しい
むしろ庭とかのほうが歴史の味が残っていて美しいと思う
695デフォルトの名無しさん:2008/02/17(日) 20:05:45
孤独を埋めたいならこんなところでがんばってないで風俗でも逝って来い
696デフォルトの名無しさん:2008/02/17(日) 20:17:47
日本の寺なんか何度も燃えてるだろ
697デフォルトの名無しさん:2008/02/17(日) 22:06:54
本能寺とかな
あれは熱かった・・
698デフォルトの名無しさん:2008/02/17(日) 22:09:34
>>697
先に腹切ったんだから熱くないだろ
699デフォルトの名無しさん:2008/02/17(日) 22:10:10
うちまで火の粉が飛んできて大変だったよ
700デフォルトの名無しさん:2008/02/17(日) 22:25:42
比叡山が燃えたときは涼しかったらしいぞ。
701デフォルトの名無しさん:2008/02/17(日) 22:41:40
冷ぇ〜
702デフォルトの名無しさん:2008/02/17(日) 22:52:51
いつから大喜利スレになったんだ
703デフォルトの名無しさん:2008/02/17(日) 23:39:01
それも寒いネタばっかり
704デフォルトの名無しさん:2008/02/18(月) 05:58:23
比叡山で冷ぇ〜だもんな
705デフォルトの名無しさん:2008/02/18(月) 05:58:59
我慢大会みたいな。
706デフォルトの名無しさん:2008/02/18(月) 09:58:27
配列とハッシュってどっちがアクセス早いの?
707デフォルトの名無しさん:2008/02/18(月) 10:20:14
1000要素くらいでは1万回くらい実行しないと変わらないと思う

で、要素の塊に対してどういうアクセスをするかで違う、が答じゃね
708デフォルトの名無しさん:2008/02/18(月) 11:05:50
>>706
疑問になったらまずは自分でベンチマークを書くんだ
709デフォルトの名無しさん:2008/02/18(月) 18:56:14
そしておれたちに報告するんだ
710デフォルトの名無しさん:2008/02/18(月) 20:03:07
まず 「アクセス」 を定義するんだ。
711デフォルトの名無しさん:2008/02/18(月) 23:11:37
浅倉。
712デフォルトの名無しさん:2008/02/18(月) 23:13:28
もう一人カワイソス
713デフォルトの名無しさん:2008/02/19(火) 11:10:28
714デフォルトの名無しさん:2008/02/19(火) 11:26:26
>>713
アンチスレから出てくんな
715デフォルトの名無しさん:2008/02/19(火) 18:28:29
require_relative
716デフォルトの名無しさん:2008/02/19(火) 23:27:16
クリエイティビティみなぎる俺には物足りないんだよねruby
某蛇言語は俺のハートをガッシリ掴んだが
お前らrubyプロはこれ使って何やってんの?具体的に教えてくれよ
717デフォルトの名無しさん:2008/02/19(火) 23:41:01
>716
逆にRuby使いからするとPython使って何してるのか判らんワケで…。
結局似たようなことやってんじゃね?
718デフォルトの名無しさん:2008/02/19(火) 23:44:10
shスクリプト



Perl PHP


の三角の間の何かをしてるんだろうな
719デフォルトの名無しさん:2008/02/20(水) 00:06:22
>>716-717
どっちの言語も、学ぶことで形にできるようになるものといったら、
「上から目線で他言語を煽ること」くらいだものな。
720デフォルトの名無しさん:2008/02/20(水) 00:26:06
PyhonはググルとMSにヨイショされてるからその点では明らかにPyhon>Ruby
Matzもどこかにもぐりこめばいいのに^^;
721デフォルトの名無しさん:2008/02/20(水) 00:55:24
>706
"ID;text"っていう形式で2万行くらいあるcsvデータに
与えた文字列とぴったり一致するIDが存在するかどうかを調べるスクリプトを書いた結果から言えば
配列よりハッシュのほうが20倍くらい速かった。他の処理は知らん。
722デフォルトの名無しさん:2008/02/20(水) 01:02:59
Arrayへのinclude?やgrepはHashへのhas_key?やfetchに比べれば遅いだろうな
723デフォルトの名無しさん:2008/02/20(水) 01:15:14
配列とハッシュのデータ構造の違いの話なんだからRubyの問題じゃないでそ
実験して見るまでも無いさ
724デフォルトの名無しさん:2008/02/20(水) 02:00:52
include?とhas_value?ならinclude?のほうが早かったよ
725デフォルトの名無しさん:2008/02/20(水) 10:47:41
>>724
kwsk
726デフォルトの名無しさん:2008/02/20(水) 22:33:34
Linux Standard Base 3.2がリリース
Linux標準にPerlとPythonが追加
ttp://www.atmarkit.co.jp/news/200802/20/lsb.html

PythonはGUI強いからなあ
727デフォルトの名無しさん:2008/02/20(水) 22:53:24
プログラミング初心者ですが、質問があります。
Pythonは言語自体はシンプルで、必要な機能は拡張モジュールを使って追加する、と
PyJUGのホームページに書いてありました。
これは、Rubyにも当てはまりますか?
728デフォルトの名無しさん:2008/02/20(水) 22:55:24
大体おk
729デフォルトの名無しさん:2008/02/20(水) 23:03:14
>>728
横からすまん。
>>727のレスを見て完全にあてはまると思ったんだが、大体に当てはまらないのはどのへん?
730727:2008/02/20(水) 23:03:37
出来れば具体的にお願いしますm(_ _)m
731デフォルトの名無しさん:2008/02/20(水) 23:19:56
困る728w
732デフォルトの名無しさん:2008/02/20(水) 23:44:11
728じゃないが
>言語自体はシンプル
この辺かなぁ。
てゆーか、俺はRubyもPythonも
シンプルさを売りに出来るほどシンプルとは思わんが。
まぁ、シンプルでなきゃダメダメなんて言うつもりもないけど。
733デフォルトの名無しさん:2008/02/20(水) 23:49:39
シンプルと感じるかどうかは人によって異なるからなあ
>>728みたいに曖昧な答えになるのは当然じゃないの
734デフォルトの名無しさん:2008/02/20(水) 23:52:52
シンプルに記述することはできるよね。
でもその裏返しに、込められた意味は多いってことだから。

これを「カンタン」と言うのは変だよね。
ってスタンスでそ。
735デフォルトの名無しさん:2008/02/21(木) 00:01:44
Rubyの複雑さは人間に優しい複雑さだから。
736デフォルトの名無しさん:2008/02/21(木) 00:15:45
ソースが仕様で人間にも優しい
737デフォルトの名無しさん:2008/02/21(木) 01:03:27
話としては、処理系自体は機能をある程度絞っていて、必要なら自分で拡張モジュール追加しろ、ということだろ?
そう言われると「シンプルかなあ」という気はするよね。

記述性がどうこうというのはまた別問題。
738デフォルトの名無しさん:2008/02/21(木) 01:29:01
ソースが仕様って、開発してる奴バカなの?
739デフォルトの名無しさん:2008/02/21(木) 01:40:55
>>738
という頭の悪いレスを返すお前に全俺が泣いた。
740デフォルトの名無しさん:2008/02/21(木) 06:22:09
ソースが仕様書です

ってくらい分かりやすく記述せよって事じゃないのかw?
741デフォルトの名無しさん:2008/02/21(木) 08:45:48
じゃあinject禁止
742デフォルトの名無しさん:2008/02/21(木) 08:53:37
時々ある Hoge.new(params) ではなく Hoge(params) 形式の関数的クラスは使用禁止な
743デフォルトの名無しさん:2008/02/21(木) 10:43:06
>>738
釣りだよね?
744デフォルトの名無しさん:2008/02/21(木) 11:34:41
>>738
もうわかったと思うけど、そこを指摘すると信者がひどくファビョるから注意な。
745デフォルトの名無しさん:2008/02/21(木) 12:17:24
>>744
頭が悪いといわれても、そんなに怒るなよ。
746デフォルトの名無しさん:2008/02/21(木) 13:20:11
ファビョってるw
747デフォルトの名無しさん:2008/02/21(木) 14:41:28
メジャーな言語になってしまうと、
>>746みたいな低レベルな人間も使ってしまうところが
嫌な事だな。
748デフォルトの名無しさん:2008/02/21(木) 14:50:29
長く使ってるとアンチになるというのが定説
749デフォルトの名無しさん:2008/02/21(木) 14:51:26
ただでさえ資金も人も時間も足りないんだから、凄然とされた仕様書を
書いている暇があったら、ソースコードに手を入れてください (> <)
750デフォルトの名無しさん:2008/02/21(木) 14:55:45
使えば使うほど仕様の不安定さに泣かされることになるからな
今はもう取り下げられたが、少し前には、
お前ら本当にRuby使ってんのかよ的な仕様変更がいくつか提案されててうんざりしたわ
751デフォルトの名無しさん:2008/02/21(木) 15:32:50
Matzが日本人じゃなかったら間違いなくPythonつこうとる
752デフォルトの名無しさん:2008/02/21(木) 16:03:49
Matzが日本人じゃなくてもどっちを使うかと言われたらRubyだなあ。
もっとも、Matzが日本人じゃなかったらとっくに捨ててRubyでもPythonでもない別の言語を使ってる。
753デフォルトの名無しさん:2008/02/21(木) 16:05:47
>>750
HashMapとArrayの混合の事?
754デフォルトの名無しさん:2008/02/21(木) 17:59:31
てか1.9での変更に文句つけるやつはただのアホだろ
755デフォルトの名無しさん:2008/02/21(木) 18:20:16
みんな文句つけまくりでMatzが案を引っ込めるのがよくあるパターンですが
756デフォルトの名無しさん:2008/02/21(木) 19:41:55
じゃあ、こうなったら
Yet Another Ruby
をみんなで作ろうぜ。
略してYAR。
757デフォルトの名無しさん:2008/02/21(木) 19:44:44
とりあえず String#sg という名前は末代まで語り継ぎたい。
758デフォルトの名無しさん:2008/02/21(木) 19:47:56
結局それは何をするメソッドなの?
759デフォルトの名無しさん:2008/02/21(木) 19:58:41
名前重要っていう、Matzへのしっぺ返しメソッドとして語り継がれるわけだ
呼べば NamaeJuuyouError < NameError な例外がかえって来るように実装すればいいんじゃね?
760デフォルトの名無しさん:2008/02/21(木) 19:59:57
double pi=3.14159265358979823846;
if((fp=fopen("PI.bin","wb"))==NULL)
printf("\aファイルをオープンできません。\n");
else{
fwrite(π,sizeof(double),1,fp);
fclose(fp);
}

C言語で↑のようにpiをバイナリファイルに書き込んで、
BZというバイナリエディタで開いたのですが”$-DT・ @”(文字部)と表示されました。
その後にfread関数でPI.binの内容をプログラム上で出力すると3.1415926……とさきほどの数字に限りなく近い数字できちんと表示されたのですが
バイナリエディタで見ると変な文字に変わってしまうのは、何が原因なのでしょうか?これをバイナリファイルとして正しく見れる方法はあるのでしょうか。
761デフォルトの名無しさん:2008/02/21(木) 20:17:38
そりゃ浮動小数点数は、整数とはバイナリへの納め方がちがうもんよ
762デフォルトの名無しさん:2008/02/21(木) 20:31:58
>>760
http://www.cc.kyoto-su.ac.jp/~yamada/pB/pB.html
今ググったら出てきた。ここ行って6,7読んで勉強汁。
というか、本買って読め。
あと、質問の内容が全然 Ruby と関係ないから、
次からはちゃんと適切なスレで質問して。
763デフォルトの名無しさん:2008/02/21(木) 21:07:20
こいつD言語スレでも見たぜ
764デフォルトの名無しさん:2008/02/21(木) 21:25:54
>>762が答えてくれたんだからいいじゃん
きちんと最後まで責任持てよ
765デフォルトの名無しさん:2008/02/21(木) 23:32:06
>>760
fwrite(π,sizeof(double),1,fp);

fprintf(fp, "%lf", π);
766デフォルトの名無しさん:2008/02/21(木) 23:38:10
>>765
πはそのままなんだ。Cってこんな書き方できるんだ
767デフォルトの名無しさん:2008/02/21(木) 23:42:13
できねーよ
768デフォルトの名無しさん:2008/02/22(金) 00:05:06
Array#between(start..end)
が欲しいな
Array#slice(start..end)
Array#slice(pos[, len])
は引数が2パターンあってあんまり綺麗じゃない
769デフォルトの名無しさん:2008/02/22(金) 08:33:38
それはbetweenではない
770デフォルトの名無しさん:2008/02/22(金) 08:41:02
Array#kanibasami
771デフォルトの名無しさん:2008/02/22(金) 08:43:47
Array#pafupafu
772デフォルトの名無しさん:2008/02/22(金) 08:52:17
面白いと思っているのか?
773デフォルトの名無しさん:2008/02/22(金) 10:27:58
うん。わりと・・・
774デフォルトの名無しさん:2008/02/22(金) 11:16:32
775デフォルトの名無しさん:2008/02/22(金) 11:20:33
コピペ君て馬鹿(ry
776デフォルトの名無しさん:2008/02/22(金) 11:21:49
西 和則ってのがロリコンなだけだ
Rubyは関係ない
777デフォルトの名無しさん:2008/02/22(金) 11:58:44
>>776
!否… Rubyistです…
r
778デフォルトの名無しさん:2008/02/22(金) 12:04:13
>>777
包含関係、必要条件、十分条件、逆、対偶、といったことが理解できない人はこの板に来ないほうがいいと思うよ、マジで。
779西和則:2008/02/22(金) 12:07:47
780デフォルトの名無しさん:2008/02/22(金) 12:11:14
>>778
!理解しました…
r                ???品質と云う物ですね???
781デフォルトの名無しさん:2008/02/22(金) 12:13:51
で西 和則って誰
782デフォルトの名無しさん:2008/02/22(金) 12:18:44
>>781
?さぁ… 何方でしょう…
r
783デフォルトの名無しさん:2008/02/22(金) 13:37:10
>>778
WHOISの意味がわからない人も見てて恥ずかしいからなんとかして欲しい
784デフォルトの名無しさん:2008/02/22(金) 13:49:50
この変な文章はこのあいだまでlinux板にいたアナスイだろ
相手しちゃダメですよーー
785デフォルトの名無しさん:2008/02/22(金) 15:05:58
推奨NGWORD:西 和則
786デフォルトの名無しさん:2008/02/22(金) 15:06:23
推奨NGWORD:ロリ
の方がいいか
787デフォルトの名無しさん:2008/02/22(金) 15:39:54
MLの質問の仕方はどうにかならんもんなのか。
うまく動かなかったら、コードを削って最小限のコードを
提示するのが当たり前だと思うのだが。
788デフォルトの名無しさん:2008/02/22(金) 16:37:12
どうにもなってない以上それは「当たり前」ではないのだろ
あんたはその「当たり前」はどうやって習得した?
789デフォルトの名無しさん:2008/02/22(金) 16:46:16
net/protocol.rbからTimeout::Errorが飛び出すのは設計ミス
790デフォルトの名無しさん:2008/02/22(金) 16:51:08
>>789
うむ
791デフォルトの名無しさん:2008/02/23(土) 00:15:33
>>788
おれは仕事故、先輩諸氏に徹底的に追い詰められる事で覚えたな。
最近は甘やかしすぎというか、いい人し過ぎな馬鹿が多いんだろう。だから馬鹿が増える。その馬鹿が馬鹿を育てる。悪循環というわけだ。
で、お前は?
792デフォルトの名無しさん:2008/02/23(土) 00:24:50
最近Rubyの話題があんまりないような
793デフォルトの名無しさん:2008/02/23(土) 00:32:19
1.9.0-1が出たらあーだこーだ盛り上がります
794デフォルトの名無しさん:2008/02/23(土) 00:33:46
その内容は今と大差ないdis合戦とちゃうんか?
795デフォルトの名無しさん:2008/02/23(土) 00:41:22
せめて1.9.1が出てくれないと盛り上がらない
796デフォルトの名無しさん:2008/02/23(土) 00:53:41
Rubyの標準ライブラリって死んでるのが多いよね。
CGI系はご覧のとおりで、ドキュメントもテストも少ない。cgiextを取り込んで
kuwataさんにメンテナになってもらえばいいのに。

DLなんかはインタフェイスが変わってるというのにドキュメントがまったくないし。
人に使ってもらう気がないというか、狂ってるよね。

GUIはもういい加減Tkを捨てたほうがいい。debianでもデフォルトで
ライブラリが作られないなんてやる気がないとしか思えん。
せめてruby/gnome2を取り込めばいいのに。
797デフォルトの名無しさん:2008/02/23(土) 01:06:16
ドキュメントの無いライブラリは全部obsoleteにしろよ
存在が無意味だから
798デフォルトの名無しさん:2008/02/23(土) 01:09:23
ドキュメントがないライブラリは結局自分で読み砕かないといけないから自分で書くのとあんまり変わらん
799デフォルトの名無しさん:2008/02/23(土) 01:13:48
>>798
書き手にある程度の信頼が置ければ、またそのライブラリが十分にメンテされていれば、自分で書くよりは遙かに楽、だとは思うけどね
ただ十分にメンテされているライブラリにドキュメントがないっていう状況があるかどうかは知らない
800デフォルトの名無しさん:2008/02/23(土) 01:16:40
Rubyのライブラリで信頼がおけるのは、PythonかPerlで使われてて
十分ならドキュメントがあるやつをパクってきたやつだな。
これならサンプルコードをべたに移植すればだいたい動くしね。

801デフォルトの名無しさん:2008/02/23(土) 01:20:00
>>800
Perlのを移植したcgi.rbはまったく信頼がおけない
802デフォルトの名無しさん:2008/02/23(土) 01:22:48
>>801
Perlのを移植したんだっけ?
803デフォルトの名無しさん:2008/02/23(土) 01:24:04
>>791
コード削らんな、コンパイラのバグか、自分のバグかわかんないからな
804デフォルトの名無しさん:2008/02/23(土) 01:47:55
Lisp相当のマクロ搭載しろよ。
805デフォルトの名無しさん:2008/02/23(土) 02:02:57
mycomジャーナルで知ったんだが、rushとかいうrubyで書かれたシェルがあるらしい。
sshのコネクションも一つのオブジェクトとして解釈するとか結構面白そう。

使ってる人いる?
806デフォルトの名無しさん:2008/02/23(土) 02:08:39
昔からそんなのなかったっけ

あまりにも昔からあるもんだから「使えなかった時代」の印象で
旧い人たちには現在もスルーされまくってるというのがありがちだが
807デフォルトの名無しさん:2008/02/23(土) 02:09:06
ラッシュってホモゲイの人が使う興奮剤じゃなかったっけ
808デフォルトの名無しさん:2008/02/23(土) 02:13:32
809デフォルトの名無しさん:2008/02/23(土) 02:27:57
Rush違い 
810デフォルトの名無しさん:2008/02/23(土) 11:52:16
例のゲイ人はどうなった?
811デフォルトの名無しさん:2008/02/23(土) 11:57:27
興奮剤?
ホルモン剤?
812デフォルトの名無しさん:2008/02/23(土) 12:42:02
>>807
何でそんなこと知ってんだよ
813デフォルトの名無しさん:2008/02/23(土) 12:42:55
推奨NGWORD:ゲイ
814デフォルトの名無しさん:2008/02/23(土) 13:35:09
プロはむしろゲイでレス抽出
815デフォルトの名無しさん:2008/02/23(土) 14:58:36
>>797
その方向でいくと本体もobsolete化
816デフォルトの名無しさん:2008/02/23(土) 15:01:30
その方向でおk
817デフォルトの名無しさん:2008/02/23(土) 16:24:38
僕の息子もobsoleteされそうです><
818デフォルトの名無しさん:2008/02/23(土) 16:40:55
>が、最近のruby-coreでの議論の結果、timeoutがネストしている場合で
>もそれぞれを区別するようになり、1.9では同時にTimeout::Errorも
>RuntimeErrorのサブクラスに戻りました。
819デフォルトの名無しさん:2008/02/23(土) 17:11:00
戻ってくんな
820デフォルトの名無しさん:2008/02/23(土) 17:50:35
Matz×Dan×Daiji「エンジニア進化論」
「てくらぼ」オープニングイベント スペシャル対談開催
http://www.pasonatech.co.jp/techlab/event_080311.jsp

タイトルがMatsになっとる
821デフォルトの名無しさん:2008/02/23(土) 17:56:32
また香ばしい人間ばっかり集めてきたな…
822デフォルトの名無しさん:2008/02/23(土) 20:03:42
ホモはどうすんのよ?
823デフォルトの名無しさん:2008/02/23(土) 20:43:19
>>811
一瞬モルモン剤に見えた。
824デフォルトの名無しさん:2008/02/23(土) 23:10:45
rmagick2使ってるんですけど、モノクロなjpgを探せませんか?
グレイスケールのフォーマットとかではなくて、中身が実質白黒なやつです。
任意の点で彩度が何ぼ以下とかいう処理になると思うんですけど。
825デフォルトの名無しさん:2008/02/23(土) 23:26:11
if,def...〜end構文アレルギーを克服したらRubyを使うのが楽しくなってきた(^o^)
826デフォルトの名無しさん:2008/02/23(土) 23:32:08
>>824
そのものはないようなので、

require 'enumeartor' # 1.9.xでは不要

class RMagick::Image
def gray_scale?
enum_for(:each_pixel).all? {|pixel, h, s, l = pixel.to_HTL; s < NAMBO }
# 1.9だと、each_pixel.all? {...}
end
end

でどうだ。

Image#color_histogram とうのも使えるかもしれないけど、
多色画像だと無駄が多いか。
827デフォルトの名無しさん:2008/02/23(土) 23:35:10
× to_HTL
○ to_HSL

まぁ、画像やる人なら分かるだろうけど……
828デフォルトの名無しさん:2008/02/24(日) 03:14:02
>>820
そこの写真、なんか細くなってないか?
829デフォルトの名無しさん:2008/02/24(日) 19:56:56
やべぇ炊飯器でカレー作ったらすげぇ美味いのな
830デフォルトの名無しさん:2008/02/24(日) 19:57:17
誤爆したorz
831デフォルトの名無しさん:2008/02/24(日) 19:57:39
829.__send__(:kwsk)
832デフォルトの名無しさん:2008/02/24(日) 20:41:32
831.kwsk 829
では?
833デフォルトの名無しさん:2008/02/24(日) 20:49:28
"やべぇ炊飯器"が気になる
834デフォルトの名無しさん:2008/02/24(日) 20:54:43
>>832
おまえはOOPLが分かってない
835デフォルトの名無しさん:2008/02/24(日) 21:01:23
炊飯器でカレーって作れるの?
836デフォルトの名無しさん:2008/02/24(日) 21:07:15
カレーにRubyを入れたらうまそう(-_-)
837デフォルトの名無しさん:2008/02/24(日) 21:08:12
炊飯器でカレー作ったらご飯が炊けないじゃないか
致命的なバグだ
838デフォルトの名無しさん:2008/02/24(日) 21:11:21
炊飯器って結局は圧力釜みたいなもんじゃないか?
839デフォルトの名無しさん:2008/02/24(日) 21:12:06
バグというか設計不良だなw
840デフォルトの名無しさん:2008/02/24(日) 21:18:26
炊飯器2個買え
841デフォルトの名無しさん:2008/02/24(日) 21:24:11
842デフォルトの名無しさん:2008/02/24(日) 21:27:21
>>841
激しくスレ違いだが、素直にすげぇな
843デフォルトの名無しさん:2008/02/24(日) 21:28:25
こんなつくりかただと水っぽすぎるだろう
玉ねぎも炒めてないから香ばしくないだろうし。
844デフォルトの名無しさん:2008/02/24(日) 21:28:26
Rubyの設計も>>841を見習うべき
845デフォルトの名無しさん:2008/02/24(日) 22:10:31
炊飯器でご飯炊くついでに別容器を入れてなんかする、というのは割と普通だと思っていた。
なお、ご飯に匂いがつくので、この例みたいにどうせカレーにするからカレーの匂いがついてもいい、とかじゃない限り、ある程度妥協が必要。
846デフォルトの名無しさん:2008/02/24(日) 22:26:51
ウオツカ・ジンの助の人の本には、炊飯器に卵をいれて一石二鳥という
ネタがいつも載ってるね。
847デフォルトの名無しさん:2008/02/24(日) 22:54:46
試しにジャガイモと鶏肉とコンソメを放り込んで炊いたら
スープを期待したのに汁気が全部ジャガイモと鶏肉に吸い込まれて煮物になってしまったわけだが…
848デフォルトの名無しさん:2008/02/24(日) 23:04:12
class ご飯
end

module カレー
end

class カレーライス < ご飯
 include カレー
end
849デフォルトの名無しさん:2008/02/24(日) 23:10:16
class カレーうどん < うどん
include カレー
end

便利だなあRubyって
850デフォルトの名無しさん:2008/02/24(日) 23:16:54
>>847
それはそれで旨そうなわけだがw
851デフォルトの名無しさん:2008/02/24(日) 23:32:07
>>849
便利なのはRubyじゃなくて「カレー」だとオモタ
852デフォルトの名無しさん:2008/02/24(日) 23:50:14
カレー単体のインスタンスを作れない欠陥が…
さすがにカレーモジュールは違和感あるな
実用上問題無ければ自分だけで使う分にはかまわないけど
こんなライブラリがあったら嫌だ
853デフォルトの名無しさん:2008/02/24(日) 23:53:34
カレー単体のインスタンスなんて辛くて食えねーだろ。
854デフォルトの名無しさん:2008/02/24(日) 23:58:46
カレーをmixinすると、
元が何であれすべてカレーになります。

そのくらい便利って話。
855デフォルトの名無しさん:2008/02/24(日) 23:59:06
ちょうどさっき米の在庫が無くなったからカレーだけ食べたぞ。
普通においしい。
856デフォルトの名無しさん:2008/02/25(月) 00:06:09
だが、複数の「具(メソッド)の重複」があるとミックスイン機構は破綻する。
857デフォルトの名無しさん:2008/02/25(月) 00:30:49
>>856
カレーと肉じゃがは mixin するなと…
858デフォルトの名無しさん:2008/02/25(月) 00:50:01
>>857
CoCo壱で売ってたな。
859デフォルトの名無しさん:2008/02/25(月) 03:21:27
require カレー
require 肉じゃが

とすれば、2行目のrequire で入るのは白滝と長ネギだけで済む
860デフォルトの名無しさん:2008/02/25(月) 11:22:39
>>859
それ、解決になっていないから。つか、生じうる問題を認識できてないんじゃ?
861デフォルトの名無しさん:2008/02/25(月) 11:35:36
料理は多重継承が無いと表現が難しい希ガス

食材→モジュール
料理→クラス
と思ったけど、料理を組み合わせて作る料理もあるから・・・
オムカレーとかw
862デフォルトの名無しさん:2008/02/25(月) 12:06:41
バーチャルで定義してもダメ?
863デフォルトの名無しさん:2008/02/25(月) 15:36:47
いやいや、ライスカレーとカレーライスは似てるけど非なる料理なように
追加部分を''混ぜ込む''mix-inは合ってると思うけどな。

ModuleをclassにしたりClassをModuleにしたりするのはどうするんだっけか
864デフォルトの名無しさん:2008/02/25(月) 23:52:11
なんだよこの流れ
865デフォルトの名無しさん:2008/02/26(火) 01:38:35
外国人がこういうのやってると遊び心があってカッコいいとか思うけど
日本人がやってるとオタってやだねーとしか思えない漏れ
866デフォルトの名無しさん:2008/02/26(火) 01:41:06
たぶん海外でも一般人からしたら、面白さが分からないと思うがな
867デフォルトの名無しさん:2008/02/26(火) 06:19:32
題材がカレーならそう罪も無いだろう。
エロゲーキャラとかでやられるとアレだけど。
868デフォルトの名無しさん:2008/02/26(火) 09:32:58
ツーテールとかネコ耳とかオオカミ尻尾をMixInするわけだな
869デフォルトの名無しさん:2008/02/26(火) 11:21:00
>>863
さらっと言ってるが、カレーライスとライスカレーの違いを教えてくれ。
870デフォルトの名無しさん:2008/02/26(火) 12:17:52
>>869
カレーにご飯をトッピングしたのがライスカレー。

ご飯にカレーをかけたのがカレーライス。
871デフォルトの名無しさん:2008/02/26(火) 15:22:46
カレーは 1.9 にはもう入ってますよ。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/33676
872デフォルトの名無しさん:2008/02/26(火) 22:21:12
いつ出るかと待ちかまえていた。
やっとでたか。
873デフォルトの名無しさん:2008/02/26(火) 22:39:55
ここはJRubyの質問も受け付けますか?
874デフォルトの名無しさん:2008/02/27(水) 05:14:54
まずは質問を書け。受け付けるか受け付けないかは我々が吟味の上、判断する。
875デフォルトの名無しさん:2008/02/27(水) 06:12:54
>>874
そこは「はい」でいいだろう。既にそういう質問なんだから。
876デフォルトの名無しさん:2008/02/27(水) 10:14:24
>>873
ほかにJRubyのスレがないなら、ここでいいです。
ただし、回答が得られるかどうかはわかりません。

>>875
しょうがないよ。>>874は初心者に対して上から目線になりたいヤシなんだから。
877デフォルトの名無しさん:2008/02/27(水) 10:21:24
JRuby触ったことないから、この機会にここの住民の話聞きたいな
878デフォルトの名無しさん:2008/02/27(水) 10:32:21
>>873
一応専用スレあるよ

【色々】Java系スクリプト言語【やってるよ】
http://pc11.2ch.net/test/read.cgi/tech/1190981940/l50

今年に入ってからまだ一度も書き込みがないみたいだけど
879デフォルトの名無しさん:2008/02/27(水) 15:55:37
>>870の違いがわからあない
880デフォルトの名無しさん:2008/02/27(水) 15:58:55
>>879
だからごはんとライスの違いなんだよ
881デフォルトの名無しさん:2008/02/27(水) 15:59:54
>>879
リゾットと炊き込みご飯くらいの違い
882デフォルトの名無しさん:2008/02/27(水) 16:28:01
焼き飯とチャーハンとピラフの違い
883デフォルトの名無しさん:2008/02/27(水) 17:15:09
フォントと文字コードくらい違う?
884デフォルトの名無しさん:2008/02/27(水) 17:39:26
焼き飯とチャーハンって一緒じゃないの?
885デフォルトの名無しさん:2008/02/27(水) 17:49:43
本気と書いてマジ
886デフォルトの名無しさん:2008/02/27(水) 17:59:32
>>883
フォントと文字コードって、
カレーとライスくらい違うよ。
887デフォルトの名無しさん:2008/02/27(水) 18:00:22
ドロップとオハジキくらい違う
888デフォルトの名無しさん:2008/02/27(水) 18:08:59
このスレは今までになく密度の薄いスレだな
889デフォルトの名無しさん:2008/02/27(水) 18:11:53
あいつが待ち
890デフォルトの名無しさん:2008/02/28(木) 00:09:53
Ruby
AST作れるCCないって
絶対に糞杉じゃね?
891デフォルトの名無しさん:2008/02/28(木) 00:24:48
>>890
なんで?
全角アルファベットつかってるほうが糞じゃね?
892デフォルトの名無しさん:2008/02/28(木) 00:40:50
文法きたねーしなぁ
893デフォルトの名無しさん:2008/02/28(木) 00:45:52
文法とかより、Intellisence使えないのが痛い。

早く、IronRuby公開してよ。
894デフォルトの名無しさん:2008/02/28(木) 00:47:06
>>890
AST作れるCCって、具体的にどんなのがあるの?
そもそもCompiler Compilerすらない言語のほうが多いと思うんだが。
895デフォルトの名無しさん:2008/02/28(木) 00:55:44
>>894
おまえどんだけ無知なの?w

ANTLR(Ruby言語に欠陥があるためRuby用のASTが吐けない)
sablecc
Python組み込み
PHP組み込み
896デフォルトの名無しさん:2008/02/28(木) 01:25:14
raccじゃ駄目なん?
897デフォルトの名無しさん:2008/02/28(木) 01:59:32
>>893
Intellisenceとかバカじゃね?
Rubyの開発はVimかEmacsでやんだよ。Visualなんたらとか絶対ありえん
898デフォルトの名無しさん:2008/02/28(木) 02:05:17
>>897
死ね
899デフォルトの名無しさん:2008/02/28(木) 03:44:35
Rubyを書くエディタをTeraPadからvimに最近転向したんだが、、、
vimで構文チェックとか色つけたりすると結構重たくなるね。
軽くて色を付けてくれれば、エディタなんてなんでもいいんだがなぁ・・・。
900デフォルトの名無しさん:2008/02/28(木) 04:35:43
Rubyスクリプトの色付けに関してはPeggyがトップクラスじゃないかな
901デフォルトの名無しさん:2008/02/28(木) 06:26:00
色付けは甘え
902デフォルトの名無しさん:2008/02/28(木) 07:49:21
だから treetop…… PEG は認めん?
903デフォルトの名無しさん:2008/02/28(木) 07:51:00
Windowsだとむかしから秀丸だわ
904デフォルトの名無しさん:2008/02/28(木) 08:05:49
>>897
vim&Emacsって
疲れるからやだぁ
905デフォルトの名無しさん:2008/02/28(木) 08:15:39
>>895
PythonとPHPに組み込みでCompilerCompilerが存在するというのは初耳なんだけど、検索してもででこんぞ。
ソース希望
906デフォルトの名無しさん:2008/02/28(木) 08:21:27
>>895
あと、AST作れるのってそんなに重要なの?
それよりも文法定義がわかりやすくできるとか、デバッグしやすいことのほうが重要だけどなあ。
ASTを作ってくれるCCがRubyになくてもおれとしてはいっこうに困らない。
それよりもparser combinatorがあったほうがうれしい。
907デフォルトの名無しさん:2008/02/28(木) 08:35:18
実はAndrew Stuart Tanenbaumを生成する機能のことなんじゃね?
908デフォルトの名無しさん:2008/02/28(木) 08:35:23
>>904
疲れる?kwsk
909デフォルトの名無しさん:2008/02/28(木) 08:56:06
astのミドルネーム初めて見たw
910デフォルトの名無しさん:2008/02/28(木) 09:32:12
>>890
>Ruby
>AST作れるCCないって
>絶対に糞杉じゃね?

いまから>>890が、AST作れるCCがいかに重要かを力説してくれます。
みなさんwktkしてお待ちください。
911デフォルトの名無しさん:2008/02/28(木) 09:44:09
お赤飯炊かなくっちゃ!
912デフォルトの名無しさん:2008/02/28(木) 10:18:28
grammerと処理を分離できて良いじゃん。AST
913デフォルトの名無しさん:2008/02/28(木) 10:24:59
そこで Rubinius ですよ。
914デフォルトの名無しさん:2008/02/28(木) 10:31:36
標準でシフト+カーソルキーで範囲指定と、
CTRL-X、C、Vでカット、コピー、ペーストが
できないようなエディタはWindows環境では使えない。疲れる。
915デフォルトの名無しさん:2008/02/28(木) 10:50:48
>>914
確かに。vimはともかくemacs(meadow)にはどうしても慣れないし慣れられるな気もしない
Windows使わない人は良いんだろうけど
916デフォルトの名無しさん:2008/02/28(木) 11:07:59
Emacsも秀丸もどっちも使うけど作業効率は大してからわん
むしろ秀丸をLinuxに移植してくれ
917デフォルトの名無しさん:2008/02/28(木) 11:25:41
>>916
> むしろ秀丸をLinuxに移植してくれ

秀まるおさんに言ってくれ
918デフォルトの名無しさん:2008/02/28(木) 11:46:01
linux上のエミュレータでwindows動かせばええやん
919デフォルトの名無しさん:2008/02/28(木) 12:18:35
>>912
>grammerと処理を分離できて良いじゃん。AST
分離するとなにが嬉しいの?まじでわからん。
それよりgrammerと処理とが別の言語を使わなければいけないほうが問題じゃね?
時代はparser combinator
920デフォルトの名無しさん:2008/02/28(木) 12:21:15
>>912
>grammerと処理を分離できて良いじゃん。AST
sableccはvisitor pattern使うから分離できるけど、JavaCCやANTLRって分離できたっけ?
昔調べたときはまったくそんなことなかったけど。
921デフォルトの名無しさん:2008/02/28(木) 16:14:08
無変換キー+JKLIでカーソル移動
無変換キー+ASDでカットコピーペースト
をどのアプリでも使えるように割り当てたら便利すぎて鼻血でた。
922デフォルトの名無しさん:2008/02/28(木) 16:20:13
>>921
それで慣れてしまうと、人のPCで何かするときに物凄くストレスがたまる罠
923デフォルトの名無しさん:2008/02/28(木) 16:20:55
そしてPCを使えない人として認定される
924デフォルトの名無しさん:2008/02/28(木) 16:22:17
そいで「いくじなし」と言われて置いてけぼりにされる
925デフォルトの名無しさん:2008/02/28(木) 16:23:59
ちょw言い過ぎ
926デフォルトの名無しさん:2008/02/28(木) 17:29:19
>>920
JavaCCもVisitorパターンが利用できるよ。
927デフォルトの名無しさん:2008/02/28(木) 18:08:01
ttp://www.geekpage.jp/blog/?id=2008/2/28
> プログラミング言語と求人件数

> 言語 求人件数(前回) 求人件数(今回)
> Ruby 0件 41件

928デフォルトの名無しさん:2008/02/28(木) 18:22:06
少ねぇ・・
929デフォルトの名無しさん:2008/02/28(木) 18:24:26
あれ?
C++がリストにない・・・
930デフォルトの名無しさん:2008/02/28(木) 18:26:58
C言語なんじゃね
931デフォルトの名無しさん:2008/02/28(木) 18:29:18
CなのかC++なのかC#なのかObjectiveCなのかDなのかはっきりして欲しいよね
932デフォルトの名無しさん:2008/02/28(木) 19:04:19
>>926
うそ、そうなの?いつからそんな賢い機能が。
あと>>895の Python と PHP の組み込みCCとやらを教えてくれ。まじで知りたい。
933デフォルトの名無しさん:2008/02/28(木) 19:15:35
CCレモンってどこが美味いの?
934デフォルトの名無しさん:2008/02/28(木) 19:25:13
一番右のやつがうめぇ
935926:2008/02/28(木) 20:32:00
>>932
http://codezine.jp/a/article.aspx?aid=367
visitorパターンを使った記事だよ。
936デフォルトの名無しさん:2008/02/28(木) 21:58:07
>>932
きっと*.pycを吐く機能のことを構文ツリー生成と勘違いしてると予測中。
937デフォルトの名無しさん:2008/02/28(木) 22:17:00
>>936
でもそれだったら PHP は当てはまらない。
>おまえどんだけ無知なの?w
というくらいだから、>>894はなんかすごいこと知ってるっぽいけど。

あとgrammerと処理を分離できる利点ってだれか説明してくれたっけ?
ほんとに利点があるなら、raccやparser combinatorから乗り換えも考えないといけないなあ。
938デフォルトの名無しさん:2008/02/28(木) 22:53:15
はやくyarvもベリファイアを実装してloadを解禁してほしい
939デフォルトの名無しさん:2008/02/28(木) 23:08:10
1.9.0-1は明日の午後3時ですか
940デフォルトの名無しさん:2008/02/29(金) 00:05:28
ASTと聞いても台湾のPCメーカーしか思い浮かばん
941デフォルトの名無しさん:2008/02/29(金) 02:26:41
>>826
遅くなってしまったけど、ありがとう。
うまくいきました。
942デフォルトの名無しさん:2008/02/29(金) 10:49:51
http://itpro.nikkeibp.co.jp/article/COLUMN/20080128/292199/
こんなクソ記事書いてる暇があったらcgi.rb直せよMatz
943デフォルトの名無しさん:2008/02/29(金) 11:06:52
944デフォルトの名無しさん:2008/02/29(金) 13:24:12
>>895
>おまえどんだけ無知なの?w
>
>ANTLR(Ruby言語に欠陥があるためRuby用のASTが吐けない)
>sablecc
>Python組み込み
>PHP組み込み

PythonにもPHPにも組み込みのコンパイラコンパイラなんかないよ。
あるわけがない。>>895はどんだけ無知なの?
AST言いたかっただけちゃうんか
945デフォルトの名無しさん:2008/02/29(金) 14:07:52
> Ruby言語に欠陥があるためRuby用のASTが吐けない

これ興味があるな。

その情報へのポインタか、Rubyの何がどう障害になるのか
具体的に書いてもらえるとうれしいけど。
946デフォルトの名無しさん:2008/02/29(金) 15:26:32
947デフォルトの名無しさん:2008/02/29(金) 19:52:42
>>945
どうせ>895の勘違い
grammerと処理を分離を分離できる利点もきっとない
948デフォルトの名無しさん:2008/02/29(金) 22:32:04
>>942
直せと言うのは同感だが、それが2006年の記事だってことは理解してるよな?
949デフォルトの名無しさん:2008/02/29(金) 23:15:47
cgi.rbはMerbの人がRackの簡略版を書くらしいので、それが取り込まれるんじゃないかな。
http://groups.google.com/group/ruby-core-google/browse_thread/thread/de40059c1f05e49a/2b1e3d2b4ec1383a
950デフォルトの名無しさん:2008/03/01(土) 14:50:24
Ruby完全に置いてきぼりになっちゃったな。やはり時代はMSか。

712 名無し~3.EXE[] 2008/03/01(土) 12:40:38 ID:Yp7Ku/YR
PowerShellスゲー

> $settings = [xml]"<settings><path></path></settings>"
> $settings.settings.path="c:\windows"
> $settings.settings.path
c:\windows
> $settings.Save("c:\data.xml")

> type c:\data.xml
<settings>
<path>c:\windows</path>
</settings>

> $x = [xml]"<dummy/>"
> $x.Load("c:\data.xml")
> $x.settings.path
c:\windows

PowerShellPlusもリアルタイムで .settings .pathを補完してくれるよ。

951デフォルトの名無しさん:2008/03/01(土) 15:16:15
まあ悲しいかな周りが使わないことにはねえ
アイデアは好きなんだけど

上で出てるRushがWindowsに対応してくれればなあ
952デフォルトの名無しさん:2008/03/01(土) 15:21:19
>>950とRubyの関連性がわからない俺
953デフォルトの名無しさん:2008/03/01(土) 15:46:10
sh置いてきぼりになっちゃったな、ならまだ関連が分かるんだが……
954デフォルトの名無しさん:2008/03/01(土) 16:16:12
1.9.0-1リリースおめ!
955デフォルトの名無しさん:2008/03/01(土) 16:16:28
「Ruby?時代に乗るためにバッチスクリプトの後釜狙ってるんでしょ?
でもWindowsPowerShellのある今、もう出る幕ないよね。
置いてきぼり食らったRubyカワイソス。やっぱり時代はM$だよねプギャー」

とでも言いたいのだろうとエスパー
956デフォルトの名無しさん:2008/03/01(土) 16:24:57
RUby?日本人が発祥だって!?日本人マンセー!!!!

ってならんのがいかにも日本人らしいよね、いい意味で。
もっと頑張ってほしい。
957デフォルトの名無しさん:2008/03/01(土) 16:28:22
>>956
いや、Rubyの初期はそんな感じだったよ。
958デフォルトの名無しさん:2008/03/01(土) 16:29:00
おれはRubyの初期のころも知ってるんだぜ
959デフォルトの名無しさん:2008/03/01(土) 16:30:00
日本人が作ってるのならGaucheとかHSPとか他にもいろいろあるだろ
960デフォルトの名無しさん:2008/03/01(土) 16:31:39
日本の大学だとカリフォルニア大バークレー校的な位置づけってどこになるんだろう
961デフォルトの名無しさん:2008/03/01(土) 16:33:37
匹敵するようなところはなさそうだなぁ。
えーと、jaist?
962デフォルトの名無しさん:2008/03/01(土) 16:34:33
SFC
963デフォルトの名無しさん:2008/03/01(土) 16:35:01
MIT ... KMC
UCB ... titech
かなあ・・・
964デフォルトの名無しさん:2008/03/01(土) 16:40:18
実績ではなく雰囲気で該当するところ探すしかねーな
965デフォルトの名無しさん:2008/03/01(土) 16:52:39
東大 - スタンフォード
SFC - UCB
日吉 - MIT
京大 - INRIA
[JN]AIST - プリンストン研

東京農工 - テキサス農工 (?)
KMC - TMRC (?)
966デフォルトの名無しさん:2008/03/01(土) 17:03:44
* Oniguruma 5.9.1
* added UTF-16,CP949,EUC-KR,GB12345,UCS-{2,4}{BE,LE},GBK,CP936,CP949,GB2312,UTF-7,BIG5,EUC-TW,GB18030,KOI8,KOI8-R,KOI8-U,Windows-1251 support.
* use locale encoding for scripts from -e and stdin unless explicitly specified.
* DATA inherits script encoding.
* __ENCODING__ for current script encoding.
* encoding options Kernel#{putc,puts} invokes STDOUT.{putc,puts} respectively.
* don't use locale dependent strcasecmp.
* -Ks options means Windows-31J, not Shift_JIS.
* string methods work better on UTF-16 strings.
* empty string is compatible with any encoding string add
* string methods run faster for UTF-8.
* String#gsub(pat,hash) use US-ASCII (not ASCII-8BIT) for human readable text.
* allow empty symbol.
* rb_num_coerce_*() now require ID argument.
* Math.cbrt added.
* Math.{gamma,lgamma} added.
* more precise BigDecimal_to_f.
* "0x", "+" and "-" is not a valid integer.
* Proc#curry added.
* Time#strftime officially ignores locale.
* Time.<=> no longer supports comparison with numeric.
* Enumerable#zip behavior reverted to 1.8 one. string
* ObjectSpace.each_obj returns an enumerator if no block given.
* Prime#each returns an enumerator if no block given.
* replace "illegal" to "invalid" in messages.
* Hash#flatten no longer work recursively.
* archdir is "1.9.0", not "1.9".
* added --disable-rubyopt flag.
* import RubyGems r1601.
* Benchmark#realtime a bit faster.
* check NUL in path operand for file operations.
* "make help" shows major targets.
967デフォルトの名無しさん:2008/03/01(土) 17:42:16
>>963
Titechは日本のMITを名乗ってるんだぜ
968デフォルトの名無しさん:2008/03/01(土) 17:54:51
TIT(乳首)かよw



というギャグも内部ではございます
969デフォルトの名無しさん:2008/03/01(土) 17:56:34
titって英語で乳首の意味なのか。日本語ならマンコなのにな。
970デフォルトの名無しさん:2008/03/01(土) 18:05:18
最近Kinki UniversityがKinky University(変態大学)だと思われるのを
回避するためにKindai Universityに名前を変えるかもっていう話があったな。

Kinki Kidsが改名するという話はない、と思う。
971デフォルトの名無しさん:2008/03/01(土) 18:09:26
赤井がいるような大学だからな
構内にはヤニの吸殻散らばってるし
972デフォルトの名無しさん:2008/03/01(土) 18:32:34
近代大学...
973デフォルトの名無しさん:2008/03/01(土) 18:39:14
>>972
恐ろしく語呂が悪い
974デフォルトの名無しさん:2008/03/01(土) 21:07:53
そんなことはどうでもいいんだよ。
ただ影舞で新規登録時のプレビュー機能さえあればそれでいい。
975デフォルトの名無しさん:2008/03/01(土) 21:11:37
影舞は死んでるからこんなところで言ってても一生できないだろ
フォークするか1.9にポーティングしてる人がいたからメールしてみれば。
まあ、retrospectiva使おうよ。
976デフォルトの名無しさん:2008/03/01(土) 21:15:02
影舞復活してるよ
977デフォルトの名無しさん:2008/03/01(土) 22:12:02
そうなの?sfも2005-01-27以降動きないように見えるけどどこで動いてんだ
978デフォルトの名無しさん:2008/03/02(日) 02:48:13
2008-03-01 kagemai-0.8.7 リリース
バグ修正: いろいろ
機能修正:
PostgreSQL, SQL Server のデータ保存が複数のプロジェクトでも1つのデータベースを利用するように変更
管理者がメッセージを非表示にできる機能を追加
ゲストで投稿する時の画像認証をサポート
英語のリソースを追加 (Steve Brumbaugh氏に感謝)
mailif.rb で設定ファイルを外部から指定できるように修正 (BTS:284)
検索結果の CSV 出力時に直接ファイルとして保存できるオプションを追加 (BTS:302)
検索結果の CSV 出力に報告者、報告日、最終更新日を追加
FastCGI 環境での動作をサポート
http://www.daifukuya.com/kagemai/
979デフォルトの名無しさん:2008/03/02(日) 15:35:10
>>967
> Titechは日本のMITを名乗ってるんだぜ

日本でMITと言えば武蔵野工だろ、というネタはさておき、
単科大学ではあるけど公立と私立だからなぁ。
980デフォルトの名無しさん:2008/03/02(日) 15:55:32
すまん。学内でネタになってるだけで、公式にそういう風に言ってるかどうかはわからんわ。
981デフォルトの名無しさん:2008/03/02(日) 17:43:19
そういや前世紀にチャットで話した相手が
自分の学校をKITだKITだとかさも当たり前のように言ってたから
なんのことやねんと聞いたら九工大だった。
そういう略称は学内では当たり前になってるらしいな。
982デフォルトの名無しさん:2008/03/02(日) 17:47:27
まだやるの
983デフォルトの名無しさん:2008/03/02(日) 18:22:40
KITと言えば金沢工科大だと思ったのだが。
984デフォルトの名無しさん:2008/03/02(日) 18:34:08
神奈川工科大が被るよね
KAITとして回避してるけど
985デフォルトの名無しさん:2008/03/02(日) 18:47:15
986デフォルトの名無しさん:2008/03/02(日) 18:48:13
KITT
987デフォルトの名無しさん:2008/03/02(日) 19:23:42
1.9.0-1が出たことだしrubyの話しようーぜ

影舞は確かに復活してるようけどgoogle groupsのメールがまだ4つか・・・
影舞自身を影舞でトラッキングしないのかね?
988デフォルトの名無しさん:2008/03/02(日) 20:34:19
rparsec
の使い方おせーて

情報少なすぎて困ってる
989デフォルトの名無しさん:2008/03/02(日) 21:04:42
>>987
>影舞自身を影舞でトラッキングしないのかね?
http://www.daifukuya.com/kagemai/guest.rbx?project=kagemai&action=top
990デフォルトの名無しさん:2008/03/02(日) 21:20:02
うちの略称は UT とかしょぼすぎ
991デフォルトの名無しさん:2008/03/02(日) 21:48:22
え〜YTなら知っていますが、UTは初めて聞きました。

超地球的存在?
992デフォルトの名無しさん:2008/03/02(日) 21:53:09
ま・さ・か〜
993デフォルトの名無しさん:2008/03/02(日) 23:08:15
994デフォルトの名無しさん:2008/03/03(月) 16:50:06
Ultra-no-Titi
995デフォルトの名無しさん:2008/03/04(火) 22:37:33
self.threads.fill
996デフォルトの名無しさん:2008/03/04(火) 22:39:46
raise Matz
997デフォルトの名無しさん:2008/03/04(火) 23:23:07
998デフォルトの名無しさん:2008/03/05(水) 00:41:33
なんとなく埋め
999デフォルトの名無しさん:2008/03/05(水) 01:10:36
るびぃ
1000デフォルトの名無しさん:2008/03/05(水) 01:17:18
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。