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

Rubyについて Part 30

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2008/01/12(土) 11:47:53
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

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

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

過去スレ・関連スレは >>2-
0002デフォルトの名無しさん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/
0003デフォルトの名無しさん2008/01/12(土) 11:51:27
Rubyリファレンスマニュアル刷新計画
ttp://doc.loveruby.net/
ライブラリ一覧
ttp://doc.loveruby.net/refm/api/
RubyExtensionProgrammingGuide
ttp://i.loveruby.net/w/RubyExtensionProgrammingGuide.html
Ruby Hacking Guide
ttp://i.loveruby.net/ja/rhg/
Symbol < Stringも止める。
ttp://www.rubyist.net/~matz/20061107.html#p03
クラスローカルインスタンス変数
ttp://www.rubyist.net/~matz/20061117.html#p02
クラス変数
ttp://www.rubyist.net/~matz/20070104.html#p03
ローカル変数
ttp://www.rubyist.net/~matz/20070112.html#p04
可視性メモ
ttp://www.rubyist.net/~matz/20070208.html#p04
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30107
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30275
YARV without 1.9
ttp://www.rubyist.net/~matz/20070215.html#p01
ttp://www.atdot.net/~ko1/diary/200702.html#d22
ttp://i.loveruby.net/d/20070223.html#p01
JSON
ttp://json.rubyforge.org/
ttp://webos-goodies.jp/archives/51019710.html
ttp://webos-goodies.jp/archives/51071565.html
YAML
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=YAML
ttp://jp.rubyist.net/magazine/?0009-YAML
ttp://www.namikilab.tuat.ac.jp/~sasada/prog/yaml.html
0004デフォルトの名無しさん2008/01/12(土) 11:55:02

Ruby on Rails
http://pc11.2ch.net/test/read.cgi/tech/1191381506/
0005デフォルトの名無しさん2008/01/12(土) 19:15:14
>>1-4
スレ立て乙です
0006デフォルトの名無しさん2008/01/12(土) 20:22:39

Ruby/Gtk+
ttp://www.unixuser.org/~haruyama/software/goRua/
ttp://takeposo.sakura.ne.jp/windows/environment/rubygtk.html
ttp://ruby-gnome.sourceforge.net/
ttp://ruby-gnome.sourceforge.net/programming/intro.html
ttp://ruby-gnome2.sourceforge.jp/
ttp://psux1.kek.jp/thitoshi/ruby/gtk/
ttp://www.rubycgi.org/ruby_gtk_book/
ttp://ruby.gfd-dennou.org/products/cygwin/index-j.html
ttp://www.magicianmaster.jp/tdiary/?date=20040912
0007デフォルトの名無しさん2008/01/12(土) 20:23:17
Ruby on Rails
http://pc11.2ch.net/test/read.cgi/tech/1191381506/
ttp://jp.rubyist.net/magazine/?0004-RubyOnRails
ttp://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html
ttp://kyotosanga.com/gaku/archives/2006/01/ruby_on_rails_a.html
ttp://blog.hacklife.net/archives/50190377.html
ttp://www.metadata.co.jp/web20/ohba/060718_Rails/
ttp://japan.cnet.com/news/ent/story/0,2000056022,20089986,00.htm
ttp://japan.cnet.com/interview/story/0,2000055954,20094959,00.htm
ttp://journal.mycom.co.jp/articles/2006/07/31/radrails/
ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh29.html
ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh30.html
ttp://www-06.ibm.com/jp/developerworks/linux/050708/j_l-rubyrails.html
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060209/228940/
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/
0008デフォルトの名無しさん2008/01/13(日) 00:09:18
rubyの宿題すれてあるけど、一体誰が出題してるんだ?
職場の先輩かw
0009デフォルトの名無しさん2008/01/13(日) 10:11:03
学校の授業で良く使われるよ
rubyはどんなバカでも理解できる低級言語だから
0010デフォルトの名無しさん2008/01/13(日) 10:20:45
けなしてるように見えて凄いほめ言葉だなw
0011デフォルトの名無しさん2008/01/13(日) 10:39:41
プログラミングで「低級言語」と言うと
「ハードウェアやメモリ等、マシン寄りの言語」ってイメージがある。
マシン語やアセンブリみたいな。
0012デフォルトの名無しさん2008/01/13(日) 14:28:08
たぶんそのうち監獄で出題されましたとかあるんだろうな
0013デフォルトの名無しさん2008/01/13(日) 14:31:50
「低級言語」っていうのは
low level と low class を間違えた
誤訳らしいけどね
0014デフォルトの名無しさん2008/01/13(日) 19:21:20
ほう それぞれどう訳せばいいのかね
0015デフォルトの名無しさん2008/01/13(日) 19:23:40
「下層言語」…の方がしっくり来そう。やっぱいやな響きだけど
0016デフォルトの名無しさん2008/01/13(日) 19:42:00
違う言語を駆使する者同士が共存するのは非常に困難。
わしゃ疲れた・・・。
誰ぞ、画期的な処方を!
0017デフォルトの名無しさん2008/01/13(日) 19:45:18
さあ、これを授けよう・・・これさえあればなんでも実現できるぞよ・・

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

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

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

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

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

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

あと気づいたけど、Continuationが外部ライブラリになったんで -rdebugしたら
callccがなくて終了しちゃうね。 -rcontinutaion -rdebugとしなきゃだめ。
0051デフォルトの名無しさん2008/01/18(金) 02:31:16
>>50
backtraceくれ。
dmyencoding.cでってのがよくわからんが。
0052デフォルトの名無しさん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
0053デフォルトの名無しさん2008/01/18(金) 02:42:44
こんな感じ。追っかけてみると
miniprelude.cを読んで、abortを読んで、メインスレッドが終了して、
それから正常終了するはずなんだけど、なぜかstatusというのを読もうとして
コアを吐く。ううむ・・
0054デフォルトの名無しさん2008/01/18(金) 13:01:10
>48
作者です

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

ちなみに元に有った場所に再公開はありませんか?
リンクしているサイトも多いようですし・・・
0056デフォルトの名無しさん2008/01/18(金) 16:06:31
あ
0057デフォルトの名無しさん2008/01/18(金) 16:24:46
>>53
p enc_tableしてみて。
あと環境変数LANGとかLC_ALLとかは?
0058デフォルトの名無しさん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してビルドするとちゃんと
出来るんだよね。まったく!
0059デフォルトの名無しさん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でも動くようになった
0060デフォルトの名無しさん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
""
0061デフォルトの名無しさん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だともともと使えなかったんだろうけど
0062デフォルトの名無しさん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の中身は?

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

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

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


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

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

require 'rubygems'
require 'hpricot'

CGIスクリプトから使おうと思ってた俺涙目w
0070デフォルトの名無しさん2008/01/19(土) 18:52:05
自分とこでgems使うんならいいけどライブラリでgems使うとかやめちくれ
0071デフォルトの名無しさん2008/01/19(土) 18:56:53
それぐらい自分で改編しろよ
簡単だろ
0072デフォルトの名無しさん2008/01/19(土) 19:00:03
直書きせずに、ユーザー環境の -rubygems に頼るべき
0073デフォルトの名無しさん2008/01/19(土) 19:13:31
いちいちrequire 'rubygems'なんて書かないといけないのが問題
0074デフォルトの名無しさん2008/01/19(土) 19:25:36
>>> python > ruby
True
0075デフォルトの名無しさん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
0076デフォルトの名無しさん2008/01/19(土) 19:56:35
irb(main):007:0> puts ["python", "Ruby", "perl", "php"].sort.join(" > ")
Ruby > perl > php > python
0077デフォルトの名無しさん2008/01/19(土) 20:02:23
(;`Д´)・・・・・
0078デフォルトの名無しさん2008/01/19(土) 20:05:30
>>74-76
本すれで下らないからやめてくれる?
0079デフォルトの名無しさん2008/01/19(土) 20:05:58
perl(ruby, python) > php
0080デフォルトの名無しさん2008/01/19(土) 20:07:32
>>78
半年ROMれ
0081デフォルトの名無しさん2008/01/19(土) 20:12:14
>>> {'Ruby':'ruby','Python':'python','Perl':'perl'}
{'Python': 'python', 'Ruby': 'ruby', 'Perl': 'perl'}
0082デフォルトの名無しさん2008/01/19(土) 20:16:59
>>78
たぶんテスト期間の大学生が、ストレス発散しに来てるんだよ
温かい目であぼーんしてあげようぜ
0083デフォルトの名無しさん2008/01/19(土) 21:13:50
>>69-74

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

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

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

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

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


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

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

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

503は、人多すぎで出してるんだっけか
サーバー増強千ならんのかねえ
0101デフォルトの名無しさん2008/01/20(日) 18:27:31
どっちにしろミラーサイトはいるな
0102デフォルトの名無しさん2008/01/21(月) 01:51:51
編集リンクだけwikiにしてあとは性的HTMLにすればいいのにね。
0103デフォルトの名無しさん2008/01/21(月) 01:53:20
つまりエロが足りないんですね。
0104デフォルトの名無しさん2008/01/21(月) 02:03:24
ミラーサイト勝手に作ったら怒られる?
0105デフォルトの名無しさん2008/01/21(月) 02:08:35
つ ttp://www.ruby-lang.org/ja/man/html/_C7DBC9DBBEF2B7EF.html
0106デフォルトの名無しさん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?とかって無くなった?
0107デフォルトの名無しさん2008/01/22(火) 15:23:59
補足
1.8のGeneratorみたいなのが欲しい
0108デフォルトの名無しさん2008/01/22(火) 15:35:54
Rubyのジェネレータってcall/cc使ってて、
1.9ではcall/ccが動くんだかどうだか妖しいらしいという話があった気がするので、
すごく、こわいです。
0109デフォルトの名無しさん2008/01/22(火) 19:00:29
今さっき気づいたんだが
アンサイクロペディアって「Ruby」の項目はないのに「eRuby」の項目はあるのね
0110デフォルトの名無しさん2008/01/22(火) 22:32:00
>>108
伝聞で怖がる暇で確認すりゃいいのに。
動くよ。結局コアから外れたってだけ
0111デフォルトの名無しさん2008/01/23(水) 05:25:55
>>108
1.9はFiberじゃないの?
0112デフォルトの名無しさん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でも動く
0113デフォルトの名無しさん2008/01/24(木) 23:37:46
Rubyの拡張モジュール作ってて、Rubyのメインスレッドとは別のスレッド
を複数使ってる。これらのスレッドはシステムコールでブロックすること
がある。

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

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

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

Fiberってプリエンティプティブスレッドというか、コルーティンンのことだよね?
0115デフォルトの名無しさん2008/01/25(金) 14:41:38
1.9.1まだあああああああああああああああああああああああああああああああああああ
0116デフォルトの名無しさん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 に分けてます。
0117デフォルトの名無しさん2008/01/25(金) 22:14:27
>>116
Kernel#set_trace_func を使えば出来ると思うけど
使った事ないんで詳細は自分で調べてくれ
0118デフォルトの名無しさん2008/01/26(土) 00:10:57
ソートにブロック渡せるようにすれば?
0119デフォルトの名無しさん2008/01/26(土) 00:23:47
ネイティブスレッド使えれば、とか
描画イベント用の delegate渡す的なことを思ったけど、

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

なので、シグナルは補足しないことに。
0122デフォルトの名無しさん2008/01/27(日) 07:52:25
世界的にそこそこ有名な国産プログラミング言語ってrubyだけか?
0123デフォルトの名無しさん2008/01/27(日) 08:05:40
というかほかに、和製のプログラミング言語って存在するのか?
(なでしこ等の日本語プログラミング言語は別として)
0124デフォルトの名無しさん2008/01/27(日) 08:13:21
>>123
activebasicとか
0125デフォルトの名無しさん2008/01/27(日) 08:57:16
>>123
なんで「なでしこ」を別扱いするんだよw
0126デフォルトの名無しさん2008/01/27(日) 09:10:34
HSP(笑)
0127デフォルトの名無しさん2008/01/27(日) 09:19:13
>>125
日本語プログラミング言語は、海外の人が使えるものじゃないだろう
0128デフォルトの名無しさん2008/01/27(日) 09:32:19
>>127
そんなマジレス返ってくると思ってなかった・・・
0129デフォルトの名無しさん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
ですが、あまりにもうざい……。
0130デフォルトの名無しさん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
01311292008/01/27(日) 17:18:57
>>130
やっぱその手の方法しかないですか。
何よりも見た目が美しくないのが気にいらないのですが、仕方がないのかなぁ。
0132デフォルトの名無しさん2008/01/27(日) 17:21:17
要素がRangeなら展開するラッパー書くしか
0133デフォルトの名無しさん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" ]
なのか。
0134デフォルトの名無しさん2008/01/27(日) 20:04:41
[*0..9, 15, 20, *20..29] こんなのどうでしょう
0135デフォルトの名無しさん2008/01/27(日) 20:16:20
>>134
syntax error
0136デフォルトの名無しさん2008/01/27(日) 20:46:45
>>135
む、すまん、1.9 専用ってことで
0137デフォルトの名無しさん2008/01/27(日) 21:22:19
ruby/tkのサンプル
/ext/tk/sample/tkextlib/treectrl/demo.rb
を実行してみたもののtreectrlがバージョン2に上がったときに切り捨てたオプションがいっぱい使ってあってどうにもならんorz
0138デフォルトの名無しさん2008/01/27(日) 23:16:37
>>114
> Fiberってプリエンティプティブスレッドというか、コルーティンンのことだよね?
*ノン*プリエンティプティブスレッド
0139デフォルトの名無しさん2008/01/27(日) 23:47:21
マイクロスレッドとも言うね。
外部イテレータを実装するなら一番シンプルな解決法だと思う。
0140デフォルトの名無しさん2008/01/27(日) 23:58:44
>>138
うおw ノンつけてなかった、失礼した
0141デフォルトの名無しさん2008/01/28(月) 09:47:20
イテレーターからbreakしたか/しなかったか判別する方法ある?
こんなことしたい

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

これは・・・(;´Д`)
ふだんはみんな-KsかEUC-JPで使ってるのかなあ
0147デフォルトの名無しさん2008/01/28(月) 15:54:48
>>141
returnでtrue/falseかなんか返せば。
0148デフォルトの名無しさん2008/01/28(月) 16:43:51
Array#eachって順番保障されてたっけ?
0149デフォルトの名無しさん2008/01/28(月) 17:34:31
されるだろ常考
0150デフォルトの名無しさん2008/01/28(月) 17:46:43
>>148
何か配列にトラウマでもあるのか
0151デフォルトの名無しさん2008/01/28(月) 20:41:00
>>145 じゃ例外じゃない何かを投げる。具体的には throw して catch。
0152デフォルトの名無しさん2008/01/29(火) 03:22:11
というかbreakされたかどうかのyield側の判別機構ってなかったのか。
できればつけて欲しいところだなぁ
0153デフォルトの名無しさん2008/01/29(火) 16:52:27
d言語でrubyのライブラリかける?
0154デフォルトの名無しさん2008/01/29(火) 18:10:50
>>153
みたことないが、Cとリンクできるオブジェクトを作れるならできるはず。
マクロとかがどうなるか疑問だが。
0155デフォルトの名無しさん2008/01/29(火) 18:13:34
>>152
いや、breakされたらそもそもyield側に戻ってこない。
0156デフォルトの名無しさん2008/01/29(火) 20:24:20
Dって共有オブジェクトファイル(.soとか.dll)つくれるの?
0157デフォルトの名無しさん2008/01/29(火) 20:46:14
なぜ Ruby スレで D
0158デフォルトの名無しさん2008/01/29(火) 22:58:18
:D
0159デフォルトの名無しさん2008/01/29(火) 23:22:52
ttp://d.hatena.ne.jp/shibata616/20080129/1201607186
0160デフォルトの名無しさん2008/01/29(火) 23:27:50
共有オブジェクトがつくれたらrquire "dl"で無理矢理使えるからね。
ところで1.9からdlの仕様がだいぶ変わったんだけど全くドキュメントがなくて
困った。いや、外部のドキュメントよりもrdocで埋め込んでほしい。
0161デフォルトの名無しさん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
01621292008/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
0163デフォルトの名無しさん2008/01/31(木) 01:23:52
しまった、名前欄orz
0164デフォルトの名無しさん2008/01/31(木) 01:34:53
馬鹿自慢か
0165デフォルトの名無しさん2008/01/31(木) 02:15:30
>162
regexオブジェクト使うところは素直にmatchオブジェクトを渡せと言いたいところだよな。
この手の腐れ仕様けっこうあるよね。
0166デフォルトの名無しさん2008/01/31(木) 08:03:00
1.9ってこういう一貫性の欠如は改善するの?
0167デフォルトの名無しさん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"だな。
0168デフォルトの名無しさん2008/01/31(木) 08:22:31
教訓:gsubやscanのブロックパラメータに頼るべきではない
0169デフォルトの名無しさん2008/01/31(木) 08:41:54
これは一貫性がないというより
単にscanがきわめて特殊なメソッドなんだというべきだろう

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


0188デフォルトの名無しさん2008/02/01(金) 01:08:09
README.EXT.ja
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/README.EXT.ja?view=markup
http://www.ync-net.co.jp/~kaz/doc/refm-ja/refm0347.html
http://wiki.livedoor.jp/aqualung/d/Ruby%A4%CE%B3%C8%C4%A5%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%A4%CE%BA%EE%A4%EA%CA%FD%A1%A6%C9%D5%CF%BF#content_2_14
0189デフォルトの名無しさん2008/02/01(金) 01:10:14
README.EXT.ja は読んだ?

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

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

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

0196デフォルトの名無しさん2008/02/01(金) 01:52:18
>>187
○○がしたい
↓
ドキュメントない
↓
コードを読んで把握
↓
○○できた

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

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

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

ゲームだと Rubyは聞かないが、組み込み用にスクリプト言語がつかわれることが多い。
0224デフォルトの名無しさん2008/02/01(金) 15:41:24
DelphiにDMonkey(JScript)エンジン組み込んでアプリをユーザーに弄らせるというのはよくやるな。
RubyだとApolloでできるらしいが。
OOoやCivilization4はマクロ言語としてPython搭載だったか。
0225デフォルトの名無しさん2008/02/01(金) 17:57:43
変に独自言語搭載されると覚えるのだるいしな。
0226デフォルトの名無しさん2008/02/01(金) 18:03:40
組み込み系はもうちょっとドキュメント周りを整備して普及に努めたほうがいいかもな。
マクロ書く為に覚えればその延長で使うようになるかもしれないし。
0227デフォルトの名無しさん2008/02/01(金) 18:45:52
>>225
ウィンドウマネージャにlisp構文のスクリプト積むのやめて欲しい
0228デフォルトの名無しさん2008/02/01(金) 20:29:55
そういや1.9からRubyのスレッドってネイティブになった?
0229デフォルトの名無しさん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の時の分岐もいるわな……
0230デフォルトの名無しさん2008/02/01(金) 23:26:20
StringIOにto_sをつければいいだけじゃねーの?
0231デフォルトの名無しさん2008/02/01(金) 23:44:08
>>228
なった
0232デフォルトの名無しさん2008/02/01(金) 23:53:55
>>231
拡張モジュールでRubyのスレッド以外から、RubyのAPIじっこうしても
大丈夫?
0233デフォルトの名無しさん2008/02/02(土) 07:49:12
>>230
だからそれを標準でやってくれよという話ダロ
よくよめ
02342302008/02/02(土) 10:43:38
>>233
標準でやるべきというのに異論はないが

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

>261
Webrick::CGIはドキュメントが……良い感じだとは思うけどね。
0264デフォルトの名無しさん2008/02/03(日) 04:55:59
セッション管理が標準でできるようになったらWebrick::CGI使ってあげるよぉ
0265デフォルトの名無しさん2008/02/03(日) 05:30:46
>>264
それ以上になると、フレームワークつかえとしか
0266デフォルトの名無しさん2008/02/03(日) 05:49:54
セッション管理ごときでなんでフレームワークが必要になるほうがおかしい
0267デフォルトの名無しさん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もあるのが自然だと考える人も
>多い。
そんなのお前だけ。子クラスでメソッドを追加したら親クラスにも追加しなきゃいけないと考えるほうがどうかしてる。
ほんとバカばっかだな。
0268デフォルトの名無しさん2008/02/03(日) 06:00:25
>>266
では、自前で組めばいいのでは?
0269デフォルトの名無しさん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"
0270デフォルトの名無しさん2008/02/03(日) 09:55:55
>StringIOはIOに見せかけたStringであって、Stringに見せかけたIOじゃない。

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

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

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

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

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

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

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

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

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

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

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

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

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

だれが非難してるの?ねえ誰がどこで非難してるの?
0293デフォルトの名無しさん2008/02/03(日) 14:15:34
>>292
「もしそうなら」という言い方はいわばif文であって、そうかもしれないしそうでないかもしれない言葉を
受けての言い方だから、その質問に対する回答は無いだろう。
そこで回答があったら、絶対に真とわかってる値をわざわざif文で判定するような文を書いていたことになる。
0294デフォルトの名無しさん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 行って
議論しろ。
0295デフォルトの名無しさん2008/02/03(日) 14:33:28
ここ数スレで最もトンデモぽい流れになってる気がするのは俺だけか
02962402008/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の元になっている文字列を得るメソッド」だと思う。
0297デフォルトの名無しさん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が必要な理由にはならないと思うぞ。
0298デフォルトの名無しさん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。
0299デフォルトの名無しさん2008/02/03(日) 15:14:43
>>288
それCGI.rbとかWebrickCGIが糞なんじゃなくて
もともとhttpの仕様が糞なんだからどうしようもないじゃん
パラメータ毎に型情報持てないんだよ
0300デフォルトの名無しさん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ということで。
03012022008/02/03(日) 15:43:51
>299
httpがクソなのはわかるんだけど、役に立たない対策をして使い勝手を落としているのは
cgiがクソだからだと思うけど?
>294 みたいに危険なバッドノウハウをマニュアルに載っけているのなら、そもそも何のために
対策してるのか判らんし。

Webrick::CGIは…………あんまり使ってないからわからん。
ドキュメントをどうにかしてもらわんとなぁ。
03022022008/02/03(日) 15:48:40
>300
真面目にやるんだったら、フィールドを統一的&安全に扱えるラッパークラスを用意するべきだな。
>239だと超巨大ファイルの扱いでちょっと危険。
自分のコードは面倒なんでそこまでやらんけどな……
0303デフォルトの名無しさん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は使うな、と。
0304デフォルトの名無しさん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もあわせて作るべき。無理だが。
0305デフォルトの名無しさん2008/02/03(日) 16:14:18
別にIOのサブクラスじゃないし
0306デフォルトの名無しさん2008/02/03(日) 16:19:49
>フィールドを統一的&安全に扱えるラッパークラス
multipartじゃないときはただの文字列で十分じゃん。
そんな重厚な設計はうざいよ。
0307デフォルトの名無しさん2008/02/03(日) 16:21:04
>>305
Stringのサブクラスでもないな
03082022008/02/03(日) 16:34:41
>306
matzは“Webアプリは危険だ”“「おかしなコードを書くことを助長する言語」”とdisってるんだから、
Webに使うcgiは重厚でも安全な設計にすべきだと思うが?
まあ、matzのダブルスタンダードはいつものことだが。
03092022008/02/03(日) 16:37:06
>304
そんなこと言うと、String#to_sの挙動も否定することになっちゃうけど?
まあ、to_s自体がグダグダなんで、意味付けを追求する意味はないと思うけどね。
0310デフォルトの名無しさん2008/02/03(日) 16:37:29
stringなんて名前にするくらいならto_sでよかったよ
0311デフォルトの名無しさん2008/02/03(日) 16:38:08
http://anond.hatelabo.jp/20080203092650
誰だよこんなキモい記事書いたのw
0312デフォルトの名無しさん2008/02/03(日) 16:44:44
うーん。

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

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

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

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

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

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

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

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

LIST=`ls`

だろ
出力を変数に格納する処理
0348デフォルトの名無しさん2008/02/03(日) 22:08:31
StringIO#string= を StringIO#to_s= にしろとな。
キモすぎるぞそれは
03491622008/02/03(日) 22:18:18
cgi.rb がクソと言うやつは、どのような設計ならば素晴しいか具体的に述べてくれ。
(いや、煽りじゃなくてな。MLあたりで提案しないと状況は動かんとは思うが、それをやれとは言わん)
最近本格的にperlから乗り換え始めたんで、CGI.pm のクソさ加減から劇的に改善されたことしか理解できないのよ。
0350デフォルトの名無しさん2008/02/03(日) 22:22:34
>348
誰もそんなことを言っていないぞよ
03512022008/02/03(日) 22:25:51
>349
Webrickを見たけど、あっちの方がずいぶんまともな設計じゃない?
使ってないから何ともいえんけど。
でも、あれも更新止まっちまってる感じなんだよなぁ。
0352デフォルトの名無しさん2008/02/03(日) 22:49:43
>>349
http://www.google.com/search?hl=ja&q=CGI.rb&lr=lang_ja&ie=UTF-8&oe=UTF-8&num=50
0353デフォルトの名無しさん2008/02/03(日) 22:55:28
Webrick::CGIはちょっとしたCGIでよく使うけどいいよ。
WEBrick::HTTPResponse や WEBrick::HTTPRequest を見ないといけないうえに、
時々ソースまで見ないといけないのがネックだけれど。
0354デフォルトの名無しさん2008/02/03(日) 22:56:31
ソースまで見ないといけないのはRuby全般に当てはまる
0355デフォルトの名無しさん2008/02/03(日) 22:58:04
ネット関係のモジュールはソース見つつ作ると面白いことができるな
0356デフォルトの名無しさん2008/02/03(日) 23:00:02
WEBrickは読みやすいんだけどそれがドキュメントが無い原因の一つなのかも…
0357デフォルトの名無しさん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使うのなんて初めて見たぞ
0358デフォルトの名無しさん2008/02/03(日) 23:19:22
def code_type
self.class
end
なんだな。
0359デフォルトの名無しさん2008/02/03(日) 23:27:44
response.code == '200' という半マジックナンバーよりは見かけ健全だな
初心者スレでは response.code == 200 という比較をして動かないってハマってたが
0360デフォルトの名無しさん2008/02/03(日) 23:33:43
>357
あと、typoをパーザーが見つけてくれるから、response.code == '200'より便利だよ。
0361デフォルトの名無しさん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
0362デフォルトの名無しさん2008/02/04(月) 15:07:30
>>356
どんなドキュメントが欲しい?
リファレンスマニュアルとは別のものかな。
0363デフォルトの名無しさん2008/02/04(月) 15:53:27
>>362
356じゃないが、チュートリアルというか、こういう時はこういう組み合わせでやれ、みたいな感じの物はほしいな。
るびまにproxy作る例があったけど、あんな感じで。
0364デフォルトの名無しさん2008/02/04(月) 15:59:18
WEBrickでプロキシを作る例を読むのはもう飽きたお…
0365デフォルトの名無しさん2008/02/04(月) 20:47:39
レシピブックじゃだめかね。
0366デフォルトの名無しさん2008/02/04(月) 23:59:26
>>362
Webrickのクラスでセッション管理するドキュメント
0367デフォルトの名無しさん2008/02/05(火) 01:29:45
>>366
ttp://www.ruby-lang.org/ja/man/html/webrick.html
0368デフォルトの名無しさん2008/02/05(火) 01:34:36
Ramazeってよさそうだけど、あれ試してみた人いる?
0369デフォルトの名無しさん2008/02/05(火) 01:52:18
>>368
最近できたフレームワークですね。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

>>423
静的言語ばかり使ってきた俺には、lambdaなどでif文作っても、
文法が拡張されているように見えるんだ。
たぶん経験の違いだと思う。
0431デフォルトの名無しさん2008/02/08(金) 18:11:20
Ruby個人的には大好き・・・
0432デフォルトの名無しさん2008/02/08(金) 19:41:11
Rubyまで「個人的に」とか断り付けなきゃいけないご時世か
普及したもんだなあ
0433デフォルトの名無しさん2008/02/08(金) 19:44:40
言ってることはよくわからんがとにかく凄い自信だ
0434デフォルトの名無しさん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)
とか格好悪すぎる
0435デフォルトの名無しさん2008/02/08(金) 21:21:03
.map{|m|m.to_s}
0436デフォルトの名無しさん2008/02/08(金) 21:23:05
|m| って何の略?いや、気になったので
0437デフォルトの名無しさん2008/02/08(金) 21:32:09
method names か何かだろ
m 自体は method の m だと思う

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

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

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

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

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

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

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

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

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

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

そのへんの思想の違いじゃないかな?
Procとメソッドをシームレスに扱えるようにしても
Python や ECMAScript みたいにはスッキリしないと思う。
むしろ妙なパラドックスに陥りそう。
0466デフォルトの名無しさん2008/02/09(土) 05:56:04
> そのお陰で、メソッドをあたかも
> クロージャの入った public 変数のように扱える。
kwsk
gttkn
0467デフォルトの名無しさん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>
0468デフォルトの名無しさん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()
0469デフォルトの名無しさん2008/02/09(土) 09:49:47
>>438
thanks
0470デフォルトの名無しさん2008/02/09(土) 10:26:34
http://nukoup.nukos.net/img/13137.jpg
0471デフォルトの名無しさん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

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

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

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

0475デフォルトの名無しさん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を信奉してたらこうなってた、というか。
0476デフォルトの名無しさん2008/02/09(土) 13:22:25
>>471
定義されたfはどこに行っちゃうんだ?
0477デフォルトの名無しさん2008/02/09(土) 13:26:01
>>476
def〜endブロックのローカルスコープでいいだろ。
0478デフォルトの名無しさん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]
0479デフォルトの名無しさん2008/02/09(土) 14:21:06
紛らわしい機能はobsoleteにしてほしいな。
同じことができるならどれかに集約してもらいたい。
0480デフォルトの名無しさん2008/02/09(土) 14:28:56
そんなことをしたらmap vs collect論争ができなくなるじゃないか。
0481デフォルトの名無しさん2008/02/09(土) 14:35:25
map/collectは元々Ruby以前からそれぞれの宗派が存在したらから別にいいよ。
でも、lambdaはともかく、proc、Proc.new、def endはRuby独自でしょ。
Ruby独自ならRubyの中で整理した方がいい。
0482デフォルトの名無しさん2008/02/09(土) 16:57:03
>>475 >>478 で、
def が無ければメソッド定義が、えらい不格好なものになるし、
Proc.new, proc, lambda は似てるけど、それぞれ違うということが
示されてるのは無視?
0483デフォルトの名無しさん2008/02/09(土) 17:18:50
Proc.new, proc, lambda はそれぞれ違うけど、
同じようなことしかしないから、集約した方がいいって話じゃないの。
0484デフォルトの名無しさん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がどちらのように動くかはバージョンによるらしい。

どちらかに絞れるのかな? これ。
0485デフォルトの名無しさん2008/02/09(土) 18:03:37
そういう多段の脱出のために catch 。
0486デフォルトの名無しさん2008/02/09(土) 18:04:47
lambda、proc、Proc.newの仕様ってそれぞれきっちり決められてる?
リファレンスマニュアルにはあまり詳細に書いていないようだけど。
ソース読めとか言わないよね?
0487デフォルトの名無しさん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
0488デフォルトの名無しさん2008/02/09(土) 18:10:17
言語使用もない糞言語,おまえらよく使う気になるよなあ(www
0489デフォルトの名無しさん2008/02/09(土) 18:11:02
>>487
インデント崩さずにどうやって書き込むの?
0490デフォルトの名無しさん2008/02/09(土) 18:11:24
>>489
全角スペース
0491デフォルトの名無しさん2008/02/09(土) 18:14:12
>>489
&nbsp;
0492デフォルトの名無しさん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"
0493デフォルトの名無しさん2008/02/09(土) 18:19:19
インデントてすと

def foo
 bar

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

そもそも、returnに対する振る舞いの違いだけで、分けなければいけないようなものなのか?
0495デフォルトの名無しさん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"
0496デフォルトの名無しさん2008/02/09(土) 18:40:12
>>495
「どう」書いたら「どう」なることを期待してるわけ?

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

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

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

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

>>504 で結論が出てるじゃん。
要は、returnは「メソッドから戻る」ものだから、ブロックから値を
戻したいんだったら、returnは使うなってことでFAだろ?
0515デフォルトの名無しさん2008/02/09(土) 19:44:58
じゃあエラーではじけよ
0516デフォルトの名無しさん2008/02/09(土) 19:48:37
何故returnを「ブロックとメソッドから戻る」と定義できないんだろう。
0517デフォルトの名無しさん2008/02/09(土) 19:55:41
>>514
じゃあ値を返すにはどうしたらいいんだよ。
0518デフォルトの名無しさん2008/02/09(土) 19:56:08
>>516
eachみたいにブロック付きメソッドを制御構造もどきとして使いたいからじゃない?
0519デフォルトの名無しさん2008/02/09(土) 19:56:20
>>516
メソッド定義の中のブロックの中でreturnしたときとか
Proc生成をメソッド内以外で行ったときとかに超紛らわしいからだろ
0520デフォルトの名無しさん2008/02/09(土) 19:57:44
>>517
breakかcatch&throwを使ってください
0521デフォルトの名無しさん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は「式の値を戻り値としてメソッドの実行を終了します。」
とあるから、単にブロックから戻るだけだったらおかしい、と主張はできるかな。
0522デフォルトの名無しさん2008/02/09(土) 20:01:43
>>518 >>519
単にreturnでブロックから復帰して、その引数が呼び出し元(yieldやProc.new)に戻ればいいだけじゃないの。
何が紛らわしいのかわからない。
0523デフォルトの名無しさん2008/02/09(土) 20:04:27
Rubyのブロックはreturnに曖昧さがあるってことでFA?
0524デフォルトの名無しさん2008/02/09(土) 20:07:00
>>517
> じゃあ値を返すにはどうしたらいいんだよ。

ブロック内で最後に評価した式の値がcallとかyieldの返す値になる
0525デフォルトの名無しさん2008/02/09(土) 20:10:30
ブロックからの脱出にbreakと同様にreturnが使えても全く問題ないと思うのだが。
0526デフォルトの名無しさん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
0527デフォルトの名無しさん2008/02/09(土) 20:42:54
2.0でちゃぶ台返しマダー?
0528デフォルトの名無しさん2008/02/09(土) 20:51:23
>>522 >>525
breakはwhileやuntilを抜けるためにも使われる、ということを忘れてないか
whileの中でreturnするとwhileを抜けた! なんて動作はいくらなんでも困る
0529デフォルトの名無しさん2008/02/09(土) 20:57:08
>>528
breakは最も内側のブロックからの脱出、
returnはメソッド、およびlambda、proc、Proc.newの最も外側のブロックからの脱出
と定義して問題あるのかな。
0530デフォルトの名無しさん2008/02/09(土) 21:03:25
あー、nil に追加はマズイや。
Object.new で。
0531デフォルトの名無しさん2008/02/09(土) 21:04:24
誤爆
0532デフォルトの名無しさん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"
0533デフォルトの名無しさん2008/02/10(日) 00:09:58
emacsにruby-modeを追加する方法がわかりません。
詳しく説明してるサイトを教えてください。
0534デフォルトの名無しさん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)
0535デフォルトの名無しさん2008/02/10(日) 00:28:48
1.9からHashが順序保存か…。
けっこうこだわりないんだな。
言語仕様で保証しないところがチキンというか、
PHPで4→5で動作保証しないこともネチネチ言ってるMatzがな…。
0536デフォルトの名無しさん2008/02/10(日) 00:47:37
これに依存するコードを書くことはまずないと思うからぶっちゃけかなりどうでもよい
2.0で導入されて、2.0が今の1.8くらい普及してから考える
0537デフォルトの名無しさん2008/02/10(日) 00:50:43
1.9でネチネチ言う奴は何なんだろうと素で思う
0538デフォルトの名無しさん2008/02/10(日) 00:58:58
>>535
>PHPで4→5で動作保証しないこともネチネチ言ってるMatzがな…。

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

irb> puts [1,2,3]
1
2
3
0540デフォルトの名無しさん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!
0541デフォルトの名無しさん2008/02/10(日) 01:40:04
日本語で桶
0542デフォルトの名無しさん2008/02/10(日) 01:41:16
これ抜けてるだろ
Python is betterPerl
0543デフォルトの名無しさん2008/02/10(日) 01:46:08
どんな言語でも信者はキモイ証左といったところか。
0544デフォルトの名無しさん2008/02/10(日) 09:47:32
ヤターrailsの風俗サイトできたよー
http://www.momoiro.jp/cast/list
0545デフォルトの名無しさん2008/02/10(日) 10:08:34
>>544
erogeek 乙www
0546デフォルトの名無しさん2008/02/10(日) 14:14:04
>>537
だって、String#sg とかの糞名前を確定させなかったりするためには、
今がネチネチ言うときなんじゃないの?
0547デフォルトの名無しさん2008/02/10(日) 14:41:38
>>546
それならMLでネチネチ言え。
それにmatz以外の開発者がある程度抑えてるから大丈夫だろ。
0548デフォルトの名無しさん2008/02/10(日) 15:10:01
>>418
> 可能だが、どこまで自然になればOKなのかは使う人によるからな・・・
> Rubyでも DSLは作られるが、
> 例えば、brainfu*k を再現するのは無理だろう
遅レスだがこれはどうよw
ttp://d.hatena.ne.jp/ku-ma-me/20080208/p1
0549デフォルトの名無しさん2008/02/10(日) 15:12:52
厳密には無理なんだろうけど、そこまでやるのにワロタ
0550デフォルトの名無しさん2008/02/10(日) 15:36:13
方向音痴な初心者です

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

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

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

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

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

[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] [email protected]
[Email] [email protected]
http://whois.jprs.jp/cgi-bin/whois_gw?key=wota.jp
http://www.google.co.jp/search?q=site%3Awota.jp
http://2ch.wota.jp/
http://wota.jp:9090/
http://wota.jp:9090/image/show/67874
http://wota.jp/ac/

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
http://www.amazon.co.jp/Ruby-Rails%E5%85%A5%E9%96%80%E2%80%95%E5%84%AA%E3%81%97%E3%81%84Rails%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E8%A5%BF-%E5%92%8C%E5%89%87/dp/4798013951
0588デフォルトの名無しさん2008/02/13(水) 03:34:50
Rubyはエロ画像収集言語です
0589デフォルトの名無しさん2008/02/13(水) 03:35:02
><;
0590デフォルトの名無しさん2008/02/13(水) 03:39:36
>>587
つか、Rubyにかぎらんような。
JPEG2000のSusieプラグインの人とかはショタコンだし。
0591デフォルトの名無しさん2008/02/13(水) 03:50:29
これは痛すぎるぜ
0592デフォルトの名無しさん2008/02/13(水) 03:59:01
perl の人はアニオタじゃなかったけ?
0593デフォルトの名無しさん2008/02/13(水) 06:38:37
>>592
> perl の人はアニオタじゃなかったけ?

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

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

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

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

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

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

結城先生にもご注進したら〜w
ttp://www.hyuki.com/cr/cat_index.html
0618デフォルトの名無しさん2008/02/13(水) 13:07:49
>>617
「にも」って・・・もしかして、2chに何かを書き込むのが
本人への「注進」に値すると思ってるの?
0619デフォルトの名無しさん2008/02/13(水) 16:23:30
アンチはアンチスレでお願いします
0620デフォルトの名無しさん2008/02/13(水) 19:22:19
あぁ まさかまさか、重要な仕事を依頼しようとしている相手がこのような異常性癖の持ち主だったとは
こ、子供相手に信じられん!!
俺なら断然巨乳の女、映画女優で言うとイザベル=アッジャ〜ニが良いのに!
0621デフォルトの名無しさん2008/02/13(水) 19:24:35
なつかしー
0622デフォルトの名無しさん2008/02/13(水) 23:53:02
結城も微妙だが、だからといって西和則が恥晒しなことは変わらない
0623デフォルトの名無しさん2008/02/13(水) 23:58:25
無限長演算はいつ標準実装されるの。あとRational(3, 4)は3/4って表示してよ。
0624デフォルトの名無しさん2008/02/14(木) 00:01:08
devでbigdecimalやrationalの話してるんだから混じってきたら?
0625デフォルトの名無しさん2008/02/14(木) 00:01:20
1, 2, ... と無限まで続くRangeが欲しいなあ
0626デフォルトの名無しさん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
:
:
0627デフォルトの名無しさん2008/02/14(木) 00:20:10
うん、1.9のEnumeratorを使えばできるのはしってるけど
綺麗なリテラルがほしいのね
0628デフォルトの名無しさん2008/02/14(木) 00:24:23
>>623
to_sすれば3/4ってなるけど
inspectはそのままevalできるのを出力する傾向があるから
Rational(3, 4)のまま変わらないんじゃないか?
0629デフォルトの名無しさん2008/02/14(木) 02:16:11
>>625
(1..1/0.0).each{|x|p x}
0630デフォルトの名無しさん2008/02/14(木) 02:36:41
>>629
おお!・・・Infinityってそのまま書けないの?
tやnilがあんだしInfinityぐらいいいじゃんと思うけど・・・
Float::Infinityでもいいけど
0631デフォルトの名無しさん2008/02/14(木) 02:47:36
と思ったらMath::Infがあったか。
これからは
include Math
(1..Inf).each
を使うことにする。ありがとう。
0632デフォルトの名無しさん2008/02/14(木) 03:00:32
$ irb
>> include Math
=> Object
>> Inf
NameError: uninitialized constant Inf
from (irb):2

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

つまり、定数を任意のクラスから参照できてしまうみたい。
1.8だとErrorがでるけど1.9だとスルー。バグかな?
0634デフォルトの名無しさん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

が通っちゃうからちょっと奇妙に思えるけどなあ。
0635デフォルトの名無しさん2008/02/14(木) 04:41:21
そんなんダメじゃん。あほだな1.9
0636デフォルトの名無しさん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!
0637デフォルトの名無しさん2008/02/14(木) 05:31:39
ワロタ
0638デフォルトの名無しさん2008/02/14(木) 12:38:53
これはwwwwww
0639デフォルトの名無しさん2008/02/14(木) 17:10:08
>>636
よく理解してないんだが、1.8でも警告は出るけど同じ結果。
0640デフォルトの名無しさん2008/02/14(木) 17:11:21
1.9では本採用ってことかw
0641デフォルトの名無しさん2008/02/14(木) 17:30:21
>>636 が変だと一瞬でも思った奴は arr[1][0] で引っかかる奴だな

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

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

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


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

内じゃないと実行できないようにしようぜ
0652デフォルトの名無しさん2008/02/14(木) 21:27:55
トップレベルの定数がObjectにくっ付いてるのが悪い
0653デフォルトの名無しさん2008/02/14(木) 21:33:24
>>652
うーん…
0654デフォルトの名無しさん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
0655デフォルトの名無しさん2008/02/14(木) 21:48:38
と思ったけどこれは1.8でも同様か。ま、シャドウイングするか別いいかな。
0656デフォルトの名無しさん2008/02/14(木) 21:50:35
::の無い定数呼び出しと ::有りの定数呼び出しは区別してくれた方が良さそうだ
0657デフォルトの名無しさん2008/02/14(木) 21:59:46
class String
String.new
end
で2つのStringが別のものになるとかなり当惑しそうだな。
0658デフォルトの名無しさん2008/02/15(金) 17:04:54
別にトップレベルが見えてもいいとは思うけど少なくとも警告は(1.8のように)
してほしいなあ。この辺は小さくハックできるのと大規模アプリのために
きっちりエラーになるとの違いだけどさあ。
0659デフォルトの名無しさん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
0660デフォルトの名無しさん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], [], []]
0661デフォルトの名無しさん2008/02/16(土) 03:50:18
nannzo?
I understand it -> a[0][0]
0662デフォルトの名無しさん2008/02/16(土) 03:50:47
Sorry, >>661 is mistake...
I DO NOT understand it -> a[0][0]
what is meaning?
0663デフォルトの名無しさん2008/02/16(土) 04:07:44
>659
[[0]]*4 なので、生成してる[0]は1つだけ。
aの中身のそれぞれの[0]は、全く同じ[0]を参照してる。
だから、それを変更すると全部置き換わったように見える。
0664デフォルトの名無しさん2008/02/16(土) 04:09:07
>>662
Ruby 初心者スレッド Part 16
http://pc11.2ch.net/test/read.cgi/tech/1197120980/
0665デフォルトの名無しさん2008/02/16(土) 04:48:31
a=Array.new(4){[]}
p a #=> [[0],[0],[0],[0]]


???
0666デフォルトの名無しさん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]]
0667デフォルトの名無しさん2008/02/16(土) 11:59:19
Rubyistってロリコンなの??

[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] [email protected]
[Email] [email protected]
http://whois.jprs.jp/cgi-bin/whois_gw?key=wota.jp
http://www.google.co.jp/search?q=site%3Awota.jp
http://2ch.wota.jp/
http://wota.jp:9090/
http://wota.jp:9090/image/show/67874
http://wota.jp/ac/

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
http://www.amazon.co.jp/Ruby-Rails%E5%85%A5%E9%96%80%E2%80%95%E5%84%AA%E3%81%97%E3%81%84Rails%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E8%A5%BF-%E5%92%8C%E5%89%87/dp/4798013951
0668デフォルトの名無しさん2008/02/16(土) 12:09:00
>>666
irbのコピペを整形するのって面倒なんだよね
0669デフォルトの名無しさん2008/02/16(土) 14:17:01
生
http://ruby-sapporo.org/live
0670デフォルトの名無しさん2008/02/16(土) 14:18:18
http://pc11.2ch.net/test/read.cgi/tech/1200106073/667
名誉毀損
0671デフォルトの名無しさん2008/02/16(土) 14:23:54
事実で名誉毀損も糞もないと思うが
0672デフォルトの名無しさん2008/02/16(土) 14:26:33
結構いるよね、事実を口にするだけなら名誉毀損にならないと思ってる人。
刑法230条あたりを調べてみるといいよ。
0673デフォルトの名無しさん2008/02/16(土) 14:40:11
宗教に入ってるのをばらされたくらいで名誉毀損とか言うと、
その宗教の人から隣地殺人される。

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


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

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

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

理由は宗教だから。




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

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

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

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

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

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

で、要素の塊に対してどういうアクセスをするかで違う、が答じゃね
0708デフォルトの名無しさん2008/02/18(月) 11:05:50
>>706
疑問になったらまずは自分でベンチマークを書くんだ
0709デフォルトの名無しさん2008/02/18(月) 18:56:14
そしておれたちに報告するんだ
0710デフォルトの名無しさん2008/02/18(月) 20:03:07
まず 「アクセス」 を定義するんだ。
0711デフォルトの名無しさん2008/02/18(月) 23:11:37
浅倉。
0712デフォルトの名無しさん2008/02/18(月) 23:13:28
もう一人カワイソス
0713デフォルトの名無しさん2008/02/19(火) 11:10:28
Rubyistってロリコンなの??

[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] [email protected]
[Email] [email protected]
http://whois.jprs.jp/cgi-bin/whois_gw?key=wota.jp
http://www.google.co.jp/search?q=site%3Awota.jp
http://2ch.wota.jp/
http://wota.jp:9090/
http://wota.jp:9090/image/show/67874
http://wota.jp/ac/

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
http://www.amazon.co.jp/Ruby-Rails%E5%85%A5%E9%96%80%E2%80%95%E5%84%AA%E3%81%97%E3%81%84Rails%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E8%A5%BF-%E5%92%8C%E5%89%87/dp/4798013951
0714デフォルトの名無しさん2008/02/19(火) 11:26:26
>>713
アンチスレから出てくんな
0715デフォルトの名無しさん2008/02/19(火) 18:28:29
require_relative
0716デフォルトの名無しさん2008/02/19(火) 23:27:16
クリエイティビティみなぎる俺には物足りないんだよねruby
某蛇言語は俺のハートをガッシリ掴んだが
お前らrubyプロはこれ使って何やってんの?具体的に教えてくれよ
0717デフォルトの名無しさん2008/02/19(火) 23:41:01
>716
逆にRuby使いからするとPython使って何してるのか判らんワケで…。
結局似たようなことやってんじゃね?
0718デフォルトの名無しさん2008/02/19(火) 23:44:10
shスクリプト



Perl PHP


の三角の間の何かをしてるんだろうな
0719デフォルトの名無しさん2008/02/20(水) 00:06:22
>>716-717
どっちの言語も、学ぶことで形にできるようになるものといったら、
「上から目線で他言語を煽ること」くらいだものな。
0720デフォルトの名無しさん2008/02/20(水) 00:26:06
PyhonはググルとMSにヨイショされてるからその点では明らかにPyhon>Ruby
Matzもどこかにもぐりこめばいいのに^^;
0721デフォルトの名無しさん2008/02/20(水) 00:55:24
>706
"ID;text"っていう形式で2万行くらいあるcsvデータに
与えた文字列とぴったり一致するIDが存在するかどうかを調べるスクリプトを書いた結果から言えば
配列よりハッシュのほうが20倍くらい速かった。他の処理は知らん。
0722デフォルトの名無しさん2008/02/20(水) 01:02:59
Arrayへのinclude?やgrepはHashへのhas_key?やfetchに比べれば遅いだろうな
0723デフォルトの名無しさん2008/02/20(水) 01:15:14
配列とハッシュのデータ構造の違いの話なんだからRubyの問題じゃないでそ
実験して見るまでも無いさ
0724デフォルトの名無しさん2008/02/20(水) 02:00:52
include?とhas_value?ならinclude?のほうが早かったよ
0725デフォルトの名無しさん2008/02/20(水) 10:47:41
>>724
kwsk
0726デフォルトの名無しさん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強いからなあ
0727デフォルトの名無しさん2008/02/20(水) 22:53:24
プログラミング初心者ですが、質問があります。
Pythonは言語自体はシンプルで、必要な機能は拡張モジュールを使って追加する、と
PyJUGのホームページに書いてありました。
これは、Rubyにも当てはまりますか?
0728デフォルトの名無しさん2008/02/20(水) 22:55:24
大体おk
0729デフォルトの名無しさん2008/02/20(水) 23:03:14
>>728
横からすまん。
>>727のレスを見て完全にあてはまると思ったんだが、大体に当てはまらないのはどのへん?
07307272008/02/20(水) 23:03:37
出来れば具体的にお願いしますm(_ _)m
0731デフォルトの名無しさん2008/02/20(水) 23:19:56
困る728w
0732デフォルトの名無しさん2008/02/20(水) 23:44:11
728じゃないが
>言語自体はシンプル
この辺かなぁ。
てゆーか、俺はRubyもPythonも
シンプルさを売りに出来るほどシンプルとは思わんが。
まぁ、シンプルでなきゃダメダメなんて言うつもりもないけど。
0733デフォルトの名無しさん2008/02/20(水) 23:49:39
シンプルと感じるかどうかは人によって異なるからなあ
>>728みたいに曖昧な答えになるのは当然じゃないの
0734デフォルトの名無しさん2008/02/20(水) 23:52:52
シンプルに記述することはできるよね。
でもその裏返しに、込められた意味は多いってことだから。

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

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

ってくらい分かりやすく記述せよって事じゃないのかw?
0741デフォルトの名無しさん2008/02/21(木) 08:45:48
じゃあinject禁止
0742デフォルトの名無しさん2008/02/21(木) 08:53:37
時々ある Hoge.new(params) ではなく Hoge(params) 形式の関数的クラスは使用禁止な
0743デフォルトの名無しさん2008/02/21(木) 10:43:06
>>738
釣りだよね?
0744デフォルトの名無しさん2008/02/21(木) 11:34:41
>>738
もうわかったと思うけど、そこを指摘すると信者がひどくファビョるから注意な。
0745デフォルトの名無しさん2008/02/21(木) 12:17:24
>>744
頭が悪いといわれても、そんなに怒るなよ。
0746デフォルトの名無しさん2008/02/21(木) 13:20:11
ファビョってるw
0747デフォルトの名無しさん2008/02/21(木) 14:41:28
メジャーな言語になってしまうと、
>>746みたいな低レベルな人間も使ってしまうところが
嫌な事だな。
0748デフォルトの名無しさん2008/02/21(木) 14:50:29
長く使ってるとアンチになるというのが定説
0749デフォルトの名無しさん2008/02/21(木) 14:51:26
ただでさえ資金も人も時間も足りないんだから、凄然とされた仕様書を
書いている暇があったら、ソースコードに手を入れてください (> <)
0750デフォルトの名無しさん2008/02/21(木) 14:55:45
使えば使うほど仕様の不安定さに泣かされることになるからな
今はもう取り下げられたが、少し前には、
お前ら本当にRuby使ってんのかよ的な仕様変更がいくつか提案されててうんざりしたわ
0751デフォルトの名無しさん2008/02/21(木) 15:32:50
Matzが日本人じゃなかったら間違いなくPythonつこうとる
0752デフォルトの名無しさん2008/02/21(木) 16:03:49
Matzが日本人じゃなくてもどっちを使うかと言われたらRubyだなあ。
もっとも、Matzが日本人じゃなかったらとっくに捨ててRubyでもPythonでもない別の言語を使ってる。
0753デフォルトの名無しさん2008/02/21(木) 16:05:47
>>750
HashMapとArrayの混合の事?
0754デフォルトの名無しさん2008/02/21(木) 17:59:31
てか1.9での変更に文句つけるやつはただのアホだろ
0755デフォルトの名無しさん2008/02/21(木) 18:20:16
みんな文句つけまくりでMatzが案を引っ込めるのがよくあるパターンですが
0756デフォルトの名無しさん2008/02/21(木) 19:41:55
じゃあ、こうなったら
Yet Another Ruby
をみんなで作ろうぜ。
略してYAR。
0757デフォルトの名無しさん2008/02/21(木) 19:44:44
とりあえず String#sg という名前は末代まで語り継ぎたい。
0758デフォルトの名無しさん2008/02/21(木) 19:47:56
結局それは何をするメソッドなの?
0759デフォルトの名無しさん2008/02/21(木) 19:58:41
名前重要っていう、Matzへのしっぺ返しメソッドとして語り継がれるわけだ
呼べば NamaeJuuyouError < NameError な例外がかえって来るように実装すればいいんじゃね?
0760デフォルトの名無しさん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……とさきほどの数字に限りなく近い数字できちんと表示されたのですが
バイナリエディタで見ると変な文字に変わってしまうのは、何が原因なのでしょうか?これをバイナリファイルとして正しく見れる方法はあるのでしょうか。
0761デフォルトの名無しさん2008/02/21(木) 20:17:38
そりゃ浮動小数点数は、整数とはバイナリへの納め方がちがうもんよ
0762デフォルトの名無しさん2008/02/21(木) 20:31:58
>>760
http://www.cc.kyoto-su.ac.jp/~yamada/pB/pB.html
今ググったら出てきた。ここ行って6,7読んで勉強汁。
というか、本買って読め。
あと、質問の内容が全然 Ruby と関係ないから、
次からはちゃんと適切なスレで質問して。
0763デフォルトの名無しさん2008/02/21(木) 21:07:20
こいつD言語スレでも見たぜ
0764デフォルトの名無しさん2008/02/21(木) 21:25:54
>>762が答えてくれたんだからいいじゃん
きちんと最後まで責任持てよ
0765デフォルトの名無しさん2008/02/21(木) 23:32:06
>>760
fwrite(π,sizeof(double),1,fp);
↓
fprintf(fp, "%lf", π);
0766デフォルトの名無しさん2008/02/21(木) 23:38:10
>>765
πはそのままなんだ。Cってこんな書き方できるんだ
0767デフォルトの名無しさん2008/02/21(木) 23:42:13
できねーよ
0768デフォルトの名無しさん2008/02/22(金) 00:05:06
Array#between(start..end)
が欲しいな
Array#slice(start..end)
Array#slice(pos[, len])
は引数が2パターンあってあんまり綺麗じゃない
0769デフォルトの名無しさん2008/02/22(金) 08:33:38
それはbetweenではない
0770デフォルトの名無しさん2008/02/22(金) 08:41:02
Array#kanibasami
0771デフォルトの名無しさん2008/02/22(金) 08:43:47
Array#pafupafu
0772デフォルトの名無しさん2008/02/22(金) 08:52:17
面白いと思っているのか?
0773デフォルトの名無しさん2008/02/22(金) 10:27:58
うん。わりと・・・
0774デフォルトの名無しさん2008/02/22(金) 11:16:32
Rubyistってロリコンなの??

[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] [email protected]
[Email] [email protected]
http://whois.jprs.jp/cgi-bin/whois_gw?key=wota.jp
http://www.google.co.jp/search?q=site%3Awota.jp
http://2ch.wota.jp/
http://wota.jp:9090/
http://wota.jp:9090/image/show/67874
http://wota.jp/ac/

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
http://www.amazon.co.jp/Ruby-Rails%E5%85%A5%E9%96%80%E2%80%95%E5%84%AA%E3%81%97%E3%81%84Rails%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E8%A5%BF-%E5%92%8C%E5%89%87/dp/4798013951
0775デフォルトの名無しさん2008/02/22(金) 11:20:33
コピペ君て馬鹿(ry
0776デフォルトの名無しさん2008/02/22(金) 11:21:49
西 和則ってのがロリコンなだけだ
Rubyは関係ない
0777デフォルトの名無しさん2008/02/22(金) 11:58:44
>>776
!否… Rubyistです…
r
0778デフォルトの名無しさん2008/02/22(金) 12:04:13
>>777
包含関係、必要条件、十分条件、逆、対偶、といったことが理解できない人はこの板に来ないほうがいいと思うよ、マジで。
0779西和則2008/02/22(金) 12:07:47
俺はロリ〜コ〜ン
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] [email protected]
[Email] [email protected]
http://whois.jprs.jp/cgi-bin/whois_gw?key=wota.jp
http://www.google.co.jp/search?q=site%3Awota.jp
http://2ch.wota.jp/
http://wota.jp:9090/
http://wota.jp:9090/image/show/67874
http://wota.jp/ac/

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
http://www.amazon.co.jp/Ruby-Rails%E5%85%A5%E9%96%80%E2%80%95%E5%84%AA%E3%81%97%E3%81%84Rails%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E8%A5%BF-%E5%92%8C%E5%89%87/dp/4798013951
0780デフォルトの名無しさん2008/02/22(金) 12:11:14
>>778
!理解しました…
r                ???品質と云う物ですね???
0781デフォルトの名無しさん2008/02/22(金) 12:13:51
で西 和則って誰
0782デフォルトの名無しさん2008/02/22(金) 12:18:44
>>781
?さぁ… 何方でしょう…
r
0783デフォルトの名無しさん2008/02/22(金) 13:37:10
>>778
WHOISの意味がわからない人も見てて恥ずかしいからなんとかして欲しい
0784デフォルトの名無しさん2008/02/22(金) 13:49:50
この変な文章はこのあいだまでlinux板にいたアナスイだろ
相手しちゃダメですよーー
0785デフォルトの名無しさん2008/02/22(金) 15:05:58
推奨NGWORD:西 和則
0786デフォルトの名無しさん2008/02/22(金) 15:06:23
推奨NGWORD:ロリ
の方がいいか
0787デフォルトの名無しさん2008/02/22(金) 15:39:54
MLの質問の仕方はどうにかならんもんなのか。
うまく動かなかったら、コードを削って最小限のコードを
提示するのが当たり前だと思うのだが。
0788デフォルトの名無しさん2008/02/22(金) 16:37:12
どうにもなってない以上それは「当たり前」ではないのだろ
あんたはその「当たり前」はどうやって習得した?
0789デフォルトの名無しさん2008/02/22(金) 16:46:16
net/protocol.rbからTimeout::Errorが飛び出すのは設計ミス
0790デフォルトの名無しさん2008/02/22(金) 16:51:08
>>789
うむ
0791デフォルトの名無しさん2008/02/23(土) 00:15:33
>>788
おれは仕事故、先輩諸氏に徹底的に追い詰められる事で覚えたな。
最近は甘やかしすぎというか、いい人し過ぎな馬鹿が多いんだろう。だから馬鹿が増える。その馬鹿が馬鹿を育てる。悪循環というわけだ。
で、お前は?
0792デフォルトの名無しさん2008/02/23(土) 00:24:50
最近Rubyの話題があんまりないような
0793デフォルトの名無しさん2008/02/23(土) 00:32:19
1.9.0-1が出たらあーだこーだ盛り上がります
0794デフォルトの名無しさん2008/02/23(土) 00:33:46
その内容は今と大差ないdis合戦とちゃうんか?
0795デフォルトの名無しさん2008/02/23(土) 00:41:22
せめて1.9.1が出てくれないと盛り上がらない
0796デフォルトの名無しさん2008/02/23(土) 00:53:41
Rubyの標準ライブラリって死んでるのが多いよね。
CGI系はご覧のとおりで、ドキュメントもテストも少ない。cgiextを取り込んで
kuwataさんにメンテナになってもらえばいいのに。

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

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

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

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

あまりにも昔からあるもんだから「使えなかった時代」の印象で
旧い人たちには現在もスルーされまくってるというのがありがちだが
0807デフォルトの名無しさん2008/02/23(土) 02:09:06
ラッシュってホモゲイの人が使う興奮剤じゃなかったっけ
0808デフォルトの名無しさん2008/02/23(土) 02:13:32
Ruby版Windows Power Shellみたいなのだろうか

ttp://journal.mycom.co.jp/news/2008/02/22/042/index.html
ttp://rush.heroku.com/
ttp://www.stage6.com/user/BelovedRogue/video/1738798/Rush:YYZ
0809デフォルトの名無しさん2008/02/23(土) 02:27:57
Rush違い 
0810デフォルトの名無しさん2008/02/23(土) 11:52:16
例のゲイ人はどうなった?
0811デフォルトの名無しさん2008/02/23(土) 11:57:27
興奮剤?
ホルモン剤?
0812デフォルトの名無しさん2008/02/23(土) 12:42:02
>>807
何でそんなこと知ってんだよ
0813デフォルトの名無しさん2008/02/23(土) 12:42:55
推奨NGWORD:ゲイ
0814デフォルトの名無しさん2008/02/23(土) 13:35:09
プロはむしろゲイでレス抽出
0815デフォルトの名無しさん2008/02/23(土) 14:58:36
>>797
その方向でいくと本体もobsolete化
0816デフォルトの名無しさん2008/02/23(土) 15:01:30
その方向でおk
0817デフォルトの名無しさん2008/02/23(土) 16:24:38
僕の息子もobsoleteされそうです><
0818デフォルトの名無しさん2008/02/23(土) 16:40:55
>が、最近のruby-coreでの議論の結果、timeoutがネストしている場合で
>もそれぞれを区別するようになり、1.9では同時にTimeout::Errorも
>RuntimeErrorのサブクラスに戻りました。
0819デフォルトの名無しさん2008/02/23(土) 17:11:00
戻ってくんな
0820デフォルトの名無しさん2008/02/23(土) 17:50:35
Matz×Dan×Daiji「エンジニア進化論」
「てくらぼ」オープニングイベント スペシャル対談開催
http://www.pasonatech.co.jp/techlab/event_080311.jsp

タイトルがMatsになっとる
0821デフォルトの名無しさん2008/02/23(土) 17:56:32
また香ばしい人間ばっかり集めてきたな…
0822デフォルトの名無しさん2008/02/23(土) 20:03:42
ホモはどうすんのよ?
0823デフォルトの名無しさん2008/02/23(土) 20:43:19
>>811
一瞬モルモン剤に見えた。
0824デフォルトの名無しさん2008/02/23(土) 23:10:45
rmagick2使ってるんですけど、モノクロなjpgを探せませんか?
グレイスケールのフォーマットとかではなくて、中身が実質白黒なやつです。
任意の点で彩度が何ぼ以下とかいう処理になると思うんですけど。
0825デフォルトの名無しさん2008/02/23(土) 23:26:11
if,def...〜end構文アレルギーを克服したらRubyを使うのが楽しくなってきた(^o^)
0826デフォルトの名無しさん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 とうのも使えるかもしれないけど、
多色画像だと無駄が多いか。
0827デフォルトの名無しさん2008/02/23(土) 23:35:10
× to_HTL
○ to_HSL

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

module カレー
end

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

あとgrammerと処理を分離できる利点ってだれか説明してくれたっけ?
ほんとに利点があるなら、raccやparser combinatorから乗り換えも考えないといけないなあ。
0938デフォルトの名無しさん2008/02/28(木) 22:53:15
はやくyarvもベリファイアを実装してloadを解禁してほしい
0939デフォルトの名無しさん2008/02/28(木) 23:08:10
1.9.0-1は明日の午後3時ですか
0940デフォルトの名無しさん2008/02/29(金) 00:05:28
ASTと聞いても台湾のPCメーカーしか思い浮かばん
0941デフォルトの名無しさん2008/02/29(金) 02:26:41
>>826
遅くなってしまったけど、ありがとう。
うまくいきました。
0942デフォルトの名無しさん2008/02/29(金) 10:49:51
http://itpro.nikkeibp.co.jp/article/COLUMN/20080128/292199/
こんなクソ記事書いてる暇があったらcgi.rb直せよMatz
0943デフォルトの名無しさん2008/02/29(金) 11:06:52
[Domain Name] WOTA.JP
[登録者名] 西 和則
[Registrant] Kazunori Nishi
[Email] [email protected]
[Email] [email protected]
http://whois.jprs.jp/cgi-bin/whois_gw?key=wota.jp
http://www.google.co.jp/search?q=site%3Awota.jp
http://2ch.wota.jp/
http://wota.jp:9090/
http://wota.jp:9090/image/show/67874
http://wota.jp/ac/

Ruby on Rails入門―優しいRailsの育て方 (単行本)
西 和則 (著)
http://www.amazon.co.jp/Ruby-Rails%E5%85%A5%E9%96%80%E2%80%95%E5%84%AA%E3%81%97%E3%81%84Rails%E3%81%AE%E8%82%B2%E3%81%A6%E6%96%B9-%E8%A5%BF-%E5%92%8C%E5%89%87/dp/4798013951
0944デフォルトの名無しさん2008/02/29(金) 13:24:12
>>895
>おまえどんだけ無知なの?w
>
>ANTLR(Ruby言語に欠陥があるためRuby用のASTが吐けない)
>sablecc
>Python組み込み
>PHP組み込み

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

これ興味があるな。

その情報へのポインタか、Rubyの何がどう障害になるのか
具体的に書いてもらえるとうれしいけど。
0946デフォルトの名無しさん2008/02/29(金) 15:26:32
http://trac.macosforge.org/projects/ruby/wiki/MacRuby
どうなの
0947デフォルトの名無しさん2008/02/29(金) 19:52:42
>>945
どうせ>895の勘違い
grammerと処理を分離を分離できる利点もきっとない
0948デフォルトの名無しさん2008/02/29(金) 22:32:04
>>942
直せと言うのは同感だが、それが2006年の記事だってことは理解してるよな?
0949デフォルトの名無しさん2008/02/29(金) 23:15:47
cgi.rbはMerbの人がRackの簡略版を書くらしいので、それが取り込まれるんじゃないかな。
http://groups.google.com/group/ruby-core-google/browse_thread/thread/de40059c1f05e49a/2b1e3d2b4ec1383a
0950デフォルトの名無しさん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を補完してくれるよ。

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

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

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

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

東京農工 - テキサス農工 (?)
KMC - TMRC (?)
0966デフォルトの名無しさん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.
0967デフォルトの名無しさん2008/03/01(土) 17:42:16
>>963
Titechは日本のMITを名乗ってるんだぜ
0968デフォルトの名無しさん2008/03/01(土) 17:54:51
TIT(乳首)かよw



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

Kinki Kidsが改名するという話はない、と思う。
0971デフォルトの名無しさん2008/03/01(土) 18:09:26
赤井がいるような大学だからな
構内にはヤニの吸殻散らばってるし
0972デフォルトの名無しさん2008/03/01(土) 18:32:34
近代大学...
0973デフォルトの名無しさん2008/03/01(土) 18:39:14
>>972
恐ろしく語呂が悪い
0974デフォルトの名無しさん2008/03/01(土) 21:07:53
そんなことはどうでもいいんだよ。
ただ影舞で新規登録時のプレビュー機能さえあればそれでいい。
0975デフォルトの名無しさん2008/03/01(土) 21:11:37
影舞は死んでるからこんなところで言ってても一生できないだろ
フォークするか1.9にポーティングしてる人がいたからメールしてみれば。
まあ、retrospectiva使おうよ。
0976デフォルトの名無しさん2008/03/01(土) 21:15:02
影舞復活してるよ
0977デフォルトの名無しさん2008/03/01(土) 22:12:02
そうなの?sfも2005-01-27以降動きないように見えるけどどこで動いてんだ
0978デフォルトの名無しさん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/
0979デフォルトの名無しさん2008/03/02(日) 15:35:10
>>967
> Titechは日本のMITを名乗ってるんだぜ

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

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

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

超地球的存在?
0992デフォルトの名無しさん2008/03/02(日) 21:53:09
ま・さ・か〜
0993デフォルトの名無しさん2008/03/02(日) 23:08:15
Rubyについて Part 31
http://pc11.2ch.net/test/read.cgi/tech/1204466626/
0994デフォルトの名無しさん2008/03/03(月) 16:50:06
Ultra-no-Titi
0995デフォルトの名無しさん2008/03/04(火) 22:37:33
self.threads.fill
0996デフォルトの名無しさん2008/03/04(火) 22:39:46
raise Matz
0997デフォルトの名無しさん2008/03/04(火) 23:23:07
あ
0998デフォルトの名無しさん2008/03/05(水) 00:41:33
なんとなく埋め
0999デフォルトの名無しさん2008/03/05(水) 01:10:36
るびぃ
1000デフォルトの名無しさん2008/03/05(水) 01:17:18
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。