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

Rubyについて Part 9

レス数が1000を超えています。これ以上書き込みはできません。
0001 ◆mput.861Kw NGNG
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

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

= 前スレ
: Rubyについて Part 8
http://pc5.2ch.net/test/read.cgi/tech/1079975637/


= 過去スレ
: Rubyについて Part 7
http://pc2.2ch.net/test/read.cgi/tech/1074235226/
: Rubyについて Part 6
http://pc2.2ch.net/test/read.cgi/tech/1067623825/
: Rubyについて Part 5
http://pc2.2ch.net/tech/kako/1063/10630/1063028224.html
: Ruby について Part 4
http://pc2.2ch.net/tech/kako/1056/10569/1056944114.html
: Ruby について Part 3
http://pc2.2ch.net/tech/kako/1042/10420/1042004759.html
: Rubyについて Part 2
http://pc3.2ch.net/tech/kako/1028/10289/1028906179.html
: Rubyについて
http://pc3.2ch.net/tech/kako/1012/10120/1012096319.html
0002 ◆mput.861Kw NGNG
= 関連リンク
: Matzにっき
http://www.rubyist.net/~matz/
: Ruby Weekly News @ Ruby Garden
http://www.rubygarden.org/rurl/html/
: <rubyXML/>
http://www.rubyxml.com/
: ruby-cvs
http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs
: Ruby hotlinks 五月雨版
http://znz.jin.gr.jp/samidare/
: リファレンス
http://www.ruby-lang.org/ja/man/

= 関連スレッド
: rubyを語るスレッド 4
http://pc.2ch.net/test/read.cgi/unix/1060537252/
0003デフォルトの名無しさんNGNG
>>1
乙
0004デフォルトの名無しさんNGNG
CVS も web も復活したってことは、もう全部復活したってことか?

と聞いてみる。
0005デフォルトの名無しさんNGNG
cvs web は?
0006デフォルトの名無しさんNGNG
鯖はRubyで作られてるの?
だからクラックされたとか?
0007デフォルトの名無しさんNGNG
魚偏にブルーと書いて鯖
0008デフォルトの名無しさんNGNG
俺が建てた前スレもようやく終焉か・・・。
鯖削除とか難民板に移動とか色々あったが、なんかうれしいな。

魚偏にブルーと書いたら、魚ブルー。
0009デフォルトの名無しさんNGNG
>1-2をみておもったんだがRDのインデントはIEだとつぶれちゃうんだな。
インデントでブロックを表す言語のスレは大変そうだ。
0010デフォルトの名無しさんNGNG
複数行の普通のスクリプトをone liner用の引数に変換することってできない?
要するにテキストの断片をスクリプトとして実行したいんだけど。
一時ファイルに出力してそのファイル名渡してやるしかないのかな。
0011デフォルトの名無しさんNGNG
$ ruby -e 'puts "hogehoge
hogehoge
hogehoge
hogehoge"'

できますがなにか?
0012デフォルトの名無しさんNGNG
>>前973
>drubyで簡単にアプリケーションサーバ立てられるところがよいと思う

すんまそん、逆です。PHP のほうが優れているところと、Ruby でそれを
再現する方法はどんなもんかなと。
0013デフォルトの名無しさんNGNG
>>11
もしくは
$ ruby -e 'puts "hogehoge' \
 -e 'hogehoge' \
 -e 'hogehoge' \
 -e 'hogehoge"'
0014デフォルトの名無しさんNGNG
>>10
そのテキストの断片を標準出力に吐くプログラム作ってパイプでrubyに渡せば?
0015デフォルトの名無しさんNGNG
標準入力でスクリプト受け取れるんだっけ
0016デフォルトの名無しさんNGNG
>>15
受け取れるけど、そのスクリプトで標準入力を必要としてたら使いものにならないし。
0017デフォルトの名無しさんNGNG
Object#type ってどうして Object#class になったんだっけ?
0018デフォルトの名無しさんNGNG
FooClass#typeっていうメソッドを作りたいやつが意外にたくさんいたから。
typeとかidとかいう一般的すぎる名前が使われちゃってるのはマズい。
0019デフォルトの名無しさんNGNG
>>18
なるほど。
レシーバ無し class は (予約語で) 使えないから type よりはマシ、
ってことなのかな?
0020デフォルトの名無しさんNGNG
Nora の標準添付まだあ?
0021デフォルトの名無しさんNGNG
ruby-devでリクエストすればいいと思う
0022デフォルトの名無しさんNGNG
日本で最もゆるいライセンスってなんですかね。
法的に勝手に発生する著作権はしょうがないにしても
それを一切主張するつもりがないので一部または
全部を好き勝手に使ってくれって言うようなの。
自称PDSが近いのかな。
0023デフォルトの名無しさんNGNG
コピーライト打って末尾にpublic domainとでも書けばいいじゃん
0024デフォルトの名無しさんNGNG
ライセンスと言えばこれが好き

[ruby-talk:24727]
> Permission is granted to anyone to use this software for any purpose,
> including commercial applications, and to alter it and redistribute it
> freely, subject to the following restrictions:
>
> 1. DO NOT SUE ME.
> 2. DO NOT EVEN THINK ABOUT SUING ME.
0025デフォルトの名無しさんNGNG
こっちのほうがもっと好き。

[ruby-list:30086]
> もう一度、私の望むところを3点ほどはっきりさせてお
> くと
>
> * 訴えられたくない
> * 訴えられたくない
> * 訴えられたくない
>
> です。これ以上のことは望みません。
0026デフォルトの名無しさんNGNG
何でDLできんのだろうと思ったら、ゾヌアラームが不正なアクセス扱いしてやがったw
0027デフォルトの名無しさんNGNG
Noraというのはそんなに素晴らしいのか?

漏れはCGIで満足・・・
0028デフォルトの名無しさんNGNG
いや、cgi.rbはタコだろ。cgi.rbがすばらしいならこんなにたくさんオルタナティブが存在するはずがない。
0029デフォルトの名無しさんNGNG
cgi.rb もそうだけど、 Net::HTTP もアレなので、
漏れはすっかり Nora 信者になったよ。
0030デフォルトの名無しさんNGNG
ファイル分割してクラスを管理すると

already initialized constant

がよく出てくるんだけど、
これを避けるいいガイドラインとかないですか
0031デフォルトの名無しさんNGNG
>>30
ファイル分割してクラスを管理してるけど、そんなの出たことねーな。
何やったらそんなの出るの?
0032デフォルトの名無しさんNGNG
[a.rb]
require 'b'
require 'c'
class A;X='';end

[b.rb]
require 'a'
require 'c'
class B;Y='';end

[c.rb]
require 'a'
require 'b'
class C;Z='';end

$ ruby a.rb
a.rb:3: warning: already initialized constant X

$ ruby b.rb
b.rb:3: warning: already initialized constant Y

$ ruby c.rb
c.rb:3: warning: already initialized constant Z
0033デフォルトの名無しさんNGNG
>>32
当たり前でしょ
どんな依存関係だよw
0034デフォルトの名無しさんNGNG
>>32
> $ ruby a.rb
> a.rb:3: warning: already initialized constant X

a.rb を引数で渡したときは、a.rb は require された
わけじゃないから、b.rb を require したときに、
require 'a' でロードされる。 ってことだろ

まあ、納得できないほどの挙動じゃないが
気になるなら ruby-list で聞けば?
0035デフォルトの名無しさんNGNG
クラス定義より先にrequireが来てるからa.rb(3)でエラーが起きて普通かと
0036デフォルトの名無しさんNGNG
$ cat a.rb
require 'a'
A=1
$ ruby a.rb
a.rb:2: warning: already initialized constant A

インタプリタ起動時に $" に $0 をつっ込むような挙動にすればいいじゃんと思ったけど
何か問題あるっけ?
0037デフォルトの名無しさんNGNG
requireでa.rを呼び出す
呼び出されたa.rbは既に呼び出されたa.rbの呼び出しを無視する
呼び出されたa.rbがAを宣言する
元のa.rbがAを宣言する ※エラー

こんな挙動では?
0038デフォルトの名無しさんNGNG
URI()よりURI[]のほうがRubyらしくねぇか?
まつもとの主張って根拠レスと思う
0039デフォルトの名無しさんNGNG
>>38
おまえがまず根拠を示せ。
0040デフォルトの名無しさんNGNG
>>38
Ruby的かどうかは誰が決めるんでしょうねえ(プゲラ
0041デフォルトの名無しさんNGNG
NoraのとこはなんでRwiki止めてんだろう
0042デフォルトの名無しさんNGNG
意見調整とか、合意に時間をかけるのがRubyの開発の特徴と思われ。
0043デフォルトの名無しさんNGNG
要は、主張がなんであれ「説得できたほうが勝ち」であって、
どんなに良い主張であれ「説得できなかったら負け」。
0044デフォルトの名無しさんNGNG
嫌な世の中だ・・・
0045デフォルトの名無しさんNGNG
言いたいことも言えないこんな世の中じゃ
0046デフォルトの名無しさんNGNG
cygwin上でRuby動かしているのですが、プロセスを起動するときに

warning: Insecure world writable dir


と出ます。

何か手軽にwritable dirを制限してwarningを消す方法は無いですか
0047デフォルトの名無しさんNGNG
*Rubyのバージョン
*どうやってインストールしたか
*どんなスクリプトで warning が出るか
とか情報キボンヌ
0048デフォルトの名無しさんNGNG
http://www.enterbrain.co.jp/digifami/products/rpgxp/shinkinou.html

( ´_ゝ`)
0049デフォルトの名無しさんNGNG
RPGツクールにRubyが採用されたってことは、
発売後、ここは厨の質問で溢れかえるんかな
0050デフォルトの名無しさんNGNG
流石にスレッドを分けると思われる
VBスレでVB.NETの話をされても困るのと同じ
0051デフォルトの名無しさんNGNG
そもそも板が違うし。
ただ文法レベルの質問は増えるだろうね。
その時何が起こるかはHSPスレを見るといい。
0052デフォルトの名無しさんNGNG
他の板のスレに誘導すればいいんじゃない。

【セルフ】RPGツクール00〜XP Vol58【デバッグ】
http://game6.2ch.net/test/read.cgi/game/1087580794/
-RPGツクール総合スレッド@製作技術(Part5)-
http://pc5.2ch.net/test/read.cgi/gamedev/1080711393/
0053デフォルトの名無しさんNGNG
しかし何でよりにもよってRubyなんだろう
0054デフォルトの名無しさんNGNG
組み込みのノウハウをフィードバックしてくれると嬉しいけど、
さすがに無理かな。
0055デフォルトの名無しさんNGNG
>>52
RPGツクールXP・RGSS板
http://jbbs.shitaraba.com/game/14836/
0056デフォルトの名無しさんNGNG
>>53

コード盗られた
ノウハウを盗られたと
enterbrainから訴えられたりして
0057デフォルトの名無しさんNGNG
Rubyをカスタマイズって謳ってるんだから訴えは無理だろ
0058デフォルトの名無しさんNGNG
>>47

cygwin - 1.8.1 で

スクリプトの中で

`#{なんかのコマンド}`


を実行したときです
0059デフォルトの名無しさんNGNG
いちRubyプログラマとして思うんだが

なんか、MLであまり質問が飛ばず
匿名の掲示板で質問ガンガン来るって
なんか無知を晒すのを恐れすぎてるっていうか。

クソな質問しちゃって後悔した経験が多いのかな。

とにかくどうということはないがそう思った。
0060デフォルトの名無しさんNGNG
糞なプライドが高いからね

例えばCの仕様書の一部を読んで
○○を××と思ってる奴はプログラマ辞めろ
とか書きたくなっちゃう人が多いもより
0061デフォルトの名無しさんNGNG
def initialize(foo, bar); @foo, @bar = foo, bar; end って書くのめんどい。
def initialize(@foo, @bar); end って書かせろ。
0062デフォルトの名無しさんNGNG
やだ
0063デフォルトの名無しさんNGNG
>なんか、MLであまり質問が飛ばず
>匿名の掲示板で質問ガンガン来るって
MLって開発者サイドというイメージがあって俺的には邪魔しちゃ悪いかなって
思ってたんだが。

59の意見はつまり>38の様な質問を匿名でMLに流し、後になってJamesGoslingとかRallyWall
だったということが判明し、MLが祭り状態になる、、、、というのを妄想している訳か。
0064デフォルトの名無しさんNGNG
俺もやだな
0065デフォルトの名無しさんNGNG
>>61
漏れは悪くないと思う
なんか悪いことでもあるかね
0066デフォルトの名無しさんNGNG
>>63
> MLって開発者サイドというイメージがあって
そうかね? ruby-list なんかは、もっと初心者の質問が飛び交っててもいい希ガス
0067デフォルトの名無しさんNGNG
開発者サイドのMLは英語でやり取りされてるから
0068デフォルトの名無しさんNGNG
>>65
暗黙的に代入されるのはわかりにくいし、ちょっと気持ち悪い。
0069デフォルトの名無しさんNGNG
>>67
ruby-talkは開発者用ってわけじゃないぞ。
それをいうならdevかcoreだ。
0070デフォルトの名無しさんNGNG
core英語じゃん。
0071デフォルトの名無しさんNGNG
devも挙げられてるのに
0072デフォルトの名無しさんNGNG
>>66
いぜんはもっと初心者の質問もとびかってたような。
Ruby の本が巷にあふれだしたころから、初心者の
質問がへった気がする
0073デフォルトの名無しさんNGNG
今の流量は talk>>>dev>list=coreくらい?
コアなメンバの人達も、昔はdevやlistで話してたようなネタを
今は日記で済ましてるような希ガス
0074デフォルトの名無しさんNGNG
Cのscanfと同じはたらきをさせるにはどうしたらいいんでしょうか。
0075デフォルトの名無しさんNGNG
>>74
まんま scanf.rb ってのが標準添付されとるよ。
0076デフォルトの名無しさんNGNG
>>38
devlogエラー吐いてるよ
0077デフォルトの名無しさんNGNG
>>61
だいぶ前だが、そのリクエストはruby-dev:2154で出ている。
0078デフォルトの名無しさんNGNG
>>77
talkでも繰り返し出てる。
誰か、藻前らちょっとは検索しろといってやって…も無駄だろうな。
0079デフォルトの名無しさんNGNG
>>78

>>61の提案を検索するキーワードとか方法教えて
0080デフォルトの名無しさんNGNG
>>79
「def initialize(@foo, @bar); end」
0081デフォルトの名無しさんNGNG
>>79
initialize instance variableでかなり引っかかる
0082デフォルトの名無しさんNGNG
"abc:def"というような、:で区切られた文字を分割して
2つのStringにしたいのですが、scanを使った場合どう書けばいいんでしょうか。
0083デフォルトの名無しさんNGNG
split 使えば。
0084デフォルトの名無しさんNGNG
splitを使うとどんな風に書けますか?
0085デフォルトの名無しさんNGNG
>>84
最近の若い者は perldoc すら見ないですか?
perldoc -f split
008685NGNG
>>84
ゴメン。大きな勘違いをしてたらしい。
お詫びに。

str1, str2 = "abc:def".split
0087デフォルトの名無しさんNGNG
>>86
refe String#split
とか言ってみたり。

それはともかく、 "abc:def".split だと分割できないよ。
str1, str2 = "abc:def".split(":")
split の引数には正規表現を与えることもできる。
0088デフォルトの名無しさんNGNG
次のようなスクリプトを考えているんですが、これをscanかsplitなどで分割するには
どうすればいいんでしょうか。

@command[param1,param2,...]

・1つの行は@で始まる
・@の次にはコマンドが来る
・引数は[ ]で指定され、その中は,で区切られる
・引数の数は可変である
0089デフォルトの名無しさんNGNG
まずマッチングでコマンド部分と []と引数を分け、
引数を ','で split
0090デフォルトの名無しさんNGNG
>>88
引数自体の仕様は?
0091デフォルトの名無しさんNGNG
CGIを作っているんですが、
URLの後に
test.cgi?foo=1&bar=2
などという感じで入力した値を取得するにはどうすればいいんですか?
0092デフォルトの名無しさんNGNG
$ cat a.cgi
#!/usr/bin/env ruby
require 'cgi'
cgi = CGI.new
res = <<EOT
foo: #{cgi['foo']}
bar: #{cgi['bar']}
EOT
cgi.out("text/plain"){res}
$ w3m -dump 'http://www/a.cgi?foo=1&bar=2'
foo: 1
bar: 2
$ w3m 'http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=CGI'
$ w3m 'http://raa.ruby-lang.org/cat.rhtml?category_major=Library;category_minor=CGI'
0093デフォルトの名無しさんNGNG
>>88
そういうのは RACC 使うべし。
0094デフォルトの名無しさんNGNG
>>79
過去のruby-devやruby-listぐらい全部よんで内容を頭の中に入れておけ。
常識だぞ。
0095デフォルトの名無しさんNGNG
マジで
0096デフォルトの名無しさんNGNG
>>94
全部覚えてる奴なんていねーよw

RCRchiveで探してみるってのも一つの手だな。
http://www.rcrchive.net
0097デフォルトの名無しさんNGNG
せめてここを読んでおくとか。
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=ML+Topics

Old Topicsがリンク切れだ・・・
0098デフォルトの名無しさんNGNG
古すぎだろ。
0099デフォルトの名無しさんNGNG
ruby -e 'p "abc:def".scan(/[^:]+/)'
#=> ["abc", "def"]
0100デフォルトの名無しさんNGNG
>>92
「あなたって、優しすぎるの。」といわれて振られてそうだな
0101デフォルトの名無しさんNGNG
質問させてください。

"The <B>brown fox</B> jumps over the <S>laszy</S> dog".gsub(/<.*>/,"<TAG>")

を実行して、期待した動作は

=> "The <TAG>brown fox<TAG> jumps over the <TAG>laszy<TAG> dog"

なのですが、実際は

=> "The <TAG> dog"

のようになってしまいます。

仕様がないので、文字列を each_byte でひとつひとつ調べて "<"と">"が来るたびにフラグを立てて処理しています。
スマートな記述方法はないでしょうか?
0102デフォルトの名無しさんNGNG
*ではなく*?
0103デフォルトの名無しさんNGNG
>>101
"The <B>brown fox</B> jumps over the <S>laszy</S> dog".gsub(/<.*?>/,"<TAG>")

/<.*>/じゃなくて/<.*?>/ですね。最短一致。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%C0%B5%B5%AC%C9%BD%B8%BD;em=%2A%3F
0104デフォルトの名無しさんNGNG
最短一致知らなくても
<[^>]*>
って書けるだろ
0105101NGNG
即レス感謝です

最短一致というのがあるのですね。知りませんでした。

<[^>]*> の方も理解出来ました。

おかげさまでスマートに記述出来ました。
ありがとうございました。
0106デフォルトの名無しさんNGNG
オレには <[^>]*> が理解出来ない。
なんでこれで最短一致になるの?
おせえてエロい人
0107デフォルトの名無しさんNGNG
[^>]の意味を考えよう
0108デフォルトの名無しさんNGNG
>>106
それが最短一致になるなんて誰も言ってないでしょ。
0109デフォルトの名無しさんNGNG
>>107
えーと、<[^>]*> は、、、
まず、< に一致。次に、[^>]は、> 以外の文字に一致。次が * なので0個以上の繰り返し。そして > 文字に一致。
あ、そういう事か。

>>108
このページを読むとそれが最短一致であるように書いてあるんですぅ
http://akademeia.info/main/lecture1/tokubetu_seikihyougen.htm
0110デフォルトの名無しさんNGNG
今月の誕生石はRubyですよage
0111デフォルトの名無しさんNGNG
dateコマンドの date --date '1 day ago' の様に当日から1日前の日付を
参照したいのですが、Time.now-1.day としても思う様な値が出ませんでした。
なにか良い方法はございますか?
0112デフォルトの名無しさんNGNG
(Date.today-1).day
カッコつけないと、 day はそもそも 1 のメソッド扱いになっちゃうし、
Time.now - 1 は1秒前だし……。
0113デフォルトの名無しさんNGNG
$ ruby -rdate -e 'd=Date.today; puts "#{d} #{d-1}"'
2004-07-01 2004-06-30
0114デフォルトの名無しさんNGNG
>>109
そのページの説明が間違ってる。
「空文字」の説明なんて意味不明。
0115デフォルトの名無しさんNGNG
>>113
ありがとうございました。
0116デフォルトの名無しさんNGNG
$ ruby -rmkmf -e 'create_makefile("hoge")'
で出来るMakefileでは
installとsite-installの両方/usr/local/lib/site_ruby/方面にインストールされる
1.6の時はちゃんと区別されてたんだけど
なんでですか?
0117デフォルトの名無しさんNGNG
extmk.rbでコンパイルされるものだけが$(rubylibdir)にインストールされるようになった。
それ以外はsite_ruby
0118116NGNG
>>117
なるほど、どうもです。
どうやら開発者の方の個人的趣味でsite-installと同じになったみたいです。
でも、extmk.rbはmkmf.rbとは違う使い方をするみたいで、よくわからんなぁ
0119デフォルトの名無しさんNGNG
$(rubylibdir)は標準添付されたものを置くところ。
それ以外のものを置こうってこと自体がおかしい。
そのためにsite_rubyがあるんだから。
0120デフォルトの名無しさんNGNG
119のいうとおり。
site-installというターゲットは互換性のために残されているだけ。
でも、$(rubylibdir)に入れるターゲットを別途用意してもよかったかもね。
0121デフォルトの名無しさんNGNG
rubyってHSPみたいにゲームとか作ったり出きるんですか?
そして、exeファイルとかにできるんですか?
0122デフォルトの名無しさんNGNG
>>121
>>52とか。
素のrubyで作るのは厳しいんじゃないの。
0123デフォルトの名無しさんNGNG
>>121
可能。可能。

ただし一口に「ゲーム」と言っても多種多様だからね。
たとえば 3D ゲームとかなら不可能に近い。
0124デフォルトの名無しさんNGNG
>>123
単に実装可能性の話をしてるわけじゃないだろ。
HSPと同程度なお手軽簡単さで作れるかといったらそれこそ不可能に近いだろ。
たとえ2Dであっても。
0125デフォルトの名無しさんNGNG
C++の10倍遅いという評価があっても3GHzあればそれなりに動くでしょ
0126デフォルトの名無しさんNGNG
遅さもあるけどお手軽なライブラリがない。
0127デフォルトの名無しさんNGNG
SDL
0128デフォルトの名無しさんNGNG
そういうと思ったが現実にRubyと組み合わせて使ってる奴なんてほとんどいないよ。
0129デフォルトの名無しさんNGNG
Rubyがアドバンテージを持つアプリケーションって何よ?
0130デフォルトの名無しさんNGNG
テキスト処理とかフィルタとか。
0131デフォルトの名無しさんNGNG
>>124
わざとああいう言い回しをしたんだけど。
文句は、不明瞭な質問をした >>121 に言ってくれ。
0132デフォルトの名無しさんNGNG
>>125
10倍? 100~200倍くらいじゃない?
0133デフォルトの名無しさんNGNG
どのベンチマークでも遅いのに、これだけ浸透しているってのは凄いね。
構文も機能もそれほど優れている訳ではないし。
0134デフォルトの名無しさんNGNG
JITコンパイラに鞍替えしたらマシになるのでは?
0135デフォルトの名無しさんNGNG
rubyってなんでこんなに遅いんですか?
同じスクリプト言語でも、pythonなんかはかなり早いんですけど。
0136デフォルトの名無しさんNGNG
この言語ってプリミティブ全否定なんだろ?
基地害染みた仕様だって聞いたが
0137デフォルトの名無しさんNGNG
ネタですか?
0138デフォルトの名無しさんNGNG
そんなに遅くねーよ。全部文字列型のTclと同じくらい速い。
0139デフォルトの名無しさんNGNG
Ruby/SDL実際にはHSPより全然お手軽なんだがな
Windowsゲームにして売り物にしたいなら Exerb もあるし
0140デフォルトの名無しさんNGNG
rubyってなんでこんなに遅いんですか?
最低でもCぐらいのスピードでないと使う価値ないと思います。
0141デフォルトの名無しさんNGNG
>>140
Cは最速ですが・・・
0142デフォルトの名無しさんNGNG
>>140
適材適所という言葉をご存知ですか?
0143デフォルトの名無しさんNGNG
適所がないから議論になっとる
0144デフォルトの名無しさんNGNG
ありがとうございます。難しそうなので、
やっぱりHSPでゲーム作ることにします。
0145デフォルトの名無しさんNGNG
>>144
ここでRuby/SDLを使っている人がいる

【初心者】課題をクリアしていくスレ【講習会】
http://pc5.2ch.net/test/read.cgi/gamedev/1086858349/
0146デフォルトの名無しさんNGNG
HSPに負けた
0147デフォルトの名無しさんNGNG
RPGツクール>>>HSP>>>(超えられない壁)>Delphi>>>C++
0148デフォルトの名無しさんNGNG
ところまつもと氏はrubyで何か作ってるの?
0149デフォルトの名無しさんNGNG
文豪戦士オーガイザーだかそんな種類のソフト書いてるんじゃなかったっけ?
0150デフォルトの名無しさんNGNG
perlは多くの場面でrubyより速いが、pythonは駄目駄目だろ。
0151デフォルトの名無しさんNGNG
>>150
何がダメなのか・・・
0152デフォルトの名無しさんNGNG
夏ですなぁ。
0153デフォルトの名無しさんNGNG
なんか、すごいスレが伸びてると思いきや、
真性な方がいらしったのね。
0154デフォルトの名無しさんNGNG
そろそろ誰かが「釣れた」とか言い出す頃だと思うのだが。
0155デフォルトの名無しさんNGNG
普通に糞言語だから普通じゃね?
0156116NGNG
>>119
いや、別に、あんたにとっておかしいかどうか、とか
あんたがsite_rubyをどう使うか、はどうでもよくて
1.6で出来てたことが1.8で出来なくなったんで困ったな、つーだけの話
『個人的趣味』と、その変えたらしき本人の文にもあったわけだし
0157デフォルトの名無しさんNGNG
ジープみたいな車に対して、「何でスポーツカーより遅いんだ」と言っているようなもんだな。




・・・と、自分でもよく分からない喩えを書いてみる。
0158デフォルトの名無しさんNGNG
>>156
『個人的趣味』の理由はだいたい>>119ってこと。
0159デフォルトの名無しさんNGNG
自転車に対して、三輪車よりデカくて、自動車より遅くて、
なにがいいの? と言ってるみたい。
0160デフォルトの名無しさんNGNG
いやー、たくさん釣れたなあ。
0161デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/unix/1060537252/822
0162デフォルトの名無しさんNGNG
自動車:C
自転車:Perl
三輪車:Basic
キックボード:Ruby
0163デフォルトの名無しさんNGNG
segwey:Ruby
0164デフォルトの名無しさんNGNG
予想される検索キーワード: segway
0165デフォルトの名無しさんNGNG
OnigurumaにPerl6風正規表現とProxomitronのマッチングの実装きぼんぬ
0166デフォルトの名無しさんNGNG
Perl6の正規表現エンジンが、rubyのように言語から切り離しても使える
ようになっていればいいのに。
0167デフォルトの名無しさんNGNG
結局おまいらは三菱に乗ってっるってっこった
0168デフォルトの名無しさんNGNG
>>165
Perl6風の正規表現って、どういうの?
0169デフォルトの名無しさんNGNG
>>165
Proxomitronのマッチングって、どういうの?
0170デフォルトの名無しさんNGNG
>>168 apocalypse嫁
0171デフォルトの名無しさんNGNG
こういうのか?
http://www.rcrchive.net/rcr/RCR/RCR237
0172デフォルトの名無しさんNGNG
もしperlより早くrubyが出ていたら、きっとcgi用の言語では
rubyが標準になっていたのにと、とても残念に思う。
0173デフォルトの名無しさんNGNG
まあありえないから気にするな
0174デフォルトの名無しさんNGNG
Perl前に同様の言語が生まれていたらRubyという名前ではなかっただろう
0175デフォルトの名無しさんNGNG
よく、ランキングとかデータのまとめをするときに、
下記のような処理を頻繁に行うのですが、
もうちょっとスマートに書けないかなといつも思います。
なにかよさげなライブラリやイディオムなどはありますでしょうか?

if sum[name]
sum[name] += val
else
sum[name] = val
end

if sum[name]
sum[name] << val
else
sum[name] = [val]
end
0176デフォルトの名無しさんNGNG
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Hash
を頭から読めと
0177デフォルトの名無しさんNGNG
>>176
Hash::new([]) とかうまくいかないので・・・、
と思っていたら、1.7 からは初期値にブロックを指定できるんですね。
これは良いですね。ありがとうございました。
0178デフォルトの名無しさんNGNG
110を叩いてログアウトしたいのですが、QUITを実行してくれません。
なにか他に処理が必要なのでしょうか。

require 'net/telnet'
pop = Net::Telnet.new("Host" => "?????", "Port" => 110)
pop.cmd("USER ????"){|c| print c }
pop.cmd("QUIT"){|c| print c }
pop.close
0179デフォルトの名無しさんNGNG
sum = Hash.new(0)
sum[name] += val

sum = Hash.new {[]}
sum[name] <<= val
0180デフォルトの名無しさんNGNG
>>179
1.6 までの知識しかなかったので、後者のがわりと目から鱗でした。
0181デフォルトの名無しさんNGNG
# test2.rb findmax
def findmax(array,n)
len = array.length
max = array[n]
imax = n
for i in n + 1 .. len - 1
if array[i] < max
max = array[i]
imax = i
end
end
return imax
end
##############################
array = [21,3,18,7,8,2,3]
n = 4
k = findmax(array,n)
printf("max: array[%d] = %d\n",k,array[k])

すいません。これのバグを修正しなければいけないんですが、わかりません・・教えて下さいませんか・・
0182デフォルトの名無しさんNGNG
>>181
そのコードは、findminっぽいけど?
0183181NGNG
??どういうことですか?
0184181NGNG
# test2.rb findmax
def findmax(array,n)
len = array.length
max = array[n]
imax = n
for i in n + 1 .. len - 1
if array[i] < max
max = array[i]
imax = i
end
end
return imax
end
##############################
array = [20,3,19,7,8,2,3]
n = 4
k = findmax(array,n)
printf("max: array[%d] = %d\n",k,array[k])

すいません少し間違えてました。これならどうですか??
0185デフォルトの名無しさんNGNG
minと maxの意味は?
0186181NGNG
最小値と最大値?
0187デフォルトの名無しさんNGNG
何が目的なのかをきちんと具体的に書くとよい。
0188181NGNG
このfindmaxにはバグがあってこのままでは正しく動作しないのでバグを修正しなさい。というものなのですが、どこをどう改良すればよいのかわからないんです。。
arrayの中から最大値を探すプログラムを組むということですか?
0189デフォルトの名無しさんNGNG
なんだ、学校の宿題かなんかか?
0190181NGNG
はい。。実はそうなんですけど、いきなりこの問題と説明だけ書いてあって一体どうすればよいのかわからなくて・・
教えていただけませんか?
0191デフォルトの名無しさんNGNG
>190

1回実行してみ。期待した結果になってないっしょ。
0192デフォルトの名無しさんNGNG
バグではありません。それは仕様です。
0193デフォルトの名無しさんNGNG
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=ruby+%E5%AE%BF%E9%A1%8C%20ac.jp+&num=50
0194181NGNG
はい・・nの数字を変えてみたりするのですが、他どこをかえればいいのですか?
0195デフォルトの名無しさんNGNG
>>194
あなたの脳みそ
0196デフォルトの名無しさんNGNG
釣りだろ
0197デフォルトの名無しさんNGNG
>194

n は関係ない。最大値求めたいんでしょ?
182 で指摘されてるように、findmax なのに findmin っぽいっしょ。
0198デフォルトの名無しさんNGNG
>>190
ダウト。
findmax が何をするべきものなのかについて、説明があったはず。
それがない出題なら、出題者が悪い。
0199181NGNG
すいません・・本当全然わけがわからなくて・・何をしたらいいかもわからないのです。。
0200デフォルトの名無しさんNGNG
女子大で Ruby 教えて金貰えるなんて楽な仕事だな。
0201デフォルトの名無しさんNGNG
>199

いぢめるとかわいそうってか、眠くなってきたのでヒント。

不等号

釣りならすまぬ。
0202181NGNG
findmaxの定義は「配列arrayの要素n番以降の要素の中かた最大値を探し出し、その添字の数字を返す」とあるんですが。。
0203デフォルトの名無しさんNGNG
>>202
後出しするな氏ね
0204181NGNG
すいません・・離れていたところにかいていたので・・
0205デフォルトの名無しさんNGNG
もし、Ruby 的に書くとしたら、

array.index(array[n..-1].max)

でいいと思うが、みなさんの意見を伺いたい。
0206デフォルトの名無しさんNGNG
>>201
たぶん、釣りじゃないと思う。
おそらく、本当に宿題で困ってる京都の女子大の学生。
0207デフォルトの名無しさんNGNG
>>204
答えを出すのは簡単だけど、取り敢えず、

array = [ 0, 1, 2, 3, 4]
n = 0
...

n = 1
...

とかやって結果を比べてみたら?
0208181NGNG
京都の女子大ではないです。。なんかそこのテキストを使わせてもらってるとかで・・。
でも本当に困っているのは事実です。。
0209181NGNG
>>207
やってみます。。
0210デフォルトの名無しさんNGNG
宿題スレの名古屋を思いだすな。
0211181NGNG
皆さんの不等号のヒントとか頂いて、なんとなくできたような気がします。。もう間違ってたままでも自分が考えた結果なので出してしまおうと思います。。
ご迷惑をおかけしました。。すいませんでした。。
0212デフォルトの名無しさんNGNG
>211
納得いかなかったらきちんと先生に聞くようにな
0213181NGNG
>>212
はいありがとうございます。。
私にとってはプログラミングは難しいです。。皆さんすぐわかって尊敬します。。
本当ありがとうございました。
0214デフォルトの名無しさんNGNG
>私にとってはプログラミングは難しいです。。皆さんすぐわかって尊敬します。。

そりゃこんなのプログラミング以前の問題だからな。
0215デフォルトの名無しさんNGNG
元のソースが手続き的なのは、意図してそうしてるのかな?
0216デフォルトの名無しさんNGNG
>205

すっきりしていて、いいですね。
個人的には、「-1」とかいきなり出てくると、微妙な気分になってしまうので

array.index(array[n..array.length].max)

とか?

と思ったが、n が -1 の時に挙動変?
0217デフォルトの名無しさんNGNG
元のテキストは、これだろう。

http://www.cs.kyoto-wu.ac.jp/info-com/programming/program_v1.pdf
0218デフォルトの名無しさんNGNG
>>205
それだとarray=[0,10,1,10,2] n=2のときに答が3じゃなくて1になっちゃうYo!

これを抜きにしても2回なめるのはなんかもったいない気が(貧乏性なもので)
0219デフォルトの名無しさんNGNG
(n...array.size).max{|a, b| array[a] <=> array[b]}

か

(n+1...array.size).inject(n){|i, m| array[i] > array[m] ? i : m }

でしょう。
0220デフォルトの名無しさんNGNG
あれっinjectのパラメータの左右は逆?

(n+1...array.size).inject(n){|m, i| array[i] > array[m] ? i : m }

とすべきか。結果は同じだけど。
0221デフォルトの名無しさんNGNG
injectなんて使おうものなら、独力で解かなかった事がバレるでしょう。
0222デフォルトの名無しさんNGNG
バレるバレないについてはもう手遅れ
0223デフォルトの名無しさんNGNG
>>222 が教官だったらおもしろいな
0224デフォルトの名無しさんNGNG
採点担当の院生とかそんなんだろ。
0225デフォルトの名無しさんNGNG
Fixnumとかが特異クラス作れないのは知ってますが、
ところでFixnumのサブクラスを作ってみたのですが
つかう方法がないみたいなんです。
まあ別に何かやりたいことがあるわけじゃないのですが。
0226デフォルトの名無しさんNGNG
問題文には「数字」ってあるけど、本当に最初に見つかった添字
1個だけでいいのかしら(心配性)。

array = [0,10,10,2,10]
n = 2
array.each_with_index{|val, idx|
p idx if (val == (array[n..-1]).max) && (idx >= n)
}
#=> 2, 4
0227デフォルトの名無しさんNGNG
>>225
抽象的だね。「つかう」ってなに?
0228デフォルトの名無しさんNGNG
>>227
オレも「つかう」ってなんだろうと思ったのだが、よく考えてみると
インスタンス生成すらどうやっていいかわからんな。Fixnumに
newないしどうすりゃいいの?
0229デフォルトの名無しさんNGNG
soap4r は標準添付になりましたが、 wsdl2ruby なんかを使おうと思ったら、
soap4r の taball 持ってきて自分でインストールする必要ありますよね?
date2 に付いてた holiday.rb とか、 Syck に付いてた !okay/rpc とか、
結局やっぱり野良インストールしなきゃいけないのがなんとも。
0230デフォルトの名無しさんNGNG
>>228
実装の構造上不可能。
0231名無しさん@そうだ選挙に行こうNGNG
なんだかエラーメッセージが変な気がする。

% ruby -rbase64 -e "decode64('')"
-e:1:in `decode64': _deprecated_base64 is deprecated; use Base64._deprecated_base64 instead
/usr/local/lib/ruby/1.8/base64.rb:126:in `_deprecated_base64': super: no superclass method `_deprecated_base64' (NoMethodError)
from -e:1:in `decode64'
from -e:1
% ruby -rbase64 -e "Base64._deprecated_base64('')"
-e:1: undefined method `_deprecated_base64' for Base64:Module (NoMethodError)
%
0232名無しさん@そうだ選挙に行こうNGNG
確かにおかしいね。
Base64.decode64 を使うのが正解。
0233名無しさん@そうだ選挙に行こうNGNG
>>232
なるほどどうもです。久々に base64.rb 見たら、結構変わってたんですね。
0234名無しさん@そうだ選挙に行こうNGNG
Javaのインターフェイスみたいに、オーバーライドしないと、怒るようにするには、どうすればいいでしょうか?
0235名無しさん@そうだ選挙に行こうNGNG
Javaを使う。
0236名無しさん@そうだ選挙に行こうNGNG
間違って親メソッド呼んだらアボーンするしかないんじゃない
0237名無しさん@そうだ選挙に行こうNGNG
class SubclassResponsibility < StandardError; end
class AbstractClass
  def abstract_method
    raise SubclassResponsibility
  end
end
0238名無しさん@そうだ選挙に行こうNGNG
漏れは NotImplementedError 使ってるな
0239名無しさん@そうだ選挙に行こうNGNG
あっ、そう書けばいいんですね。なるほど。

なんで気付かなかったんだろう。。
0240名無しさん@そうだ選挙に行こうNGNG
こういうのは実行前に検出できたほうがいいんだけどな
0241名無しさん@そうだ選挙に行こうNGNG
>>240
実行時に定義/再定義されたりするかもしれないからねえ。
0242デフォルトの名無しさんNGNG
Rubyはひたすら動的なので、Javaとか*MLの方から来た人が
「○○は実行前にきちんと解析すれば実現/回避/最適化/バグ検出できるはず」と
ときどき要望するんだけど、結局無理なんだよね(彼らを批難するわけじゃないが)。
Underlyingな方針の違いというのはこういうところで効いてくる。
0243デフォルトの名無しさんNGNG
>>242
なんでも動的なのは自分がそれを利用できるときは
便利だと思うけど、いらないときは自動的な型付け
ぐらいやって実行前にエラーだしてくれてもいい
じゃんと思ってしまう。人間というのはつくづく
自分勝手なものです(笑)

perlのuse strictみたいに厳しいチェックと使い
分けられるといいのかなぁ。
0244デフォルトの名無しさんNGNG
>>240, >>243
そこで >>235 ですよ
0245デフォルトの名無しさんNGNG
# かなり前のだけど、
>>46-47,>>58
.bashrcとかでPATHの中からworld writable dirをはずせばいいんじゃない?
0246デフォルトの名無しさんNGNG
Ruby 1.8.2 の話はどこに行ったんだと言ってみるテスト
0247デフォルトの名無しさんNGNG
Matzが気が向いたときに急に「これがプレビューです。あと3日でリリースします」なんて
無茶なことを言い出して、テストしきれないままリリースしてしまうことになっています。
0248デフォルトの名無しさんNGNG
>>247
ありがとう。いつも通りってことですね。
0249デフォルトの名無しさんNGNG
おい!>>247はMatzか!
[ruby-core:03180]で「明日出す」とか言い出してるぞ!
0250デフォルトの名無しさんNGNG
I'm going to release the first preview in a day or two, unless someone
stops me.
0251デフォルトの名無しさんNGNG
>>249
あくまでプレビューだからいつ出してもいいのでは。
問題なのは、(ry
0252デフォルトの名無しさんNGNG
>>247
まあ、そうやってハッパかけないと動かないからねえ。
0253デフォルトの名無しさんNGNG
previewを出すか出さないかってのを考えてる時点でおかしい。
日時だけ事前に決めといて淡々とそのスケジュールで出せばいいんだよ。
0254デフォルトの名無しさんNGNG
1.6.x は、さっさと捨てましょう。
0255デフォルトの名無しさんNGNG
shim が出なくなったので、捨てました。
0256デフォルトの名無しさんNGNG
趣味でRubyをやろーかな〜と思ってるのですが、お薦めの本ありますか?
今日、本屋で立ち読みしたら、ルビーの冒険というのが取っ付きやすそうでしたけど。

プログラム暦はC言語をしたことがあります。
0257デフォルトの名無しさんNGNG
たのしいRubyとか、Rubyレシピブックとかは?
0258256NGNG
>>257
楽しいRuby、よさそうですね。
候補に入れときます。

http://www.att.ne.jp/hamihami/book/review/index_comp.html
0259256NGNG
↓これも結構、絶賛してる。
また、本屋に行ってみよう。

オブジェクト指向スクリプト言語 Ruby レビュー記事
http://www.linux.or.jp/bookreview/OOSP-Ruby.html
0260デフォルトの名無しさんNGNG
>オブジェクト指向スクリプト言語
これ初版からどれくらい変わったんだろ。
誤植修正と1.8x対応くらい?
0261デフォルトの名無しさんNGNG
ピアソンのやつってもう売ってない?
0262デフォルトの名無しさんNGNG
原セソセイの本がなかなかに良かった気が。
0263デフォルトの名無しさんNGNG
>>260
1.8対応ってしてんの?
0264デフォルトの名無しさんNGNG
>>256
Cが分かる人にはこちらがおすすめ
『Rubyソースコード完全解説』インプレス ISBN 4-8443-1721-0
ttp://i.loveruby.net/ja/rhg/
0265デフォルトの名無しさんNGNG
mathxを入手できるトコご存知無いでしょうか?
0266256NGNG
>>264
サンクス。
しかもこれサイトで公開されてるんだ。
金銭的にも助かるよ。
0267デフォルトの名無しさんNGNG
いっとくけど、>>264はRubyの解説書じゃないよ。
rubyのソースを題材にした、ソースコードの読み方の本。
これでRubyを覚えられるかというと、ちょっと疑問。
0268デフォルトの名無しさんNGNG
http://i.loveruby.net/ja/rhg/
0269256NGNG
>>267
そっか、そうするとまず最初のステップ用の本が必要か。
0270デフォルトの名無しさんNGNG
>>262
漏れも初学者には原セソセイのをオススメしたい。
知っとくべきことが必要十分に書かれてるし、嘘書いてないし。
0271デフォルトの名無しさんNGNG
読んでないからお勧めするわけではないけど、どぞー。
http://www.ruby-lang.org/ja/20040407.html

>>260
誤植訂正された後刷なだけで、初版のままじゃないかなぁ。
でもサンプルを一読する価値はあり。特にグローバル変数のあたりとかね。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3254-5.html
0272デフォルトの名無しさんNGNG
rubyで強制的に全オブジェクトをデストラクタする事が出来たと記憶しているのですが
やり方を忘れてしまいました。
何方かお知りの方おりますでしょうか。
0273デフォルトの名無しさんNGNG
ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.2-preview1.tar.gz
0274デフォルトの名無しさんNGNG
>>272
んなことはできない。
使ってるオブジェクトを破棄しちゃまずいだろが。
つーかrubyにはそもそもデストラクタってものは存在しないけど。

参照されてないオブジェクトを探して回収させるという意味なら
GC.startだが。
0275デフォルトの名無しさんNGNG
変数列挙してnil突っ込んでGC.startならできるんじゃないの
0276デフォルトの名無しさんNGNG
保守的GCなので、変数から指されてなくてもGCされない可能性がある。
0277デフォルトの名無しさんNGNG
preview2 はすぐ出るかな?
0278デフォルトの名無しさんNGNG
いつのまにか
http://www.ruby-lang.org/ja/index.html
じゃアクセスできなくなってた
0279デフォルトの名無しさんNGNG
ホントだ。
http://www.ruby-lang.org/ja/index.rb
になってたのね。
0280デフォルトの名無しさんNGNG
誰か、[ruby-list:39856]の人に、グローバル変数使いすぎって突っ込んでくれ...
0281デフォルトの名無しさんNGNG
>>278-279
そもそもindex.*をつけなきゃ問題梨。
0282デフォルトの名無しさんNGNG
>>280
書き直してから突っ込もうかと思ったけど、汚すぎてやる気が無くなった。
0283デフォルトの名無しさんNGNG
>>282
俺のなんちゃってPerlコードの方がマシ。
0284デフォルトの名無しさんNGNG
>>280
[ruby-list:39860]の人が
x1,x2,x3 = Array.new(3) {[]}
って書いてるんですけど、これって本当に
x1, x2, x3 = [], [], []
と同値なんでしょうか?
0285デフォルトの名無しさんNGNG
Array.new(3) {[]} って2次元配列になるようなきがす
0286デフォルトの名無しさんNGNG
だからこそ同じになるわけだが。
*x = [], [], [] も二次元配列になるし。
0287デフォルトの名無しさんNGNG
はっ、そうか。そっちも2次元配列か。

% irb
irb(main):001:0> a, b, c = [], [], []
=> [[], [], []]
irb(main):002:0> a, b, c = Array.new(3){[]}
=> [[], [], []]

確かに。
0288デフォルトの名無しさんNGNG
そういうのって二次元配列って言うのか?
0289デフォルトの名無しさんNGNG
中の配列数が不定だからか?
配列の配列と言いたい?
0290デフォルトの名無しさんNGNG
相変わらずの変態文法ですね
0291デフォルトの名無しさんNGNG
「次元」が不定なことのほうがキモイ鴨
0292デフォルトの名無しさんNGNG
Rubyがどうとは言わないがCやC++だって
見慣れてるだけで実は相当変態文法だと思うがな。
0293デフォルトの名無しさんNGNG
Rubyのオブジェクトには
デストラクタは無いんですか?
0294デフォルトの名無しさんNGNG
オブジェクトを破棄するために呼ばれるデストラクタはない。
オブジェクトが破棄された後に呼ばれるファイナライザならある。
0295デフォルトの名無しさんNGNG
>>256
亀レスだがRubyソースコード完全解説はWeb上で読める
ttp://i.loveruby.net/ja/rhg/index.html
0296256NGNG
>>295
サンクス。
本屋でみたら、「たのしいRuby」が読みやすそうだったのでこれにしました。
それから、オブジェクト指向ってのを全然知らないので、「オブジェクト指向でなぜつくるのか」
っていう本も買いました。

ある程度、理解できるようになれば、「Rubyソースコード完全解説」を見る予定です。
0297デフォルトの名無しさんNGNG
[264, 268, 295]
0298デフォルトの名無しさんNGNG
264と268は同じベージだが
295は違う、と暇人の俺が確認してみる。

264や268でも、ただで見れることにはたどり着くだろうがなー
0299デフォルトの名無しさんNGNG
>>298
ホントだ。なんつーまぎらわしいことを。
0300デフォルトの名無しさんNGNG
300
0301デフォルトの名無しさんNGNG
たどり方を間違えると
http://i.loveruby.net/ja/hack/
0302デフォルトの名無しさんNGNG
すまんこ、おまいらどぅしてまつか?。
1.9.*以降「VERSION」を返してくれないってのを...

毎回「configure」とか、書き換えてまつか????...
0303デフォルトの名無しさんNGNG
いまさら Perl とのベンチマーク比較なんて燃料としては弱すぎだよなあ。

>>302
RUBY_VERSION でまずい理由はなんでしょう?
0304デフォルトの名無しさんNGNG
make install しないで make test-all すると drb 関連で
えらーでまくりなのを何とかしてくれ。
あと、1.8でmake test-allできるようにしてくれ。
0305デフォルトの名無しさんNGNG
preview とか release を急かさないでくれよ。
後で泣く人が増えるから。
0306デフォルトの名無しさんNGNG
release は急かしてない。 preview は急かしたい。
0307デフォルトの名無しさんNGNG
>>304
お前がなんとかしる!
0308デフォルトの名無しさんNGNG
Rubyって失速してるってホント?
0309デフォルトの名無しさんNGNG
なんでpreview出たってアナウンスをruby-listに流さないのだろうか。
0310デフォルトの名無しさんNGNG
dat2html.rbって、
$ ruby dat2html.rb hoge.dat
みたく呼ばないと動かないのはなんでだろ。
0311デフォルトの名無しさんNGNG
>>310
スクリプトの一行目の ruby コマンドのパスを自分の環境に合わせて書き換えてよし。
0312デフォルトの名無しさんNGNG
Subversion の Ruby binding ってないの?
0313デフォルトの名無しさんNGNG
>>308
元々のろいぞ?
0314デフォルトの名無しさんNGNG
>>312
以前あったけどどっかいっちゃった。
0315デフォルトの名無しさんNGNG
>>312
日本のひとがつくってたのが一時期標準添付されてたけど、外されちゃったみたいね。
ドキュメント subversion/bindings/ruby/README にそのへんの事情が書いてる。
0316デフォルトの名無しさんNGNG
subversion の binding は、 swig 経由のインタフェースが提供されてるから、
これをもとに作ればいいんじゃないかな。
0317デフォルトの名無しさんNGNG
>>316
いままでずっとこの瞬間を待っていました。
あなたを神と呼ばせて下さい。
0318デフォルトの名無しさんNGNG
さがりすぎ
0319デフォルトの名無しさんNGNG
http://www.goto.info.waseda.ac.jp/~fukusima/ruby/swig-j.html

よくわからんけどこの辺とか使えばいいの?
0320デフォルトの名無しさんNGNG
>>319
SWIG 本家にマージされてるです。
0321デフォルトの名無しさんNGNG
>>311
だめだにょ
0322デフォルトの名無しさんNGNG
>>321
ん?いけるけどなあ。どう呼ぶようにしたいの?あと、実行環境は?
0323デフォルトの名無しさんNGNG
改行コードの問題じゃね?
0324デフォルトの名無しさんNGNG
CRついてるとだめなんだよね
0325322NGNG
>>324
おお、そうなのか。漏れは何故か無意識に改行コード変換してたよ。
0326デフォルトの名無しさんNGNG
chompもCR問わずになったことだし
ソースの改行も柔軟に扱って欲しいな
0327デフォルトの名無しさんNGNG
ソースの CR は、エラーメッセージから原因を推測しにくい。
というか過去に経験してないと分からんのじゃないか?
0328デフォルトの名無しさんNGNG
過去に経験してないと分からないとしたら、
その経験の前の経験がないってことだから、
最初の経験は経験しようがなくて、
絶対分からないってことになってしまう。
0329デフォルトの名無しさんNGNG
>>328
「独力では」ね。
0330デフォルトの名無しさんNGNG
誰がアダムになるのだ?
0331デフォルトの名無しさんNGNG
mswin32 上でrabbit 動かすと [BUG] がでてつかえねー。
GREが悪いのかrubyが悪いのか俺が悪いのかぜんぜんわからん。
0332デフォルトの名無しさんNGNG
>>331[BUG]が出たときに悪いのはRuby。これ基本。
0333デフォルトの名無しさんNGNG
>>326
rubyとしてはCRがあっても問題ないはずだが。
もしかしてshbang行のことなら、rubyとは無関係な話。
0334デフォルトの名無しさんNGNG
さがりすぎ
0335デフォルトの名無しさんNGNG
そんな事気にする334があわれすぎ
0336デフォルトの名無しさんNGNG
[BUG]としか情報を出さん331が悪い。
0337デフォルトの名無しさんNGNG
「UFO演算子」って大元の出所はどこなんだろう?
0338デフォルトの名無しさんNGNG
>>331
いくらなんでも情報足りなさ過ぎ。

>>332
[BUG]と出たときに悪いのは拡張ライブラリ。これ基本。
つまり Ruby/GTK2 か。
0339デフォルトの名無しさんNGNG
>>337
大本はわからないけど、自分はたしかラクダ本で知った。
0340デフォルトの名無しさんNGNG
ftp サイトから shim の taball が消えちゃってるね。
0341デフォルトの名無しさんNGNG
ファイルを開きまくると [BUG] になるんですけど、これも Ruby が悪いの?
いや、開ける数に限りがあるのは分かりますけど。

files = (1 .. 200).to_a.map{|e| e.to_s}
files.each do |f|
open(f)
end

ruby 1.8.2 (2004-07-16) [i386-cygwin]
0342デフォルトの名無しさんNGNG
to_aいらなかったか
0343デフォルトの名無しさんNGNG
テスト
0344デフォルトの名無しさんNGNG
>>341

C:\>ruby --version & ruby -e "('0001'..'5000').each {|f| open(f)}"
ruby 1.8.1 (2003-12-25) [i386-mswin32]

ってやったけど落ちない。
rubyかもしれんが、もしかしてcygwinが悪さしてんじゃ?
0345デフォルトの名無しさんNGNG
ツクール厨が来なくてよかった。
0346デフォルトの名無しさんNGNG
なんだよ、[BUG] になるって表記は。萎え〜。
0347デフォルトの名無しさんNGNG
% /usr/local/ruby-1.8.2-preview1/bin/ruby-1.8.2-preview1 -v -e'("1".."200").each{|f| open(f)}'
ruby 1.8.2 (2004-07-16) [i386-cygwin]
-e:1: [BUG] Segmentation fault
ruby 1.8.2 (2004-07-16) [i386-cygwin]

↑タスクマネージャーから殺さないといけない

% cygcheck -c cygwin
Cygwin Package Information
Package Version Status
cygwin 1.5.9-1 OK


mswin32版で試したら問題なし。
Cygwin側の問題なのかなぁ
0348デフォルトの名無しさんNGNG
cygwin1.dll入れ換えたら直ることはよくある
0349デフォルトの名無しさんNGNG
cygwinのバージョンが違うけど、うちではオッケー。

% ~/ruby-1.8.2-preview1/bin/ruby-1.8.2-preview1.exe -v -e'("1".."200").each{|f| open(f)}'
ruby 1.8.2 (2004-07-16) [i386-cygwin]
% cygcheck -c cygwin
Cygwin Package Information
Package Version Status
cygwin 1.5.10-3 OK
0350デフォルトの名無しさんNGNG
いくらRubyが採用されたからといって、ここにツクール厨がくるわけないだろ。
0351デフォルトの名無しさんNGNG
なにに採用されたの?
0352デフォルトの名無しさんNGNG
>>351
RPGツクールXP(>>48)
0353デフォルトの名無しさんNGNG
ツクール厨が来たら誘導するがよろし。

RPGツクールXP・RGSS板
http://jbbs.shitaraba.com/game/14836/
0354331NGNG
情報不足ですんまそん。こんな感じで [BUG] になります。

ruby 1.8.1 (2003-12-25) [i386-mswin32]
ruby-gtk2-0.9.1-1-i386-msvcrt-1.8.zip
GTK-Runtime-Environment-2.2.4-3.exe

>ruby -I./lib bin/rabbit -e eucjp -f --type file sample/rabbit.rd
(font関連の警告がたっぷり)
./lib/rabbit/element.rb:399:in `draw_layout': destroyed GLib::Object (TypeError)
from ./lib/rabbit/element.rb:399:in `draw_element'
from ./lib/rabbit/element.rb:26:in `call'
from ./lib/rabbit/element.rb:26:in `draw'
from ./lib/rabbit/element.rb:25:in `each'
from ./lib/rabbit/element.rb:25:in `draw'
from ./lib/rabbit/element.rb:218:in `draw_elements'
from ./lib/rabbit/element.rb:217:in `each'
from ./lib/rabbit/element.rb:217:in `draw_elements'
... 12 levels...
from ./lib/rabbit/rabbit.rb:343:in `set_expose_event'
from ./lib/rabbit/rabbit.rb:332:in `call'
from bin/rabbit:152:in `main'
from bin/rabbit:152
./lib/rabbit/element.rb:399: [BUG] Segmentation fault
ruby 1.8.1 (2003-12-25) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
0355デフォルトの名無しさんNGNG
>現在の最新バージョンは 0.8.3 (2003/08/16)です。
影舞はいったいいつになったら正式リリースするんだ...
0356デフォルトの名無しさんNGNG
>>355
レポジトリを失ってやる気がなくなったんじゃない?
0357デフォルトの名無しさんNGNG
>>356
アナウンスされてないが、リポジトリは SF.jp にいったみたいだ。
http://sourceforge.jp/projects/kagemai/

ちまちま修正が入ってるみたいだし、影舞自身の
BTS のバージョン表記がいつのまにか 0.8.4 に
なってるから、そのうちリリースするんじゃない?
0358デフォルトの名無しさんNGNG
たむらさん復活おめ
なかださん入籍おめ
0359デフォルトの名無しさんNGNG
>>357
一年で0.0.1しか上がらないのか。
C#+XML+WebDAVで小規模なBTS作ってみようかな。
0360デフォルトの名無しさんNGNG
>>359
活発に開発されてるとはいいがたいが、バグへのパッチの提供
なんかは、まあまあ速いんじゃないかと。問題は、そのパッチを
まとめたリリースをしてくれないこと。
0361赤色名無しさんNGNG
Ruby/QtのアプリをWindows上で開発したいんです
そのために必要となるWindows用のQtのライブラリって
現在入手できるんでしたっけ?
過去に非商用利用版をtrolltechのサイトから無料ダウンロード
できてたみたいなんですが、現在はそのリンクがなくなってる
みたいです
0362デフォルトの名無しさんNGNG
>>358
有我頓
0363デフォルトの名無しさんNGNG
いまさら「でつがスヌーピーに見える」はないよな。
0364デフォルトの名無しさんNGNG
なんの話題
0365デフォルトの名無しさんNGNG
amrita消えたのって鋼鐵が頓挫したから?
0366デフォルトの名無しさんNGNG
バイナリファイルから
hoge = open("hoge.bin", "r+b").read
foo = hoge[3, 2]
みたいにして切り出したデータを演算できるように数字列に変換するのってどうやるんだっけ?
foo.to_iやると0になっちゃうし、Integer(foo)だと不正な値と怒られるし…
0367デフォルトの名無しさんNGNG
日記を書く時間を ruby の開発に振り向けて欲しい。
マジで。
0368デフォルトの名無しさんNGNG
unpack
0369366NGNG
>>368
thx.
できました。
0370デフォルトの名無しさんNGNG
>>366
"\000\001".unpack("N") #=> [1]
"\000\001\000\002".unpack("N*") #=> [1,2]

Rubyリファレンスマニュアル - packテンプレート文字列
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=pack%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8%CA%B8%BB%FA%CE%F3
0371370NGNG
タイミング悪_| ̄|○
0372デフォルトの名無しさんNGNG
0x64636261(1,633,837,924)を"ABCD"みたいに変換する方法ある?
0373372NGNG
すまん。間違えた
×:"ABCD"
○:"abcd"
0374デフォルトの名無しさんNGNG
[0x64636261].pack("V")
0375372NGNG
>>374
できました。ありがとうございます。
0376デフォルトの名無しさんNGNG
("V")
0377デフォルトの名無しさんNGNG
(�Vv�V)
0378デフォルトの名無しさんNGNG
継続の実用的なサンプル、実例ってないですか?
0379デフォルトの名無しさんNGNG
fast cgi 化ラッパは?
0380デフォルトの名無しさんNGNG
>>379
ttp://www.rubyist.net/~matz/20040723.html
Matz日記のこれ?
0381デフォルトの名無しさんNGNG
曹操
0382デフォルトの名無しさんNGNG
レシピブックって誤字多くね?
0383デフォルトの名無しさんNGNG
著者に教えてあげなよ
0384デフォルトの名無しさんNGNG
正規表現で大文字・小文字関係なく簡単にマッチさせる方法ってある?
「hoge|HoGe…」にマッチさせるのに「[hH][oO][gG][eE]」みたいに書くのでは見栄えがあまり良くないので…
0385デフォルトの名無しさんNGNG
>>384
/hoge/i
0386デフォルトの名無しさんNGNG
補足。正規表現の一部だけ、大文字・小文字関係なくマッチさせたいなら
/AAA(?i:hoge)aaa/ みたいにする。
0387デフォルトの名無しさんNGNG
>>380
サパーリ分からない・・・
両ライブラリとも使ったことが無いからって事もあるんだけど。

>継続を使った数少ない実用的な例かも。
ということは継続は知らなくてもあまり問題ないのかな。
0388デフォルトの名無しさんNGNG
>>385,386
できました。サンクス
0389デフォルトの名無しさんNGNG
LL Weekend いくやつ挙手
ノシ
0390デフォルトの名無しさんNGNG
>>389
ノシ
0391デフォルトの名無しさんNGNG
>> 389
ノシ

LL Weekend 去年行った人いますか?
0392デフォルトの名無しさんNGNG
>>391
誰もいない
0393デフォルトの名無しさんNGNG
LL Saturdayのコトに決まってるじゃないかヽ(`Д´)ノ
0394デフォルトの名無しさんNGNG
String#each が文字単位になるかもしれないことについて、おまいらの意見を聞かせて下さい
0395デフォルトの名無しさんNGNG
LL Saturdayは秋か冬にしてくれないかな。
貴重な夏の休日の一日、むさくるしいオタ男がいっぱいの
屋内に閉じこもりたくないよ。
0396デフォルトの名無しさんNGNG
age
0397デフォルトの名無しさんNGNG
Lightweightだから、そこまでむさくるしくないよ。
0398デフォルトの名無しさんNGNG
>>394
即採用 ノシ
0399デフォルトの名無しさんNGNG
>>394
String#each で行単位に処理できることを最近知った (bitchannelのソースで) ので、
正直どっちでもいい。
0400デフォルトの名無しさんNGNG
400
0401デフォルトの名無しさんNGNG
each と each_line が別々になるんだろ?
いいんでね?
0402デフォルトの名無しさんNGNG
String#eachは文字単位が自然でいいな。

正直、行単位っていう仕様には違和感を感じてましたから、
今回それが文字単位に変更されるなら、素直にうれしいです。
0403デフォルトの名無しさんNGNG
オレはこんな感じ
・eachが行単位なのに違和感を感じる。文字単位が自然だと思う。(気分の問題)
・each_char(仮)は欲しい。
・String#each が each_line/each_char のどっちの alias だろうと気にならない。
 (Stringに対しEnumerableのメソッドを使わない/使いそうにないので)
・互換の問題があるから、現状のままでいいんじゃない?

「文字単位 each だとこんなケースで役に立つ」みたいな事例があればキボンヌ
0404デフォルトの名無しさんNGNG
RubyのStringは、JavaのStringみたいな本当の意味での文字の列で
はなく、バイトの列だから文字単位というのはない。

文字単位がいいという気持ちもわからないでもないが、行指向は
sed→awk→perl→rubyと受け継がれてきた伝統なので
0405デフォルトの名無しさんNGNG
すでにPerlでかかれたモジュールがあって、
そのモジュール内のメソッドをRubyから呼び出すことってできるの?
0406デフォルトの名無しさんNGNG
いまだと2バイトコード込みで文字単位で列挙するのってどうやるの?
0407デフォルトの名無しさんNGNG
>>405
http://www.yoshidam.net/Ruby_ja.html#perl

>>406
$KCODE = 'e'
str.split(//).each{|char| do_something }
か
require 'jcode'
str.each_char{|char| do_something }
0408デフォルトの名無しさんNGNG
jcodeって未来永劫メンテし続けるつもりなのかね
いい加減UTF8で統一してStringを真の文字列型に生まれ変わらせればいいのに
Fedoraも脱EUCすることだし
0409デフォルトの名無しさんNGNG
>>408
unicodeは日本語についてはだめだから、それだと困るなぁ。
0410デフォルトの名無しさんNGNG
>>407
ありがとう
0411デフォルトの名無しさんNGNG
>>408
1.9 系に M17N がマージされるみたいだよ。
ruby-dev:23995
0412デフォルトの名無しさんNGNG
>>409
日本語なんて高々100年前の文章すらまともに読めないくらい
支離滅裂な変化を遂げてきたんだから
unicode化の変化を受け入れないのはおかしいだろ
少なくともunicode化には合理的な理由があるんだから
使えない漢字が増えた事で日本語の表現が損なわれるなら
その表現は非本質的で瑣末な表現だったってこった
0413デフォルトの名無しさんNGNG
>>407
str.split(//) より str.scan(/./) の方が速い、と言ってみるテスト
0414デフォルトの名無しさんNGNG
>>412
おたくの国はなんら失われるものがなくてうらやましいですわ、おほほ。
0415デフォルトの名無しさんNGNG
>>412
字がたりねーとかいうのはあまり気にしてないんだが、
変換表が複数あるのはだめすぎ。

同じJISコードがcp932経由とeuc経由で違うユニコードに
なるってどういうことよ。

0416デフォルトの名無しさんNGNG
ま、お隣さんなんかは過去にアクセスできなくなったおかげで総白痴化してて、
それがある意味強みだからなー。
0417デフォルトの名無しさんNGNG
韓国にはhcodeとかあるのかね
0418デフォルトの名無しさんNGNG
hなのはいk(ry
0419デフォルトの名無しさんNGNG
マジレスすると100年前(明治時代)の日本語はわりと普通に読める。学問の
すゝめとか。滝沢馬琴や井原西鶴くらいまでならなんとか読める人も多いと思
う。俺はできないが、きちんと教養のある日本人なら徒然草くらいでも読めるは
ずだ。
0420デフォルトの名無しさんNGNG
マジレスって論点ががずれとる。
0421デフォルトの名無しさんNGNG
これか?
ttp://www.studio-miris.com/lineup/majires/index.html
0422デフォルトの名無しさんNGNG
LL Weekend、プログラムを見るとかなり面白そうだ。
チケット買っておくんだった。
0423デフォルトの名無しさんNGNG
マジレスするとRuby.NETが全てを解決する。
そしてRubyはRuby.NETに従属する。
これはそう遠い未来の話ではない。
0424デフォルトの名無しさんNGNG
マジレスするとMatz.NETが全てを解決する。
0425デフォルトの名無しさんNGNG
>>422
去年は飛び入りで参加できたらしいよ。
まぁ台風で欠席者が多かったからかもしれんが。
0426デフォルトの名無しさんNGNG
>>412
unicode もコードの一つでしかない。
世の中に unicode しかないならいいが、
実際はそうでないからね。
0427デフォルトの名無しさんNGNG
.NET運命共同体
0428デフォルトの名無しさんNGNG
Javaでいうところとpublicでstaticな変数を定義したいのですが
クラス変数をattr_accessorにするのではダメみたいです。
アクセサメソッドを定義するしかないのでしょうか?
0429デフォルトの名無しさんNGNG
>>416
UTF8以外のマイナー文字コードはそれこそオプションやjcodeで対応すればいい。
俺もUTF8以外を根絶しろというほどには鬼じゃないん。
0430デフォルトの名無しさんNGNG
>>419
かなの表記が違うって意味でしょ
0431デフォルトの名無しさんNGNG
ruby -s -- foo.rb -a hoge -b bar
って実行したときに
ARGVの中が["hoge", "-b", "bar"]になっちまうんだが仕様か?"-a"を取得する方法って無い?

1.8.1と1.8.0で確認したんだけど…
0432デフォルトの名無しさんNGNG
-s を使わない。
0433デフォルトの名無しさんNGNG
>>428
クラスのインスタンス変数を使う、かな。

class Klass
class << self
attr_accessor :foobar
end
end
0434デフォルトの名無しさんNGNG
まったく話題に上らなくなった
キモきち君    もとい、るびきち君
死んだのかな?
0435デフォルトの名無しさんNGNG
MarkdownとTextileはRubyで書かれた処理ツールがある(BlueCloth, RedCloth)けど、
reStructuredText用のツールはないのかな?

そういえばRDとRDtoolはメンテナンスされてるのかな。もうダメかしら。
0436デフォルトの名無しさんNGNG
PuTTYにセキュリティホールが見つかりました。みなさんアップデートしましょう。












って、rubyとなんの関係が???
0437デフォルトの名無しさんNGNG
>>435
RDフォーマット自体はメソッドリスト以降は新しい仕様は追加されていない。
RDtoolは…(ry
0438デフォルトの名無しさんNGNG
>>389
ノシ
そろそろ用意するか…
0439デフォルトの名無しさんNGNG
>>436
(窓の人が)CVSで使ってるから。
0440デフォルトの名無しさんNGNG
>>438
歯磨けよ
0441デフォルトの名無しさんNGNG
風呂入ったか?
0442デフォルトの名無しさんNGNG
また来週!!
0443デフォルトの名無しさんNGNG
>>439
>(窓の人)
年齢=いな(ryな俺なのに恋人に見えた・・・orz。
0444デフォルトの名無しさんNGNG
hoge = <<HOGE
能力
HOGE
みたいな表記をするときにrubyの起動時に-Kオプションが正しく指定していないと正常にhogeに格納されない(\x5cが欠ける)
んだけど、-Kオプションを使わずに正常に格納させる方法ってある?
いちおう
hoge = <<HOGE
\x95\x5c力
HOGE
みたいにすれば格納されるけど可読性が悪いし…
0445デフォルトの名無しさんNGNG
>>444
スクリプトの一行目に
#! ruby -Ks
とか書け。
0446444NGNG
>>445
すまん。説明不足だった。
rubyの起動時に-Ksとつけてしまうと正規表現の挙動が変わるせいか、今書いているコードがまともに動かなくなってしまうので
-Ksオプション自体が使えないんだ。
0447デフォルトの名無しさんNGNG
正直、そういうケースでリテラルに ASCII 以外の文字を使うのはおすすめできない
俺ならなんとかしてそういうのは外に追いやる
0448デフォルトの名無しさんNGNG
Rubyの限界。というやつですね。
0449デフォルトの名無しさんNGNG
>>446=444
$KCODE
を適当に弄って解決できない?
(将来問題が出そうな気もするが)
0450デフォルトの名無しさんNGNG
trimみたいな、文字列の前後の空白を除去するメソッドってないですか?
なかったら、誰か作ってくれないかなあ。
0451デフォルトの名無しさんNGNG
String#strip
0452デフォルトの名無しさんNGNG
UniCode [0x4E9C] を入力して
JIS [0x3021]または
SJIS[0x889F]と文字コードを得る方法はありますか?
0453444NGNG
レスありがとうございます。
結局、誤動作する正規表現の方を対策しました。

>>448
う〜ん…限界ですか…
正規表現も文字単位重視なスイッチとバイト単位重視なスイッチがあると…
ってバイナリ列を正規表現に掛けている方が悪いのか(´・ω・`)

>>449
$KCODEをいじっても\x5cを取りこぼす問題は解決しませんでした。原因はよくわからないんですが…
0454デフォルトの名無しさんNGNG
>>452
あります
0455デフォルトの名無しさんNGNG
>>453
Regexp.newの第3引数
0456デフォルトの名無しさんNGNG
そこで鬼車とruby_m17nですよ。
0457デフォルトの名無しさんNGNG
おもしろそうだな、Ruby/Irrlicht
0458MoonWolf ◆BwMoonWLvE NGNG
日本Rubyの会が本日発足しますた
おまいら、どうよ?
0459デフォルトの名無しさんNGNG
どうでもいい。
0460デフォルトの名無しさんNGNG
>>458
KDEみたいになってほしくない
0461デフォルトの名無しさんNGNG
>>458
発足つっても、どこに情報があるんだ?
www.ruby-lang.org にも書いてないし、ruby-list にも流れてないし。
以前作るっている情報が流れていたのは知ってるが。
0462デフォルトの名無しさんNGNG
http://www.google.co.jp/search?ie=UTF-8&oe=UTF-8&sourceid=deskbar&q=%22%E6%97%A5%E6%9C%ACRuby%E3%81%AE%E4%BC%9A%22
0463444NGNG
>>455
>Regexp.newの第3引数
起動時に-Kオプションを指定しない&$KCODEも指定しない状態は、Regexp.newの第3引数に何も指定しない or 'NONE'を
指定した状態と同じですよね?
その状態でもバイナリ列に正規表現を掛けようとすると一部のデータ列で誤動作するようです。
起動時に-Kオプションを付けると更に悪化します。

バイナリ列をnByteごとにブロック化してイテレータを回したかったのでunpackで16進数な文字列に変換して.scanで数えたあと
イテレータの一番最初でpackを使ってバイナリ列に戻しました。
0464デフォルトの名無しさんNGNG
>>462
ぐぐらないと情報が出てこないか。Rubyコミュニティの閉鎖性を如実に反映してますな。
0465デフォルトの名無しさんNGNG
>一部のデータ列で誤動作するようです。
と言われても「ああそうですか」としか答えようがない

具体的にどんなデータかが分かれば、他のやり方を示すなり
(Rubyのバグなら)修正するなり、アクションの取りようもあるだろうが。
0466デフォルトの名無しさんNGNG
>>461
LLW で爆笑発表されました。
0467444NGNG
>>465
そうだよな…
そのバイナリを処理するとおかしくなることはわかっているんだけど、俺自身、問題が出るパターンはよくわからないんだ。
権利上問題ないサンプルデータを作れたら晒すからちょっと待って。
0468デフォルトの名無しさんNGNG
>>462
いや、ぐぐっても設立準備の話だけだろ。

>>466
LLW で発表されたらしいことは知ってるが、それ以外に情報がない時点で
「どうよ」って聞かれても答えようがないじゃん、ってこと
0469MoonWolf ◆BwMoonWLvE NGNG
>>468
とりあえず、ruby-listにメール投げようよ>たかはしさん
っつうことに尽きるな
0470444NGNG
>>465
とりあえず症状が出るサンプル作ってみた。
ttp://upload.fam.cx/cgi-bin/img-box/u9c40808214230.lzh
scanを使っているけどgsubでもImgとproc1が一致しない。

proc2は今俺が使っている方法。
0471デフォルトの名無しさんNGNG
.lzhって・・・
0472デフォルトの名無しさんNGNG
>>444
/./ が改行文字にはマッチしないから。
/.{104}/m とか Regexp.new(".{104}", Regexp::MULTILINE) とかだったら無問題っぽい
0473444NGNG
>>472
……いつぞやと同じ事やっているな…俺…_| ̄|○
恥ずかしいポカミスにつきあってくれてありがとう
0474デフォルトの名無しさんNGNG
nokadaさんのページってどこにいったんですか。
0475デフォルトの名無しさんNGNG
日本Rubyの会
http://wiki.fdiary.net/RubyNoKai/
0476デフォルトの名無しさんNGNG
>>475
会則の「目的」とかを読んでもいまいちわからないのは、ruby-list に
入っているような普通の Ruby ユーザにもこっちの会に入って欲しい
のかどうかってあたり。

Ruby を支援したい人はいいとして、Ruby を使った開発なんかを
実践してる人はたいてい ruby-list に入ってるだろうし、じゃあ、
こっちの会に入っとくとなにが嬉しいのかと。
0477デフォルトの名無しさんNGNG
>>476
もともとの趣旨
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/39820
を読む限りでは、普通のユーザはあまり気にしなくてもいいのかも
0478デフォルトの名無しさんNGNG
DOSコマンドのPAUSEみたいな動作ってRubyのプログラム中でできる?
0479デフォルトの名無しさんNGNG
>>478
安直な方法

puts "ENTER を押して下さい"
gets
0480デフォルトの名無しさんNGNG
>>478
とりあえず、Enterキー待ちならこんな(↓)感じ。
pauseメソッドにすると雰囲気も同じになるかと。
PAUSEコマンドのように"任意のキー"を待つ方法はもう少し手間かな?

def pause
print "続行するにはEnterキーを押してください . . ."
gets
end
0481478NGNG
>>479,480
thx
あ、そうか。Enterだけにすれば楽なのか…
できれば"任意のキー"にしたい所だけど、とりあえずEnterでやってみます。
Enter無しでキー入力を取得するにはどうしたらいいのだろう…
0482デフォルトの名無しさんNGNG
hoge.bat
------------
ruby hoge.rb
pause
------------
0483デフォルトの名無しさんNGNG
Curses 使えばできそうだけど。

1文字キー入力取得と getpass あたりは標準で欲しいなあ。
0484478NGNG
>>482
最悪それも考えていますけど…できればRubyで処理したいので。

>>483
やっぱり外部のライブラリを使わないとダメですか…
そこまでやるほどの物でもないのでEnterのみで我慢します。
0485デフォルトの名無しさんNGNG
Curses 使った1文字キー入力取得のサンプルコードを、
短かくていいので、さくっと書ける人っていますか?
0486デフォルトの名無しさんNGNG
>>485
478さんの質問って、動作環境は何を想定してるんでしょう?
Linux?Windows?OSによって実現方法が違ってくることはないかな?
Linuxならsttyコマンドでraw modeに切り替えれば...みたいな情報が
Googleで出てきましたけど、Windowsではどうやるんだろう?
0487デフォルトの名無しさんNGNG
$ ruby -rcurses -e 'include Curses; noecho; addstr("Push Any key!"); p getch'
0488デフォルトの名無しさんNGNG
>>487
お見事!なるほど、これだけでできるんですね。
Linux版(1.8)では標準でできました。
mswin32版(1.8)でも下記を参照してpdcurses.dllを追加したら動きました。
http://www.garbagecollect.jp/ruby/mswin32/ja/documents/install.html
勉強になるなぁ。
0489デフォルトの名無しさんNGNG
Net::Telnetを使うときに接続相手が、morizo@hogehoge:<CSH>[15] というような
プロンプトを出してくるのだけど、正規表現はどうしたらいいのでしょうか?
0490デフォルトの名無しさんNGNG
(∪) こんな感じかな
0491デフォルトの名無しさんNGNG
each問題は、
class 行指向 < String
end
しちゃだめなのかな?
0492デフォルトの名無しさんNGNG
PHP5 >>>>>>>>>>>>>>>>>>越えられない壁>>>>> Ruby
0493デフォルトの名無しさんNGNG
そりゃ無いだろ、eRubyと比較するならまだしも。
0494デフォルトの名無しさんNGNG
PHPって思想も実装も中途半端で言語として問題が多いと感じる。
0495デフォルトの名無しさんNGNG
PHPを言語として考えちゃ駄目で、環境として捉えないと
土俵が違うから、Rubyと比べても優劣を付けられるもんじゃない
0496デフォルトの名無しさんNGNG
言語仕様を売りにして大成功した言語ってあんまないんじゃないの
水清くなんとやらってね
0497865NGNG
Ruby はどちらかというと水清い方だと思う。
0498デフォルトの名無しさんNGNG
水前寺清子?
0499デフォルトの名無しさんNGNG
Rubyの停滞っぷりはWinny対Shareの対決を連想させるな。

ShareはWinny.succを目指して開発されたが
Winnyの欠点を改善した程度のアプリでさしたる特徴もないので伸び悩んでいる。

対するWinnyはWinMXに対して匿名性・キーワード指定による自動ダウンロードという
圧倒的なアドバンテージを備えていたのであっという間に広まった。

単に美しい文法ってだけじゃ人はついてこないよ。
特に汚水が積極的に好まれるような業界ではなおさら。
0500デフォルトの名無しさんNGNG
>>499
その例えで感じる日本の夏。
0501デフォルトの名無しさんNGNG
どんな文法が「美しい」と感じるかは人によってバラバラだろう
Schemeなんかは美しいと言われているけど俺はそうは思わない。
Cはあんまり美しいと言われるのを聞いたことないけど俺は美しいと思う。
0502デフォルトの名無しさんNGNG
GUIがちゃっちゃっと組み立てられたら、学校の授業で使ってみたいとは、思う。
0503デフォルトの名無しさんNGNG
>>502
tcl/tk なら。
拡張ライブラリを別途インストールする手間を惜しまないなら
GTK や FOX だね。
0504デフォルトの名無しさんNGNG
って、tcl/tk じゃなくて tk だった。
0505デフォルトの名無しさんNGNG
>>503
Windowsならvrubyもいいですよ。
0506デフォルトの名無しさんNGNG
Rubyが停滞しているのは、作者が日記を書くのにかまけて
コードを書いてないからに決まってるだろ。
0507デフォルトの名無しさんNGNG
俺の地方のオープンキャンパスでrubyの講習会があって、そこに作者がくる予定らしいから行って来る
0508865NGNG
いってらっしゃい
0509デフォルトの名無しさんNGNG
>>497=508がなぜその名前なのか気になって眠れない
0510デフォルトの名無しさんNGNG
>>509
↓ここ見てお眠りなさい。

アセンブラ… (;´Д`) ハァハァ
http://pc5.2ch.net/test/read.cgi/tech/1087897801
0511デフォルトの名無しさんNGNG
高速に動くスクリプトを書くヒントみたいなページある?
0512デフォルトの名無しさんNGNG
http://www.loveruby.net/w/OptimizingRubyProgram.html
http://www.notwork.org/~gotoken/mag/cmagazine/gokudo/8th/
0513デフォルトの名無しさんNGNG
ttp://i.loveruby.net/w/OptimizingRubyProgram.html
0514513NGNG
ええっ、このタイミングでカブるのかよ……orz
0515511NGNG
>>512,513
サンキュ。
0516デフォルトの名無しさんNGNG
XMLScan の中の人はこの手のテクをまとめたページ作ってないのかな?
0517デフォルトの名無しさんNGNG
文字列を一文字ごと処理するにはどうしたらいい?
s = "abc"
s.each_char { |ch|
print ch
}
みたいなことがしたい。
0518デフォルトの名無しさんNGNG
>>406-407
0519デフォルトの名無しさんNGNG
split
とか
unpack
とか
toarray
とか
0520デフォルトの名無しさんNGNG
>>517

devで青木氏を打ち負かす。
0521デフォルトの名無しさんNGNG
devな青木氏を打ち負かす。 にみえた。
0522デフォルトの名無しさんNGNG
うほっ。
0523デフォルトの名無しさんNGNG
>>518
s = "abc"
s.split(//).each { |ch|
p ch
}
としてみたら、chはStringだった。Integerじゃないのね。
まあch.to_iしたらすむ話だったんだけど、なんか1文字ずつの文字列を
作成するのって効率わるいし。

というか、なんでString#eachが行指向なわけ?文字列は文字の集合
なんだからString#each()は文字を対象にしてほしかった。
0524デフォルトの名無しさんNGNG
Stingは文字列っぽく便利に使えるバイト列だからね。
0525デフォルトの名無しさんNGNG
おっと。
s/Sting/String/
0526デフォルトの名無しさんNGNG
>>523
1バイトずつ(整数で)扱いたいなら String#each_byte をどうぞ。
0527デフォルトの名無しさんNGNG
デフォルトの文字コードを決めきれない事で
仕様が歪んでしまったって事だよな
0528デフォルトの名無しさんNGNG
>>524
なら String#each で1バイトずつ扱うようにしてほしかった。
そのほうが自然に感じるし、驚きも少ないと思う。

でもいろいろ使ってみて思うけど、Rubyってよくできてる。
0529デフォルトの名無しさんNGNG
>>527
いや、デフォルトの文字コードなど決めないという仕様なんだと思う。
0530デフォルトの名無しさんNGNG
1文字8バイトの超ワイド文字を定義すれば火星人が攻めてきたって無問題
0531デフォルトの名無しさんNGNG
ヘプタポッドの文字は難しいだろうな。
0532デフォルトの名無しさんNGNG
>>519 は無視でつか?
0533デフォルトの名無しさんNGNG
無視って言うか無駄
0534デフォルトの名無しさんNGNG
>>527 は Unicode 信者とみた。
0535デフォルトの名無しさんNGNG
Rubyの停滞ってRubyインタプリタの話か。

Rubyで書かれたアプリがたくさんできていて、思わぬところで
Powered by Rubyなんて書いてあって驚かされることも多いが。

停滞も考えものだが、 String#each の仕様を変えるなんていう
互換性をないがしろにした前進は嫌だなあ。
0536デフォルトの名無しさんNGNG
>String#each の仕様を変える
わざわざ現行のメソッドを変更しなくてもeach_charみたいなのを新設すればと思うんだがダメなのか?
0537デフォルトの名無しさんNGNG
言語仕様のリファクタリングに互換性を考慮する余地などない
0538デフォルトの名無しさんNGNG
>>536
ダメでしょ。
「each の仕様を変える」というのは、
Enumerable 系メソッドでの挙動を全て変える、と同義なので、
新設とかそういう対処でどうこうという話ではおさまらないと思われ。
0539デフォルトの名無しさんNGNG
>>537
仕様をいじる時点でそれはすでにリファクタリングではないだろう…。
0540デフォルトの名無しさんNGNG
>>538
元の話題は文字列を1文字ずつ処理することでしたよね?
それならString#each_charの新設で事足りるような気がします。
そういう話題じゃないんでしたっけ?

>>537
539のように、「リファクタリング」なら仕様を維持しつつ実装を改良するのでは?
既存のスクリプトへの影響を考えると、旧版との互換性は欲しいなぁ。
0541デフォルトの名無しさんNGNG
>>540
ML読んでないの?

まつもと氏がm17nが入ったら String#[] の仕様を変えると宣言していて、
前田氏が String#each の仕様も合わせて変えるべきだと言っている。
0542デフォルトの名無しさんNGNG
>>541
あら?ruby-listで話題が出てましたっけ?
公式サイトで検索してみると...ruby-devかな?
devは購読してないんです。過去の投稿をwebで読んでみます。
0543デフォルトの名無しさんNGNG
>>541
[]ついでにeachも変えようって事か。
ならばメジャーバージョンアップついでに変えてもいいんじゃないかな。

互換性云々言ったって1.6→1.8の時も事故ったし、今更な気がする
0544デフォルトの名無しさんNGNG
>>543
いや、だから変えるのはいいとしても、それなら一体どれ
(each_line か each_char か each_xxx か ...) にするのか?ってな話。
0545デフォルトの名無しさんNGNG
String[]で行が取れるんならeachでも行単位
String[]で文字が取れるんならeachでも文字単位
String[]で1バイトが取れるんならeachでも1バイト単位
0546デフォルトの名無しさんNGNG
>>545
hagedow
0547デフォルトの名無しさんNGNG
Rubyってアスペクト指向に対応してないの?
0548デフォルトの名無しさんNGNG
>>547
ttp://aspectr.sourceforge.net/
0549デフォルトの名無しさんNGNG
Riteで追加される(だっけ?)メソッドコンビネーションもアスペクト
みたいなものでOK?
0550デフォルトの名無しさんNGNG
>>549
サンプル見ると同じクラス内で定義してるんだけど
それだけだったら激しく無意味っぽいんだけど
実際は他のクラスからできるんだろうな。
0551デフォルトの名無しさんNGNG
>>545
それに反対している人がいるの?
0552デフォルトの名無しさんNGNG
rubyのリファレンスマニュアルってどこから落とせますか?
リンク先がどれも存在しないんですけど。
http://www.ruby-lang.org/ja/20020107.html
0553デフォルトの名無しさんNGNG
>>551
ruby-dev の当該スレッドは読みましたか?

>>552
http://www.ruby-lang.org/ja/man/
の「HTML Help版と分割HTML」のところにいくと落とせますよ。
0554デフォルトの名無しさんNGNG
>553
ありがとうございます。入手できました。

しかし、入手場所が何とも分かり難いのですが
改善はされないのでしょうか・・・
0555デフォルトの名無しさんNGNG
hoge = "abcdefg"
hoge2 = hoge
hoge[2, 3] = "123"
で
hoge2 == "ab123fg"
となるのは仕様か?

hogeのコピーを取りたければ
hoge2 = ""
hoge2.concat(hoge)
とかする必要があるのだろうか…
0556954NGNG
>>555
dup ってのがあるので、これを使って変数への束縛時に明示的に複製を
作ってから束縛してやれば(555の)期待通りの動きをします。方針は
合っています。

hoge = "abcdefg"
hoge2 = hoge.dup
hoge[2, 3] = "123"
hoge == "ab123fg"
hoge2 == "abcdef"
0557デフォルトの名無しさんNGNG
>>556
87ドビックリ
0558555NGNG
>>556
サンクス
仕様でしたか。なんか結構ハマる人が多そうな気もしますが…
0559デフォルトの名無しさんNGNG
参照については、初心者本のはじめのほうにだいたい書かれてると思う。
0560デフォルトの名無しさんNGNG
現実問題として直感(という言い方が嫌なら世俗的習慣とでも読み替えてクレイ)に
反する挙動ってバグの温床になったりしないの?
自分はフィルタ以上の事やったことないんでは幸運にもまった事ないけど。
0561デフォルトの名無しさんNGNG
文字列もオブジェクトだってことからすれば
この挙動の方が「直感的」
0562デフォルトの名無しさんNGNG
↓以下名札・箱論争が勃発します
0563デフォルトの名無しさんNGNG
>>556
954ってなんですか?
0564デフォルトの名無しさんNGNG
やったことないんでは幸運にもまった事ないけど。
↓
やったことないんで幸運にもはまった事ないけど。
0565デフォルトの名無しさんNGNG
>>560
なるだろうけど、そういう直感は相対的なものだと思うし、
Ruby に限ったことではないでしょう。
早く Ruby の世界に慣れちゃえば?って思います。
0566デフォルトの名無しさんNGNG
>>357
影舞 0.8.4 がリリースされてる
http://www.daifukuya.com/kagemai/
SQL Server より MySQL をサポートしてくれると嬉しいんだが
0567デフォルトの名無しさんNGNG
正式リリースまであと20年くらいかかりそうだな
0568デフォルトの名無しさんNGNG
>>567
正式リリース(1.0?) じゃなくても、役に立つからいいんじゃない?
0569デフォルトの名無しさんNGNG
>>566

正直、あまりいらない。Wikiあればいい。
0570デフォルトの名無しさんNGNG
wikiでバグ管理しきれる程度のプロジェクトにはBTSは不要だと
0571デフォルトの名無しさんNGNG
Wiki でバグ管理しきれる程度のプロジェクトだけにかかわれるなら、それはそれで幸せだな
0572デフォルトの名無しさんNGNG
すいませんしつもんです。

Rubyの開発環境のRDE上で、>>479のようなgetsを使ったプログラムを書こうとしていたのですが、
RDE上で>>479を実行すると、なぜかgetsが先に(クラスロード時に?)動いて、putsが後に表示されます。

これってバグですか?それともなんか私が罠にかかってるだけで普通の挙動?
0573デフォルトの名無しさんNGNG
>>572
環境がないので当てずっぽうだけど、
puts の後に $stdout.flush すればよさそうな気がする。
0574デフォルトの名無しさんNGNG
>>572
$stdout.sync = true
とか
0575デフォルトの名無しさんNGNG
>>573>>574
スゲーどっちでもいけました。ありがとうございます。
今日の仕事中○×ゲーム作ってたんですが、
これで延べ2時間くらい嵌りましたよ・・。

コンソールからだと普通に動くんですよね・・なぜか。
RDE内部の実行モードの違いとかそんなんですかね?
それとも常に>>574さんのようなのを指定しておく方が無難ですか?
0576デフォルトの名無しさんNGNG
>>575
パフォーマンスとか気にならないプログラムなら、いつも >>574 のように
しておくのは悪くないかもね
0577デフォルトの名無しさんNGNG
>>575
RDEのヘルプのよくある質問のところに、このことが書いてるよ。
0578デフォルトの名無しさんNGNG
どもっ。
金光さんは元気でいらっしゃいますか?
0579デフォルトの名無しさんNGNG
M17N版ってもうバイナリパッケージ出てるんだっけ?
0580デフォルトの名無しさんNGNG
バイナリって何用の?
0581デフォルトの名無しさんNGNG
朝専用の
0582デフォルトの名無しさんNGNG
赤いヤツか!
0583デフォルトの名無しさんNGNG
あるクラスにモジュールをincludeすることで、そのクラスに
クラスメソッドを追加することは可能でしょうか?

具体的には、以下のようなことをしたいのです。

require 'singleton'
class Foo
 include Singleton
 def Foo.method_missing(cmd, *args)
  self.instance.__send__(cmd, *args)
 end
end
class Bar
 include Singleton
 def Bar.method_missing(cmd, *args)
  self.instance.__send__(cmd, *args)
 end
end

要するにFoo.instance.mymethodをFoo.mymethodという形でも
呼べるようにしたいんですが、これをSingletonモジュールに
何か追加することで実現できないかなぁ、と。
0584デフォルトの名無しさんNGNG
method_missingはクラスメソッドじゃないよ。
0585583NGNG
>>584
説明不足だったかも知れません。
上記コードでは期待通りの動きをするのですが
(Foo#mymethodをFoo.mymethodの形で呼べる)、
同様の機能を、Singletonをincludeするクラス全てに
与えたいわけです。それぞれにmethod_missingを
定義することに無駄を感じた次第でして。

>method_missingはクラスメソッドじゃないよ。
クラスメソッドというのはClassクラスの特異メソッドという
解釈でいいですよね?上記の例で言えば
Class#method_missingを特異メソッドとしてオーバーライド
していると思えばいいのでしょうか。
0586デフォルトの名無しさんNGNG
RDEが別に悪いという分けではないが、Windows環境でのrubyははっきり言って
価値は半分以下だよ。動かないライブラリ多いし、本当に快適な環境はunix系
でないと駄目だと思う。ActivePerlみたいにwindows環境のActiveRubyなpackage
があれば良いのだけれど。
(winではcygwinでもmswin32でも同じでrdocすらまともに読めないから)

あと、RAAにライブラリ登録している人もちっとリファレンスしっかり書いて
くれ。せっかく作ったのにメソッドとかクラスの関係が全く分からないし
rdでドキュメントが書いてある日にゃ、windows環境だと全く嫁ねー。
0587デフォルトの名無しさんNGNG
こんなかんじのを Singleton と一緒に include してみたら?
もしくは同等の細工を singleton.rb にほどこすか。

module Hoge
 class << Hoge
  def included(klass)
   super
   class << klass
    define_method(:method_missing,proc {|cmd, *args| self.instance.__send__(cmd, *args)})
   end
  end
 end
end
0588デフォルトの名無しさんNGNG
あ、あとwin環境はResolver辺りも動かなかったな。
0589デフォルトの名無しさんNGNG
>要するにFoo.instance.mymethodをFoo.mymethodという形でも
>呼べるようにしたいんですが、これをSingletonモジュールに
>何か追加することで実現できないかなぁ、と。

やりたいことがこれだけなら、無理してSingletonを
使わなくても適当なオブジェクトを定数に入れて
おけばいいだけという気がするけど。

Foo = Object.new
class << Foo
def instance
self
end
def hoge
puts 'hoge'
end
end
Foo.instance.hoge; Foo.hoge
0590デフォルトの名無しさんNGNG
erbcgi.rb って obsolete なの?
0591デフォルトの名無しさんNGNG
Cygwin版で勉強し始めたのですが、
2バイト文字を含むパスをFile.openできないのですが、
どのようにやったらいいんでしょうか?
0592デフォルトの名無しさんNGNG
ファイル名を1倍と文字に変える
0593デフォルトの名無しさんNGNG
>>592
日本語のフォルダ名やファイル名には
対応していないということなんでしょうかね。
Windows環境で便利なスクリプトとしてこれから
使おうと思っていたのですが、、、ちょっと残念。
0594デフォルトの名無しさんNGNG
Cygwin自体が2バイト文字(というかShift_JIS)対応がアマいんじゃなかったっけ?
0595デフォルトの名無しさんNGNG
-Ks 付けてもだめ?
0596デフォルトの名無しさんNGNG
あっ、mswin32版をダウンロードしてやってみたら
できました!
ruby -Ks script.rb
Dir.glob(%q(C:/マイ ダウンロード/あああ*.txt)) { |name|
 print "filename=#{name}\n"
 File.open(name) { |file|
  file.each { |line|
   print line
  }
 }
}
ちなみに-Ksオプションつけなくてもちゃんと日本語の行が表示されますね。

0597デフォルトの名無しさんNGNG
あ、cygwin版でもファイルパスを
/cygdrive/c/...から始めれば一応エラーは出ませんね。
(さっきはC:\...から始めてました)
でも期待した出力結果は出てこないですけど。
とりあえずmswin版でこれからはやってみます。
0598デフォルトの名無しさんNGNG
ひょっとして cygwin のバージョンが 1.5.10 だったりする?
0599デフォルトの名無しさんNGNG
>>598
インストール用のsetup.exeをダブルクリックしたら
2.427でしたけど違う?
0600デフォルトの名無しさんNGNG
cygcheck -c cygwin

1.5.10 は日本語ファイルの扱いがまずいらしい
0601デフォルトの名無しさんNGNG
あぁ、1.5.10-3だよ。多分最新のものだろうと思ってたんだが?
Cygwin Package Information
Package Version Status
cygwin 1.5.10-3 OK
それとも最新のものにバグがあるの?
0602デフォルトの名無しさんNGNG
>586
>でないと駄目だと思う。ActivePerlみたいにwindows環境のActiveRubyなpackage
>があれば良いのだけれど。

てんこ盛りパッケージが必要という意味なら
http://rubyinstaller.rubyforge.org/wiki/wiki.pl

ActiveほにゃほにゃなWindowsとのCOM連携が必要という意味なら
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/


>rdでドキュメントが書いてある日にゃ、windows環境だと全く嫁ねー。

単なるテキストファイルなのになんで読めない?


>588
>あ、あとwin環境はResolver辺りも動かなかったな。

C:\>ruby -vrresolv -e "Resolv.getaddress('www.ruby-lang.org')"
ruby 1.8.2 (2004-08-23) [i386-mswin32]
"210.251.121.210"
0603デフォルトの名無しさんNGNG
$ cygcheck -dc cygwin
Cygwin Package Information
Package Version
cygwin 1.5.10-3

$ mkdir /tmp/2バイト
$ cd /tmp/2バイト
$ touch foo
touch: creating `foo': No such file or directory
0604デフォルトの名無しさんNGNG
ふと見たら、Eclipse のRubyプラグインが新しくなってるね。
WebPublisherとかいうやつが依存してるから、新しくなったのかな。
簡単にインストールできたから、もうRDEいらないや。(ちょっとEclipse起動に時間かかるけど。)
0605デフォルトの名無しさんNGNG
Ruby1.8.1のwin32版にRMagick1.6.0をインストールしようとしました。
ruby install.rb config とすると、

C:\RMagick-1.6.0>ruby install.rb config
install.rb: entering config phase...
---> lib
<--- lib
---> ext
---> ext/RMagick
C:/usr/local/ruby-1.8.1-i386-mswin32/bin/ruby C:/RMagick-1.6.0/ext/RMagick/extconf.rb
C:/usr/local/ruby-1.8.1-i386-mswin32/bin/ruby: No such file or directory -- C:/RMagick-1.6.0/ext/RMagick/extconf.rb (LoadError)
config failed
'system C:/usr/local/ruby-1.8.1-i386-mswin32/bin/ruby C:/RMagick-1.6.0/ext/RMagick/extconf.rb ' failed
try 'ruby install.rb --help' for usage

というエラーが出ます。
C:\RMagick-1.6.0\ext\RMagick\extconf.rb.inというのはあるんですが、ひょっとしてこれは
configureでextconf.rbを作れということなんでしょうか?よろしくお願いします。
0606デフォルトの名無しさんNGNG
最新のruby-modeはどこやねん
0607デフォルトの名無しさんNGNG
>>605
> C:\RMagick-1.6.0\ext\RMagick\extconf.rb.inというのはあるんですが、ひょっとしてこれは
> configureでextconf.rbを作れということなんでしょうか?よろしくお願いします。
ということ。

しかしこいつ、別ディレクトリだと全然コンパイルできんな。
0608デフォルトの名無しさんNGNG
>>606
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/ruby-mode.el?rev=1.83;content-type=text%2Fplain
0609606NGNG
うぉう。ruby本体に入ってたのね。ruby-modeでぐぐって
先頭に出てきたの入れたら動きやしねぇ。
本体に入ってたのは何の苦労もなく動きました。
0610デフォルトの名無しさんNGNG
なんかキモイのが間にはさまてるぞ
0611デフォルトの名無しさんNGNG
私はirb-tools(rtags)のありかが分かりません。教えてください。
http://raa.ruby-lang.org/project/irb-tools/
からはダウンロードできないようなのですが。
0612デフォルトの名無しさんNGNG
keijuさんのページごと消えてるみたいだね。
タグファイルを作りたいだけなら、最近のctagsはRubyにも対応してるけど。

$ ctags --version
Exuberant Ctags 5.5.3, Copyright (C) 1996-2003 Darren Hiebert
Compiled: Mar 14 2004, 22:28:44
Addresses: <[email protected]>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
$ ctags --list-languages | grep Ruby
Ruby
0613611NGNG
そうなのですか。ctags試してみます。ありがとう。
0614デフォルトの名無しさんNGNG
なんか最近rubyが全体的におかしくない?

もりさがってきたって言うかなんていうか。
いろんな部分でリンク切れや
ライブラリ製作者やプロジェクトの
不手際が目出つような。
0615デフォルトの名無しさんNGNG
プログラミング自体が盛り下がっているような……
0616デフォルトの名無しさんNGNG
プログラミング関連で勢いがあるのってWindows周りだけだしな。
後は淀んで腐り始めてるよ。
0617デフォルトの名無しさんNGNG
Windows環境でディレクトリ・ファイル操作(削除したりコピーしたり)
をしようとしてるんだけど、Permission のエラーで
全然動かないんですけど。。。
0618デフォルトの名無しさんNGNG
( ´_ゝ`)フーン
0619デフォルトの名無しさんNGNG
>>614
確かに、一時期の盛り上がりから考えると、最近は停滞しているかも。
でもまぁ、オープンなわけですから、我こそはと思う人が盛り上げるのもありですし。
私自身は業務にも趣味にもRubyを常用・愛用していて、盛り下がってるつもりはないんですけどね。
全体的にはRuby2待ちなのかなぁ。
0620デフォルトの名無しさんNGNG
>>617
どういった環境でどんなスクリプトでどういうエラーになってます?
エラーが示すように、権限がないんじゃありませんか?
0621デフォルトの名無しさんNGNG
>確かに、一時期の盛り上がりから考えると、最近は停滞しているかも。
java風なスクリプト言語のgroovyとかpnutsもあるしね。
そういえば最近ruby使っていてツクール厨房のフォースを感じるんだが、
すごく気分悪くなってくる。これが一番まずいようなヨカン。。。。
0622デフォルトの名無しさんNGNG
>>621
> そういえば最近ruby使っていてツクール厨房のフォースを感じるんだが、
どこらへんで?
0623デフォルトの名無しさんNGNG
いまさら、PHP やるよりも、Ruby をやったほうがいいよ。
PHP はセットアップがものすごく面倒なんだ。
他方、Ruby for Web というパッケージは、セットアップが簡単。
PHP 相当のことが直ぐできるよ。
パッケージのアップグレードも、個々のライブラリーの更新も簡単。
MySQL も直ぐ使えるし、楽勝なんだ。
0624デフォルトの名無しさんNGNG
PHPの隆盛について

ストラトの調弦は難しいから、ゾウさんにしな。
反射望遠鏡の光軸調整は難しいから、屈折望遠鏡にしな。
後から OSをインストールするのは難しいから、OSプレインストール PCにしな。
包丁を研ぐのは難しいから、ステンレスの包丁にしな。
Rubyのインストールは難しいから、PHPにしな。
たぶん、そういうことなんだろうと思う。Webプログラミングに限ってだが。

素人でも設定できることが重要、設定できなければ使えない。
ゾウさんが売れるのも、OS プリインストール PC が売れるのも同じ理由。
ギターもソフトウェアも、セットアップを簡単にすると、
素人向けで儲けが生じる。「素人」だからこそ、それに金を払う。分業だし。

オートフォーカスカメラが登場したときに、プロのカメラマンがバカにしていた。
ダシ入り味噌をバカにしている料理人も知っている。
それらは、素人向け商品なんだが。バカにすること自体、おかど違い。
Ruby の専門家がバカにするような Ruby パッケージ希望。
単純に PHP 相当になればよい。
0625デフォルトの名無しさんNGNG
>>624
どーなんだろうねぇ。
そんなんが出たら >>621のような輩が毎日このスレにこう書きそうだぞ

----
そういえば最近ruby使っていてRuby パッケージ厨房のフォースを感じるんだが、
すごく気分悪くなってくる。これが一番まずいようなヨカン。。。。
0626デフォルトの名無しさんNGNG
>>624
gems がより洗練されて普及すれば
ライブラリのインストールも CPAN 並に楽になるよ。
Ruby 本体のインストールは別に現状でも難しくないでしょ。
0627ヨハネ621NGNG
クギャャャャヤャャャャャャャホホホホホホ!!!!
待て>625同志よ。rubyパッケージは最高だ。脳内では既にsp1が配布されている。
0628& ◆xTwoYEuCC. NGNG
 まず、あなたという人を知るために、1桁の数値に表されたあなたという人の人格の基本的な性格と運命傾向を探ってみることにしましょう。
◎1桁の宇宙数
 →個としての在り方、宇宙の中で与えられた特質と運命ポジションを表す数値
 →基本的な性格と運勢傾向

お名前:ruby

 この数字を持つ人は、二つの個性を同時に内在させることになり、虚無的な明るさと孤独の暗さを持ち合わせることになります。
 一見、無愛想で近寄りがたかったり、何処か翳りのある内向的な雰囲気を人に感じさせやすいでしょう。独特の個性が人に威圧感を与えることもありがちで、それ故、他人からは誤解されやすく、真実の姿をなかなか理解されないことになりやすいでしょう。

お名前:perl

誰が何と言おうと「ゴーイングマイウェイ」を貫く人です。自我が強く、またそうしたこだわりや自分なりの主張が髪型や服装、持ち物、ライフスタイルに現われている
かも知れません。また、それらはトレードマークというような周囲に受け入れられる個性になる部分でしょう。たくましく、逆境に強く、周囲や情報に敏感でありながらも、それに惑わされず、自分の時間で人生を生きることが出来る芯の強い人です。

お名前:python

気難しそうな外見とは裏腹に、気さくで気取りの無い庶民派気質の人です。どちらかというと自分第一な人に思われやすく、神経の細やかなタイプに見られにくいのです
 が、さりげなく周囲に気を配って、人が嫌がる裏方の部分を引き受ける謙虚さを持ち合わせています。そうした安心感や信頼感が、いつのまにか人望を集めることになるでしょう。
0629デフォルトの名無しさんNGNG
RubyのよさげなWeb上の解説ってありやすか??
0630デフォルトの名無しさんNGNG
>>629
こんなんどうでございやすか?
http://ruby.mirror.easynet.be/ja/uguide/uguide00.html
0631デフォルトの名無しさんNGNG
>>629
よさげってのがどんなんを意味してんのか不明ですが。
http://www.summa.jp/tutorial/pdf/rubyman.pdf
http://www.notwork.org/~gotoken/mag/cmagazine/gokudo/
http://i.loveruby.net/ja/rhg/index.html
0632デフォルトの名無しさんNGNG
hoge = [0x69, 0x66, 0x61, 0x65, 0x72 …]
↓
hoge = "ifaer…"
みたいな感じで、数MByte分くらいある数字の配列データを高速に文字列(と言うかバイナリ列)に変換する方法って何かある?

hoge.collect!{|x|
 "%c"%x
}
みたいにやるとめちゃくちゃ時間かかるんで…_| ̄|○
0633デフォルトの名無しさんNGNG
>>632
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=pack%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8%CA%B8%BB%FA%CE%F3
0634デフォルトの名無しさんNGNG
>>633
おぉ…かなり速くなった
こんな時間にサンキュ
0635デフォルトの名無しさんNGNG
HSB程度の機能も備えていないRubyの貧弱さには失望しました
0636デフォルトの名無しさんNGNG
>>635
恥ずかしながら..."HSB"とは何でしょうか?
色情報の形式の1つ?
0637デフォルトの名無しさんNGNG
high speed bootだろ
0638デフォルトの名無しさんNGNG
>>636
何故、検索をしないのですか?「検索」を知らないんですか?
すぐ人に聞いて解決を待つのは愚かな行為だと思いますよ。
0639デフォルトの名無しさんNGNG
CIIJQOIIXWZMZPEANCIUJDFIQJD程度の機能も備えていないRubyの貧弱さには失望しました
0640デフォルトの名無しさんNGNG
isalphaとかisalnumとかiswhiteみたいなメソッドはありますか?
isalpha(?a) #=> true
みたいな。
0641デフォルトの名無しさんNGNG
>>640
ふつー正規表現使うんじゃね?
0642デフォルトの名無しさんNGNG
そういえばそうですね。
今、1バイトずつ読み込んで処理するスクリプト書いてて、それで文字列じゃなくて
Fixnumとして扱ってるので、正規表現を忘れてました。
どうもありがとうございます。
0643デフォルトの名無しさんNGNG
>>638
いや、検索した結果でそれらしいと判断したのがこれだったので。
http://www.nifty.com/webapp/digitalword/word/049/04983.htm

色のことじゃなくて、高速起動のことなんでしょうか?
起動のことだとして、そんなに遅いかなぁ。
例えばCGIで毎回起動するのが遅いって言うことなら、
処理本体を別プロセスとして起動したままにしておいて、
CGIからdRubyを利用して呼び出せばいいし。

なにはともあれ、"HSB"が気になって気になって。
635さん、意味するものを教えてください。
0644デフォルトの名無しさんNGNG
HSPじゃないの。最近日記で叩いてたから。
0645デフォルトの名無しさんNGNG
HSB for PC-9801 懐しすぎ。
0646デフォルトの名無しさんNGNG
Rubyで、特定のパターンにマッチするメールが来たら、そのログを出力するような
アクションを起こすPOP Proxyを作りたいなぁ、と思います。が、作れません。
わかんないんです。ぶっちゃけ教えて下さい。Tserver使えばいいような気がする
ところまででもう一杯一杯です。
Fromがxxxで、Subjectがyyyだったらログファイルに出力、という以外は全て通信を
透過させればよいはず、と素人なりに考えるのですが全然実装方法がわかりません。
透過処理を行う部分だけどなたかヒントを頂けないでしょうか。
0647デフォルトの名無しさんNGNG
.forward でスクリプトに投げるってのはよくやる手だけど、
環境とか背景をもうちょっと書かないとヒントの出しようが...
0648デフォルトの名無しさんNGNG
ttp://www.tmtm.org/ja/ruby/apopfilter/
のソースを参照にするとか。
0649646NGNG
>>647
環境はWindowsです。
多数のメールソフトで使えるようにとPOP3のProxyという形で実装したいのです。
メールソフトが固定されていれば、そのメールソフトでのマクロという形での実装が可能ですが、
多数のメールソフトを対象にするので、POP3のProxyという形で実装したいです。
背景は、
・一日に自動的に自分宛てに送信されるメールが多数ある(件名はそれぞれ固定)
・それぞれのメールがそれぞれの規定時間帯に届いていない場合はアラートを発生したい
・障害を通知するメールを受信した場合もアラート発生したい
・メールソフトは非固定にしたい
・確認処理用のアカウント(メールボックス)の作成は不可
です。現在手動ですが漏れがでるので自動化したいのです。
方針としては、
・メール確認部分はPOP3のProxyとして動作。メールソフトに非依存。
・メール確認のトリガはメールソフトでの受信処理
・アラート発生処理はメール確認部分のログを確認して処理する別スクリプトとして実装
と考えています。
技術的には、POP3のProxy云々という所がどうしてもわかりません。他は何とかなりそうです。
それにあたり、技術的に自分には困難なのがメール受信
メールをRuby等で受信し件名などの情報をチェックするスクリプトを

その有無を自動的に管理したいのです。できればブラウザからその日のそれらメールの有無を
参照し、規定時間までに来ていない、もしくは緊急の対応を要するメールであれば

具体的な例としては、
・Fromがxxx1でSubjectがyyy1→
 ログファイルにzzz1と日付、時刻と共に出力
・Fromがxxx2でSubjectがyyy2→
Aメールは〜9:30

なので.forwardはつかえないです。
0650646NGNG
>>648
技術的に調査するとしたらそこでしょうね。
APOP非対応として、Apopfilterを参考に実装することになるのでしょうか。
うーん、ぱっと見難しいですがこれが分からないとどのみち今回の実装は無理なのかなぁ。
見てみます。
0651デフォルトの名無しさんNGNG
> 646
適当に作ってみました。
とりあえず、Beck からの取得には成功してます。
RETR 以外の時はそのまま通すようにしてあります。
バグあると思いますが、それでもよければ。

ttp://upload.fam.cx/cgi-bin/img-box/eoq40901095051.lzh
0652デフォルトの名無しさんNGNG
while true; server.gets; server_str += $_
よりも、
while s = server.gets; server_str += s

server_str[0..(size-("\r\n.\r\n".size))]
は
server_str.chomp("\r\n.\r\n")
という方法もある。

server_ary[1..server_ary.size] は server_ary[1..-1] とも書けるけど
先頭の2行を消すだけなら server_str.sub!(/\A.*\r\n.*\r\n/, '') でいいんじゃないか?
つーか、Arrayのまま持ってたほうがいいんでは。


0653デフォルトの名無しさんNGNG
こういうのもあるね。
http://moonrock.jp/~don/ruby/#POP3a5b5a1bca5d0
0654デフォルトの名無しさんNGNG
文字列の置換を行うときに置換する文字列の中に後方参照(\1, \2とか)が含まれていると置換時に消えてしまうんだが
何か対策ってある?
とりあえず
mes = 'Filename:<FN>'
fpath = '.\100\foo.dat'
mes.sub!(/<FN>/,fpath.sub(/(\\\d)/n, '\\\\\\1'))
みたいにすれば出力結果は正しい物になるけどコードの見栄えが良くないので…
0655デフォルトの名無しさんNGNG
>>654
String#sub!(pattern, replace) は使っちゃダメ。絶対。
String#sub!(pattern) {|matched| .... } の方を使いましょう。

mes.sub!(/<FN>/) { fpath }
0656651NGNG

>652

指摘ありがとうございます。その方がシンプルに書けますね。
正規表現で \A ってのは知りませんでした。
勉強になるなぁ。

あと
s/Beck/Becky/
でした。
0657654NGNG
>>655
サンキュ。できたよ。
String#sub!(pattern, replace)はバグ持ちって事?仕様?
俺が書いているコードはほとんどsub!(p, r) or sub(p, r) or gsub!(p, r) or gsub(p, r)だよ…
変な問題が起きなければいいが…_| ̄|○
0658デフォルトの名無しさんNGNG
>>657
ここ読め
ttp://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=trap%3A%3A%5C%A4%CE%B1%C6%B6%C1
0659デフォルトの名無しさんNGNG
#include<iostream>
#include<ruby.h>
int main(){
ruby_init();
ruby_init_loadpath();
int state;
VALUE volatile i;
i=rb_ary_new();
rb_load_protect(rb_str_new2("hoge.rb"),0,&state);
rb_p(i);
return 0;
}

hoge.rb の中でガベージコレクションを行うと、
iが回収されてrb_p(i); で落ちてしまいます。
なぜなんでしょうか?

「Rubyのガベージコレクタはスタック領域から参照されているオブジェクトにもマークを付ける」
との事なので、iが回収されるのはおかしいような気がするのですが…
0660デフォルトの名無しさんNGNG
ruby_initの中身を見れば自明だが
main以外の関数でやれ。
保守GCの常識。
0661デフォルトの名無しさんNGNG
あ、ruby_initの呼び出しは変数を使う関数よりも上でやれってことね。
Cのスタックの伸び方知ってればわかると思うが。
0662646NGNG
>>651
ありがとうございます!
でも、見たらリンク既に切れてました。
もう一度アップして頂けないでしょうか。
お手数ですがお願いできませんでしょうか。

>>652
アーカイブが手に入ったら見てみます。

>>653
参考になりそうですね。POPのリクエストを処理する参考になります。

>>651
なにとぞ再度のご降臨を・・・
0663デフォルトの名無しさんNGNG
>>644
叩かれて当然だよな、あんなの。何世代前の言語だよ。
ライブラリが豊富とか、コミュニティがどうのとか、そういうのは知らないけど。
0664デフォルトの名無しさんNGNG
何でそんな言語を使っている人がいるのかというのを考えないと
0665デフォルトの名無しさんNGNG
結局Rubyはプログラミング入門には使われてないし。
ホビーユーザーにも相手にされていない。
標準では窓一枚開けないしピクセル一つ描画できない。
VBやPerlが普及してHSPがそれなりに支持を得ているのは
言語の美しさが理由ではまったくないな。
0666デフォルトの名無しさんNGNG
オタクユーザーに普及しないのは萌えないから。
(ツクールに採用されたらしいから、状況がかわるかもね)
0667デフォルトの名無しさんNGNG
ruby信者による「なぜrubyが使われないのかについての考察」キボン
0668デフォルトの名無しさんNGNG
>>665
> 標準では窓一枚開けないしピクセル一つ描画できない。
各種OSで動かせるように作ってますからねぇ。
ライブラリを使えば、LinuxでもWindowsでも、それなりのGUIは組めますが、
標準で使えなきゃやだっ、という人には無理ですなぁ。
自分では、vruby(VisualuRuby)でアプリケーションを作って、
exerbでEXEファイル化して重宝してます。
もっとみんなにRubyを使ってみて欲しいんですけどね。
0669デフォルトの名無しさんNGNG
無料鯖で使えるわけでもなくゲームに向いてるわけでもない
使いどころがないから仕方ないね
PHPみたいにDB連携がいいわけでもないし
0670654NGNG
>>658
本家にあったのか…気が付かなかったよ…
ありがとう
0671デフォルトの名無しさんNGNG
>>667
tDiaryとか、UNIX者の名もなき自分用プログラムには使われてると思うけどね。
逆にHSPはそういう方面では使われてない。

対象としている利用者層がちがうんだから、これでいいんじゃない。
0672デフォルトの名無しさんNGNG

原始的言語は、覚えなきゃいけないことが少ない
=規則が少ない

きれいで便利な現代的?言語ほど規則が多い
=ある意味、言語デザイナーによる価値観や規則の押し付け。

便利さよりも、不便な自由?言語が中高生に選ばれるのは、
校則などで、押し付けはお腹一杯だから…   
                              文部省

0673デフォルトの名無しさんNGNG
>>671
某プログラミングコンテストに応募するような若きプログラマの卵は
対象とする利用者層ではないと。
0674デフォルトの名無しさんNGNG
>>668
exerb知らなかった。
exeを作れるなら、またrubyをいじってみるから。
0675デフォルトの名無しさんNGNG
>>672
HSPって本当にそんなに自由なのか?
「gotoならどこにでも飛べるからifやwhileより自由、gotoさえあればいい」という論法?
0676デフォルトの名無しさんNGNG

gotoはフォンノイマン型世界の中で、限られた自由への道。
いい悪いは別だけど。
0677デフォルトの名無しさんNGNG
>>674
「利用者層」なんてこんな些細な違いでコロコロ変わるんだよね。
0678デフォルトの名無しさんNGNG
>>672の自由の意味を読み違えていると思うが。
不便な自由ってお仕着せの完結したでも簡単に目的が実現できる環境のことだろ。
Rubyの自由は無人島の自由だな。
0679デフォルトの名無しさんNGNG
>>671
漏れはウニクサじゃなくドザだけど、自分用ツール作成に重宝しているクチだな。

昨日、「Ruby/GTK プログラミング入門」を買ってきた。
Ruby/gtk2 の本が欲しかったんだけど見あたらなかった orz
0680デフォルトの名無しさんNGNG
>原始的言語は、覚えなきゃいけないことが少ない
>きれいで便利な現代的?言語ほど規則が多い

むかーし、6502の仕事をしたとき(他のCPUに比べて)命令数が
少なくて簡単だろ、と6502一筋の上司から言われたけど、
逆に簡単なことをするのにも、何行もコードを書いてパズルチックに
組み合わせを考えないといけなかったので、難しいと思ったことがあった。

0681デフォルトの名無しさんNGNG
>>669
> 無料鯖で使えるわけでもなく

少なくとも xrea では使える
0682デフォルトの名無しさんNGNG
tok2もバイナリ突っ込めば動く。規約はざっと呼んだけど違反ではないと思う
0683デフォルトの名無しさんNGNG
語るほどに突っ込みどころ満載のバカにマジレスしてちゃダメでしょ。スルーで。
0684659NGNG
>>660
こんな感じですか?

#include<iostream>
#include<ruby.h>

int sub(){
int state;
volatile VALUE i;
i=rb_ary_new();
rb_load_protect(rb_str_new2("hoge.rb"),0,&state);
rb_p(i);
return 0;
}

int main(){
ruby_init();
ruby_init_loadpath();
sub();
return 0;
}

しかし、これも同じように落ちてしまいます。
どこが悪いのか…
0685デフォルトの名無しさんNGNG
最近、Ruby 関係で調べものしようとぐぐると、
無関係な tDiary のサイトが大量に引っかかって頭に来ることが多い。
0686651NGNG
>646

鯖ごと落ちてるみたいですね。
↓こっちに置いときます。
ttp://www.uploda.org/file/5940.lzh

ちなみに 652 さんに言われたとこは修正してないです(^^;
0687デフォルトの名無しさんNGNG
>>684
環境とrubyのバージョン、コンパイル時のオプションは?

int main(int argc, char **argv)
{
ruby_init();
Init_stack((VALUE *)&argc);

とするとうまくいく場合もある。
0688デフォルトの名無しさんNGNG
最適化でinline展開されてるとか
0689デフォルトの名無しさんNGNG
>>685
よくあるよくある…ほんとウザイよ
0690646NGNG
>>686
ありがとうございます!!!!!
参考にさせていただきマッスル。
0691デフォルトの名無しさんNGNG
Ruby は、素人には全く魅力のない言語。
といっても、玄人が仕事で使う言語でもない。
Ruby は、玄人のお遊び言語。
まつもと氏の言う "たのしさ" は、玄人の "たのしさ" だと思う。

「Ruby はプログラミング入門に最適の言語」って、たわごとでしょ。
全くプログラミングを行ったことの無い人間が、
最初のプログラミング言語として、Ruby を選択することはありえない。
入門者が Ruby を使う場合、誰かサポートする香具師が横についているよ。
Ruby本体やライブラリのインストールも含めて。
0692デフォルトの名無しさんNGNG
玄人にしても言語の字面や「美しさ」に関心がない人は
Rubyには興味を抱かないんじゃないの。
あとは手段としてのみプログラミング言語を用いる人。
コーディング・設計ではなく実際に動作するプログラムにのみ関心を持つ人。
0693デフォルトの名無しさんNGNG
逆に真性言語オタクはSmalltalk, Lisp, Haskellあたりに行くんだろうか。
とするとRubyのターゲットは中庸な言語オタクってとこか。
0694691NGNG
C言語の入門書は、変数、演算子、制御、関数など
プログラミング概念を取得することに、向いている。

ただ、成果主義の素人の目には、C言語の入門書ってバカバカしい。
配列を使ってスタックを作る。カッコの対応を調べる。
ソートする。素数を探す。
標準入力からデータを得て、加工して、標準出力へ出す。
「1冊読んで、こんなことしかできないのかよ」って驚いてしまう。

今の GUI が普及して、PC に触れることになった人々には、
Ruby の入門書も、それくらい、無味乾燥な印象を与える。
文字列処理に沢山の紙面を費やしている。
そんなのエディタで出来るから、ぜんぜんありがたみがない。

一方、HSP なら、いきなりスクリーンセーバーを作ったりするし。
素人には "たのしい" と思うよ。"たのしい" が違うんだ。
# そういえば、Java には AWT があった。
0695デフォルトの名無しさんNGNG
しかし、初心者に最適とされるWindows上で動作する言語、
(HSP、ひまわり、TTS)などがいずれも前世紀の遺物の
ようにBASIC程度の構造化や制御構造しか無いのは、日本の
プログラマの卵にとっては不幸としか言いようが無いな。
まあ責任は初心者プログラマではなく志の低い言語デザイナに
あるわけだが。
0696デフォルトの名無しさんNGNG
そういうのは後から必要尾に応じて言語乗り換えれてソフトウェア工学を勉強すればいいだけの話。
自分もN88BASICから入ってひたすら汚いコードを書き散らして根性でデバッグしてたよ。
構造化プログラミング、OO、硬いコードの書き方なんて勉強したのはずっと後だったな。

rubyって良くも悪くもオープンソースプロジェクトそのものだよな。
標準で何もなく、企業の作ったIDEレベルのものを備えず
各種ライブラリも半端でデファクトといえるものが存在せず
同機能異実装な物が乱立しユーザーはネットを這いずり回ってかき集めてきて
半端なドキュメントとGoogleで七転八倒しながら覚えていくと。

開発ツールに関しては一貫して商用の物を使ってきたな。ついでにOSも。
だからLinux的なものは今だにどうも馴染まないよ。付き合いは短くないのに。

プログラミング入門者はHSPとは言わないまでもWinでVBかC#かDelphiやっとくのがいいと思うな。
触れるならMathematicaでもいいけど。ハッカーコースではないけどね。
0697デフォルトの名無しさんNGNG
<aaa> bbb <ccc> dddd

↑こういう文字列から<>に囲まれた部分を取り出したいのですが、

a = str.scan(/<(..+)>/);

こう書くと、("aaa","ccc")ではなくて、("aaa> bbb <ccc")となってしまいます。
この場合どのように正規表現をかけばいいですか?
(もしくはscan以外に簡単な方法がありますか?)
0698デフォルトの名無しさんNGNG
要はライブラリとドキュメントとWindows対応とGUI対応を
強化すりゃいいってことでしょ。
単に時間の問題。
0699デフォルトの名無しさんNGNG
>>697
/>([^>]+)>/
0700デフォルトの名無しさんNGNG
カッコの向きが違った。。。
/<([^>]+)>/
0701デフォルトの名無しさんNGNG
<(.+?)>
こうでもいいな。
0702デフォルトの名無しさんNGNG
<(. .)> sorry..
0703デフォルトの名無しさんNGNG
>>698
そりゃ頼もしいね。
あんまり進んでないように思えるけど例えばWindows向けにはどのGUIライブラリが普及しそうなの?
.NET,特にAvalonには対応できるのかな。
0704デフォルトの名無しさんNGNG
<(?_?)>
0705デフォルトの名無しさんNGNG
俺は、素人だしPCもプログラミングも専門外だが、
入門書1冊と本家のリファレンスマニュアルで大抵こと足りた。
まぁ、やってることがショボイからだろうけど。
でも、>>691 みたいなのは理解できない。
サポートする人が横に必要だとか、素人というより自分に甘い人間に向いてないだけなんじゃないかと。
んな奴は、何やっても駄目だろ。
その点は万人向きじゃないかもしれないが、フリーなのだから当然だと思ってた。
0706デフォルトの名無しさんNGNG
>んな奴は、何やっても駄目だろ

こーゆー偏見的優越感を持つ人が多そうなのがRubyの欠点かも。。。

0707デフォルトの名無しさんNGNG
そもそも、素のBASICみたいな、現代的見地からすると糞としか思えないような
言語を知ってるからこそ、Rubyのよさがわかるんじゃないか?
0708デフォルトの名無しさんNGNG
HSPのソースコードをチラッと見たのだけど、あれでプログラミングを勉強した人は、
次のどの言語へ行くの?
Java, C++, PHP, (Ruby) どれにしても、移行はスムーズに行きそうにないのだが。
0709デフォルトの名無しさんNGNG
ruby-list 40000 到達おめ。
0710デフォルトの名無しさんNGNG
>>708
スムーズも何も用途しだいだろ。
これといった用途がないRubyには多分行かないだろう。
0711デフォルトの名無しさんNGNG
会社で他の人にも使わせるスクリプトを作ることを考えると、
「ActivePerl突っ込んどけ」で済むPerlが楽なんだよね。
0712デフォルトの名無しさんNGNG
VisualWxがRuby (wxRuby) に対応した模様。

http://visualwx.altervista.org/
0713デフォルトの名無しさんNGNG
>>706

> こーゆー偏見的優越感を持つ人が多そうなのがRubyの欠点かも。。。

これまた偏見ですね
0714デフォルトの名無しさんNGNG
>>712
このスレのながれから、GUI使うならどれだろ、Apolloかな。と考えはじめたところだけど、wxってどうなの?
0715デフォルトの名無しさんNGNG
>>703
webrick でサーバ立ててウェブアプリをブラウザで操作。
0716デフォルトの名無しさんNGNG

>714
wxWidgetsは結構使えるよ。wxRubyは判らないけど……>712の感想キボンヌ




0717712NGNG
>716
現時点でも簡単なGUI設計には使えると思うけど、まだまだ対応したてで拙い部分もあるから今後に期待ってとこ。

拙いところ
・エディタで日本語表示出来ない。
 ただ、そのうちフォント設定くらい付くとは思うし、
 エディタ以外の部分では日本語表示は全く問題なし。
 GUIデザインだけやって、プログラム部分は常用のエディタで弄れば良し。
・フレームとかの色を変更するとwxRubyではなくwxPythonのものと思われるコードが追加される。
 多分他にもそういう部分はあると思われる。

個人的に気に入ったところ
・サイズが小さい。インストールサイズが8MBくらい。
・レジストリを使わない。せいぜいプロジェクトファイルの関連づけ程度。
0718デフォルトの名無しさんNGNG
KNOPPIXでwxRubyをコンパイルしてみようとしましたが、

$ ruby -I /home/knoppix/ruby-1.8.1/lib/ extconf.rb
can't find header files for ruby.

となります。

ヘッダファイルのパスを指定することはできないのでしょうか?
0719718NGNG
>>718
自己レスです。
できないようです。

mkmf.rbの80行目に

if not $extmk and File.exist? Config::CONFIG["archdir"] + "/ruby.h"
$hdrdir = $archdir
elsif File.exist? $srcdir + "/ruby.h"
$hdrdir = $srcdir
else
warn "can't find header files for ruby."
exit 1
end
$topdir = $hdrdir

と書いてありました。

試しにsrcdirを見てみると

$ ruby -r rbconfig -e "p Config::CONFIG['srcdir']"
"/tmp/ruby1.8-1.8.1/build-tree/ruby-1.8.1"

ということなので、ここにリンクするとMakefileができました。
しかし今度は、wx-config: command not foundと。

とりあえず、最初にFedraで作ることにしました。
0720デフォルトの名無しさんNGNG
>>708
> HSPのソースコードをチラッと見たのだけど、あれでプログラミングを勉強した人は、
> 次のどの言語へ行くの?
> Java, C++, PHP, (Ruby) どれにしても、移行はスムーズに行きそうにないのだが。

私は、HSP→HSPのプラグイン(C++)→C++
→手軽さ美しさに惹かれてRuby→ポータブルなJava
という風に行きました。
移行は特に問題なく、人並みにスムーズにいけましたです。
HSPはアセンブリに近いです。
気軽にGUIアプリを実現できるインタプリタがゆえに
使ってて楽しいので、プログラミングの入門・基礎学習には良いと思いますよ。
正直ゲーム作りに興味ある人にとっては、HSPはRubyより魅力的かと思います。
0721デフォルトの名無しさんNGNG
あと、チラッと見ただけで判断できる優秀な人は別にいいのですが
他の勉強熱心な人は、言語の比較をしたいと思ったら
とりあえず触ってコーディングするのが賢いと思います。
HSPの良いところ、それは自分の興味に沿ったプログラミングが
すぐできることです。
また、HSPの作者はおそらく意図しなかったでしょうが
「やりたいことの連鎖(Chain of Demand)」が起こるのです。
Rubyでも同じことですが、HSPプラグインを書くために
いやがおうにもC++をやってみたいと考えるようになり
ついに自分で勉強を初めてしまいます。
Windows APIにも自然と詳しくなり、使っているOSに対する
理解も深まりますよ。
0722デフォルトの名無しさんNGNG
なるほど、HSPについて参考になった。個人的には、こういうレスは好きだ。
でもな、そろそろ巣に帰った方が良いかと。荒れるぞ。

つーか、そんな個人的な事情満載で推されたり比較されてもなぁ。
0723デフォルトの名無しさんNGNG
>>720みたいな人間はどんな言語やっても問題ないと思われ。
しかし「問題ない」と言っている言語間の移行がスムーズに
行かない人間の方が遥かに多い。
個人的にはBASIC的な文法を持つ言語は消え去るべき、と
思っていて初学者にも最初からRubyやLispを習わせたい。
0724デフォルトの名無しさんNGNG
言語の発生した順で習うのが自然。



0725デフォルトの名無しさんNGNG
>>724
じゃあLispを最初に習うべきだな。
HSPは最後で良い。
(そして、その頃には習う気になれない。)
0726デフォルトの名無しさんNGNG
>HSP
……VB? 構成要素の直交性上げるの大変そうだな……
3つ以上同時に考えられないジジイには無理です。使えません……

0727デフォルトの名無しさんNGNG
Rubyて「盆栽」ぽい気がするのは俺だけ?

Oh! Japanese "BONSAI "Programming Language
 

0728デフォルトの名無しさんNGNG
>727
比較的保守的だからじゃないの?
0729デフォルトの名無しさんNGNG
1,2年前のruby-devのメールだと思うのですが、akr さんが kosako さんに 「Java(C#?) にある hoge を
実装してもらえると、foo(忘れた) というのが一発でかけるようになる」と願望をだして実装されたと思うの
ですが、その番号を教えてもらえますか?

依頼のときに akr さんが書いた長くてカッコいい正規表現がすごく印象に残っているので。
0730デフォルトの名無しさんNGNG
20307?
0731デフォルトの名無しさんNGNG
37564?
0732デフォルトの名無しさんNGNG
>>730-731
どうも。
自分のダメダメな記憶をたどると、>>730 さんのスレッドで始まる次のレスのようです。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/20313

当時の自分は「キタ━━━━━━(゚∀゚)━━━━━━━!!!!!」 って感じでシビれたんですが、
今改めてみると、脳内イメージよりずっと短くてシンプルです。
(それでも十分に複雑ですが、、、)

調べていただいて、どうもありがとうございました。
0733デフォルトの名無しさんNGNG
Iconv と Uconv ってどう違うんですか?
0734デフォルトの名無しさんNGNG
Iconv は ICONV(3) のラッパ、いろんな文字コードに対応してるけど、実装は OS によりまちまち。
Uconv は UTF-8/16 と Shift_JIS、euc-jp 間の変換に特化。
0735デフォルトの名無しさんNGNG
最近このスレにHSPとかいう単語が俺のregexpな目に多量にマッチするんだが、
ツクール厨のこおばしい匂いがププーーンと・・・・
0736デフォルトの名無しさんNGNG
ruby を使った cgi で、MySQL とか PostgreSQL などのDBソフトが使えないサーバーで、
簡単なデータベース処理をしたい場合はどうすればいいんでしょうか?

perl と同様にテキストデータベースになると思うんですが、
ruby には DBM というモジュールがあるようですが、
これを使うのが一般的でしょうか?
ttp://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=DBM

ruby で簡易DBを使った cgi を解説したサイトをググってみたんですが、
見つからないので質問します。

ruby はスタンドアロンでテキスト処理用のスクリプトは結構書くんですが、
cgi はなにぶん初めてなものでよろしくお願いします。
0737デフォルトの名無しさんNGNG
>>736
pstoreとか。
0738デフォルトの名無しさんNGNG
>>736
sqlite とか
0739デフォルトの名無しさんNGNG
>>736
SDBMとかは? リファレンスマニュアルにも「外部ライブラリに依存しない」
と書いてあるし。
gdbmが入ってるならGDBMでも可かと。
0740デフォルトの名無しさんNGNG
>>735
先にHSPに喧嘩売ったのはmatzなんだから多少スレが荒れても信者は我慢しなさい。
しかしmatzもオープンソースじゃない実用言語が嫌いだからって
いちいち思い込みで批判して周る必要もないと思うんだが。
C以外の実用言語の現実的な知識(まあ文法くらいはチェックしてるにしても)は皆無なんだからさ。
0741デフォルトの名無しさんNGNG
まぁHSPはウンコだけどな。

つうか、HSP信者はすごいな。
お前HSP以外の実用言語の現実的な知識(多分文法すらも)は皆無なんだろ?
0742デフォルトの名無しさんNGNG
>>740
> C以外の実用言語の現実的な知識は皆無
matzがcmailのメンテナだったこととか知らんのか?
0743デフォルトの名無しさんNGNG
こいつどう思う?
http://www2s.biglobe.ne.jp/~akjr/glossary.html
0744デフォルトの名無しさんNGNG
>>743
知ってる(使える)言語が少ないのに、言語の比較をやっている時点で、(ry
0745デフォルトの名無しさんNGNG
>>743
仕事で使うんじゃないなら
言語なんて好みの問題だからご勝手にというところです。
0746デフォルトの名無しさんNGNG
>>743
Perl使いやMac使いに恥ずかしい思いさせるんじゃないよ
って感じかな
0747>>720-721NGNG
>722
巣?私が唯一常駐しているのは、このRubyスレなんですが…。
何か勘違いしてませんか。
とにかくHSP楽しいですよ。
他人の意見にいちいち影響されて付和雷同しているようでは
島国根性から一生抜け出せませんよ。

>723
私も、初学者にはJavaかRuby、もしくはC#をすすめたいですね。
0748デフォルトの名無しさんNGNG
HSP が流行っているのは言語の出来不出来とはなんら関係なくて、
ゲームを作りたいワナビー層にというニッチに適した言語仕様と
コミュニティを形成できたおかげだと思う。
0749デフォルトの名無しさんNGNG
Windows版でインストーラがあればも少し敷居が低くなると思うよ
0750デフォルトの名無しさんNGNG
Cygwin版のならインストーラあるよ〜。
http://www.cygwin.com/
0751デフォルトの名無しさんNGNG
Cygwin入れるほうが大変だわ。
0752デフォルトの名無しさんNGNG
One-Click Ruby Installer
http://rubyinstaller.rubyforge.org/wiki/wiki.pl
0753デフォルトの名無しさんNGNG
てか、Cygwinとか入れたくないわけよ。
0754デフォルトの名無しさんNGNG
読めないしな
0755デフォルトの名無しさんNGNG
>>752
公式で配れるようになったら認めてやる
0756デフォルトの名無しさんNGNG
>>755
リンク貼ってあるからいいじゃん。
0757デフォルトの名無しさんNGNG
>>756
ごめん、リンク見つけられねえ
0758デフォルトの名無しさんNGNG
>749
mswin版ならインストール不要です。
展開して$(Ruby.exeのあるパス)/ruby.exeで呼び出すだけ。
ruby 〜〜で呼び出したければPath通す必要あるけどね。
0759デフォルトの名無しさんNGNG
>748
まぁ、言語の出来不出来となんら関係ないなんて
よくそんな失礼なことを言えますね。
あなたがHSPを触ったことのないか、
もしくはHSPを全然知らない証拠ですよ。
でもコミュニティが発達していることが人気の一因
という点は当たってますね。
もしかしたらプログラマさんじゃくて、ライターさんなのかな?
0760デフォルトの名無しさんNGNG
ごめん、上げちゃった。

そういや、mswin版のwebrickでcgiって使えないの?
お手軽wikiを作ろうかと思っているんだけど、cgi動かない……
0761デフォルトの名無しさんNGNG
matzがWindowsに明るくないらしいから普及拡大もこれ以上は無理だな
結局Ruby作って何がしたいのかね
0762デフォルトの名無しさんNGNG
打倒Perlでしょ
0763デフォルトの名無しさんNGNG
>>758
自分だけで使う分には問題ないんですけどね。
スクリプトを周りにも使ってもらうためには、
パスを通してもらうだけでも敷居になってしまうのですよ。
0764デフォルトの名無しさんNGNG
何か俺でも言語作れそうかもって気分にはなったよ。RHG とか。
0765736NGNG
>>737-739
pstore,sqlite,SDBM ですね。
いづれも初めて聞く名称ばかりなので^^;
これからググってみます。

レスありがとうございました。
0766デフォルトの名無しさんNGNG
NDBMも!
0767758NGNG
>763
バッチファイルを実行してもらう & mswinの環境ごと配る で何とかなるかな……
十数MBを配るのも大変だけどね……



0768デフォルトの名無しさんNGNG
>764
言語設計は汎用性求めなければそんなに難しくないよ。
まずはアプリの設定ファイルから初めてみ。
0769デフォルトの名無しさんNGNG
遠足のおにぎりに電気釜と発電機持っていくみたいだ。
0770デフォルトの名無しさんNGNG
>>767
win32環境相手にrubyで作ったスクリプト配りたいだけなら、exerbでいいじゃん。
0771デフォルトの名無しさんNGNG
>>759
hello world ボタン出すくらいのプログラム作る程度には使ったことあるよ。
748 で言ったのは syntax-semantics のレベルの話。
ビルドインのグラフィック/GUI周りの機能がある程度揃っているとか
プラグインで拡張できるとかの feature の部分はまた別。
0772デフォルトの名無しさんNGNG
>>761
Windows 以外での普及と、開発者の秘密兵器提供。
0773デフォルトの名無しさんNGNG
インストールディレクトリに合わせてパスを通して、拡張子を関連付け
してくれるだけでいいんだけどな。
0774デフォルトの名無しさんNGNG
>>772
いまどきWIndows無視できんだろ
0775デフォルトの名無しさんNGNG
つまりRubyじゃそんなこともできないわけだ・・・
0776デフォルトの名無しさんNGNG
>>773
One Click Installer

>>774
任せた。
0777デフォルトの名無しさんNGNG
ActiveScriptRubyなら、
拡張子の関連付けとかインストール時にやってくれるんだけどね。
RubyはWebのドキュメントが微妙にヘボいのも気になる、
リファレンスもっと見やすくなら無いかな、Pythonのみたいだと良いんだけど。
0778デフォルトの名無しさんNGNG
つまりやる気あるのかと
0779デフォルトの名無しさんNGNG
>771
う〜んやっぱりあなたはあんまりHSP触ったことないんですね。
とくにHSPでゲームを作ったことがないとなると
HSPの本当の価値はわからないと思いますよ。
どの程度のパフォーマンスが実現できるかにも目を向けてくださいね。
VBよりも実行が速いとか、画像を簡単に扱えるとか、
そういうことが大切なんです。
シンタックスだのセマンティクスだの言わなくても
あなたが立派な勉強家であることは
わかりましたから、寝言で英単語を並べるのは
かんべんしてくださいナ*chuckle*
0780デフォルトの名無しさんNGNG
>>779
言語として興味がわかない
じゃ、ダメ?
0781デフォルトの名無しさんNGNG
駄目だと思う。
初心者相手だと言語への興味とか関係ないし。
ほしい機能が手っ取り早く実現できるか否かが、やはり問題。
0782デフォルトの名無しさんNGNG
>780
そろそろスレ違いでしょうから恐々謹言で終わりにしておきますね。
学んで思わざれば罔し。
思うて学ばざれば殆し。
あなたの場合は、話しているうちに論点がずれていってしまうのも問題です…。

>781
賛成。
0783デフォルトの名無しさんNGNG
Rubyスレの住人がそれを求めてるとも思えんが
0784デフォルトの名無しさんNGNG
>>779
昔 ベーマガのコードを打ち込んでた口だけど、
HSP のコード見て今さらあのころの気分に戻りたくないなと。
サーバサイドのプログラミングが主でゲームは作らないし。
HSP で Web サーバが簡単に書けたら使ってもいいよ。
0785780NGNG
>>782
わりぃ、通りすがりで余計なちゃちゃ入れちゃった。
おれ別人だから。
0786デフォルトの名無しさんNGNG
>779
こうやってフレームになっていくわけですな。

>VBよりも実行が速いとか、画像を簡単に扱えるとか、
>そういうことが大切なんです。

まあ、いいんじゃない? オレだったら素直に C / C++ 使うけど。
……C++ かな、やっぱ。

ところで、HSPではクラスてどうやって定義するの?
HSP解説ページみても関数までしか書いてないし……
0787デフォルトの名無しさんNGNG
いつから言語比較スレになったんでしょうか。
昔Ruby厨というのが涌いたことがありましたが
そのサガというかRubyという存在が好きで自信たっぷりなんですよね。
わかりますよ…。

>784
サーバサイドのプログラミング=Webサーバを書く、という認識でいいなら
HSPで書かれたWebサーバは既にどなたかが作られてましたよ。
それを再生産したいのなら、どうぞHSPでご自分でコーディングしてください。
ただ、さすがにRubyの方が簡単に書けるでしょうし、
私だったら賢くRubyを使うでしょうね。

>785
そうですか…
0788デフォルトの名無しさんNGNG
HSPの質問なら、公式ページへどうぞ…。
http://www.onionsoft.net/hsp/
ついでにHSPの発展にご協力ください。
私から言えるのはこれで以上です。
長々と失礼しました。
よく知らずに周りに同調してHSPをさげすんじゃダメだよ。
0789デフォルトの名無しさんNGNG
C++とHSPじゃウィンドウ表示する労力が全然違うよ。
敷居を下げる話をしてるんじゃなかったのか?
0790デフォルトの名無しさんNGNG
なぜRubyとHSP??
不思議な展開だ…
0791デフォルトの名無しさんNGNG
>>788
だから興味ねぇんだって
0792デフォルトの名無しさんNGNG
>>787
ゲーム作るなら HSP なりを使うことは否定しないよ。
Ruby でゲームを作ろうと思わないしね。
俺なら C++ か Delphi 使うけど。
言いたいのは HSP の構文は読む気しないってことだけだよ。
0793デフォルトの名無しさんNGNG
なぜRubyとHSPかって言うと、
matzがいつもの病気でHSPに噛み付いたからなんだよ。
0794786NGNG
>788
使う気もないのにこんな質問したらケンカになるだろ。解ってないなぁ

>789
wxWidgetがあるから問題ないよ。
他にもいいフレームワークあるしね。

>793
matzに直接言って欲しいよねぇ。こんなところでクダ巻かずに
0795デフォルトの名無しさんNGNG
いや、私はいつものようにRubyスレをのぞきにきて
「HSPのことをよく知らずに批判している」人がいたから
それは違うんじゃないですか、って言っただけですよ。
matzのことなんて知りませんよ。
HSPを使う気のない人、HSPちょっと使っただけでわかった気になっている人、
英単語を使いたいだけの人、Rubyを自慢したい人、
適材適所でいいじゃないかという意見の人、ROMの人、
いろんな人がいるのも承知してます。

でもmatzがHSPについて何を言ったか、知りたい気はしませんね…
なんだか後が怖いから(汗)
0796デフォルトの名無しさんNGNG
てか、誰が誰だか和漢ねーYo
0797デフォルトの名無しさんNGNG
>796
おにたまの弁護士 VS matzの弁護士かな?
0798786NGNG
>795
批判しているひとはHSPの字面を批判しているんだけどね。
HSPがパワフルだろうことも想像つくし、ゲーム作成にフォーカスしていることも判るけど、
そこじゃなくてあくまで字面(と構文/言語としての機能)。

>792
>言いたいのは HSP の構文は読む気しないってことだけだよ。
つうのがそのまんまですな。
0799722NGNG
>>747
勝ってに付和雷同だの島国根性だの決めつけるなっつーの、腹立つなぁ。
なんだよ、荒れないようにフォローしてやったつもりだったのに、荒らしに来てたのかよ。
かなり香ばしいので、それ以上喋らん方が良いぞアンタ。
0800デフォルトの名無しさんNGNG
ご心配なく。普段からこのスレで
自分の好きな時に喋ってますから。
0801786NGNG
>800
……もう、何て言うか……

とりあえず、「君子は和して同ぜず。小人は同じて和せず」と言っておこうかな
いちいちツンツンすんなよ。そんなこと書く前にHSPについての疑問(クラスの作り方とか)
について教えてくれ。HSPとRubyの比較だったら付き合うからさ。
#ナイフとハサミ比較しているような感じもするけど……
0802デフォルトの名無しさんNGNG
>>801
http://www.onionsoft.net/hsp/
0803デフォルトの名無しさんNGNG
真性が沸いてるスレはここですか?
0804デフォルトの名無しさんNGNG
なんかHSPスレから真性キチガイ厨房が脱走したみたいで
Rubyスレにご迷惑をおかけしてしまいました。
0805デフォルトの名無しさんNGNG
>>801
プロトタイプベースだからクラスはないらしい
0806デフォルトの名無しさんNGNG
ヤフオクの出品リストを取得して、ある条件のものだけを抜き出すといった作業を
行いたいのですがRubyで出来ますでしょうか?
0807デフォルトの名無しさんNGNG
>>806
単に HTTP で GET するだけなら。
require 'open-uri'
html=open("http://foo.bar/baz.html"){|io| io.read}
0808デフォルトの名無しさんNGNG
VBスレでC++を布教したり、C++スレでJavaを布教するようなもんだな。
HSP信者ってこんなに馬鹿だったのか。
0809デフォルトの名無しさんNGNG
>>808
逆じゃないの?
C++すれでVB
0810デフォルトの名無しさんNGNG
>>809
住人の傾向が違う点だけだからどっちでもいいよ
0811デフォルトの名無しさんNGNG
このスレではHSPの話題を出すと大漁になる事がわかった
0812デフォルトの名無しさんNGNG
>>811
C++やJavaスレでも同じだろ。
0813786NGNG
>805
へえ、(Rubyでいうところの) 特異クラス作ってCloneですか。
これって、設計と実行がごたまぜになるからむずかしいんだよね。便利だけど

……でも、"Hot Soup Processor プロトタイプ"で検索かけても何も出てこない……
0814デフォルトの名無しさんNGNG
>>790
あそこでmatzがHSPに喧嘩を売ったからでは。
0815デフォルトの名無しさんNGNG
外部に呼び出したコマンドの標準入力にデータを渡すにはどうしたらいい?

できればバッチファイルの類は使いたくないんだけど…
0816デフォルトの名無しさんNGNG
Open3.popen3使ってる。
レシピブック見ると、他の方法も載ってるなぁ。
0817デフォルトの名無しさんNGNG
`echo #{yourText} | yourcmd`
0818デフォルトの名無しさんNGNG
>>811
マイナー言語愛好家の成功言語に対する嫉妬と
無根拠なプライドがそうさせるのだろう。
0819デフォルトの名無しさんNGNG
>>814
あそこってどこ?
0820815NGNG
thx.

>>816
Win版だとforkがないってエラーになってしまうようです。
一応パッチがあるようですがそれでは標準のインタプリタで動かないスクリプトになってしまいますし…

>>817
おぉ!と思ったのですけどよくよく考えたら渡したいデータがマルチラインでした…
バッチファイルでも無理でした…○| ̄|_
0821デフォルトの名無しさんNGNG
165 名前:デフォルトの名無しさん[sage] 投稿日:04/09/02 22:52
お前らRuby作者が喧嘩売ってますよ
http://www.rubyist.net/~matz/20040827.html
>いくつかの応募作品は、HSP - Hot Soup Processorで書かれていた。
>これのソースを読むのはつらすぎ。ソースコードを読む審査員に負荷をかけるぶん、
>ちょっと不利かも。 30年前ならともかく、もう21世紀なのにこの言語はないだろう。
0822デフォルトの名無しさんNGNG
>>815
単純に

open("|cmd")

じゃ駄目なの?
0823デフォルトの名無しさんNGNG
>>821
どっちかというとプロコンの審査方法の方が気になる…
>審査員自身は応募されたプログラムを自分で操作する時間はない。
なんだそりゃ…
0824815NGNG
>>822
thx. open("|cmd")でできました。
0825デフォルトの名無しさんNGNG
class C; end

module M
 class C; end
 # ここで外側の C を参照するにはどうしたらいいですか?
end
0826デフォルトの名無しさんNGNG
>>825
::C とか?
0827デフォルトの名無しさんNGNG
ありがとうございます。
::C.new でできました。
0828デフォルトの名無しさんNGNG
Rubyは日本語で書かれたテキストを処理することは出来ますか?
Perlと比べてどっちがいいでしょうか?
0829デフォルトの名無しさんNGNG
できる
Perl
0830デフォルトの名無しさんNGNG
tDiaryの日付単位のページのURLは、?date=20040906 のようなものになりますが、
これを 20040906.html のように見せるやり方の説明がどこかにあったはずですけど
わすれてしまいました。知っている方がいれば教えてください。
0831デフォルトの名無しさんNGNG
>逆に言うと、Windows環境でお金をかけずにプログラミングしようと思ったら、 こういう言語しかないのだろうか。

そう思うんだったら、Windows対応を強化して
お願い
0832デフォルトの名無しさんNGNG
>>829
828じゃないけどPerlの方が良い理由って?
0833デフォルトの名無しさんNGNG
>> 830
Apache の mod_rewrite 使う、または squeeze.rb を使う
0834デフォルトの名無しさんNGNG
>>813
国際的プログラミング言語だから、
"Hot Soup Processor" "prototype-based"
で検索しないと、ろくなドキュメントにヒットしないよ

あと次期メジャーバージョンでは、本物のクロージャが
使えるようになるらしい
0835デフォルトの名無しさんNGNG
>>821
Rubyの作者はPythonのコミュニティにもさんざん喧嘩を売ってきたし、もううんざり
0836デフォルトの名無しさんNGNG
まああれですよ、当時のPythonは若干アレだったしね。
今は結構いいらしいじゃない。
リソースの多さではPerlを抜きつつあるんじゃないかな。
0837デフォルトの名無しさんNGNG
話題になってるんでHSPのソース見てみた。

Z80とかのアセンブリ言語のソース見てるみたいだった。

goto ばっかり。
0838デフォルトの名無しさんNGNG
巨人:Perl
阪神:Python
ダイエー:Ruby
0839デフォルトの名無しさんNGNG
>>838
HSPは?
0840786NGNG
>834
ググッてもyahoo叫んでも何も帰ってこなかったぞ ヽ(`Д´)ノ
0841デフォルトの名無しさんNGNG
>>833
いや、親切に説明したページがあったはずなんです。tDiaryにも何かのプラグインを
いれるはずだったし。そのページをご存知の方はいらっしゃらないでしょうか。

ところでtDiary関連の質問ってこのスレでよいですか?
0842デフォルトの名無しさんNGNG
オレが聞いた話だと、HSPは構造体も浮動小数点数も使えないらしいが。

そんな言語でよくゲーム作れるな。
Cで作るよりメンドクサイじゃねーかよ。
0843デフォルトの名無しさんNGNG
tDiaryスレッド その1
http://pc5.2ch.net/test/read.cgi/php/1078342424/
0844デフォルトの名無しさんNGNG
だって C で作ったらウィンドウを出すまでが一苦労だし
(開発環境構築を含む)
0845デフォルトの名無しさんNGNG
HSPの話は板違い
0846デフォルトの名無しさんNGNG
苦情はmatz宛てにどうぞ
0847デフォルトの名無しさんNGNG
ここでHSPの話ばかりするのも場違いだが、
DOSのバッチファイルの拡張と思えばHSPもそんなに変だとは思わない。
でもRubyと同じ土俵で語るのはおかしいよね。
適当に棲み分けておけばいいのに、なんで衝突するかなあ。
0848デフォルトの名無しさんNGNG
何でHSPの話題が出てるのか分からんのだが…
そもそも使う分野が違うと思うのだが…
0849デフォルトの名無しさんNGNG
疑問はmatz宛てにどうぞ
0850786NGNG
>821
残念だが、matzのコメントは適切だと思う……

特に

> ちゃんと構造化したプログラムが書けるのかもしれないけど、
) 言語仕様として推奨はしていない感じ。
> チュートリアルでもいきなりフラグとgotoを解説してるし。

というのは今回の件で痛感した……
0851デフォルトの名無しさんNGNG
>>843
サンキューです。
そちらのスレで聞いてきます。
0852デフォルトの名無しさんNGNG
場違いでもなんでもいいからHSPの話をしたくてしたくてたまらないんじゃないの
0853デフォルトの名無しさんNGNG
matzとかいうやつの言及は至極真っ当なもんだろ。
HSP使ってる人はHSPの言語仕様の酷さなんて理解して使ってるのに、
それを理解してないHSP製ソフトユーザが必死になってるだけでしょ。
0854デフォルトの名無しさんNGNG
不思議なのはなぜこんなに釣れるのかということだな。

さらに不思議なのはなぜコンテストにRuby製が0だったのかということだ。
いや別に大して不思議じゃないんだけどねw
0855デフォルトの名無しさんNGNG
HSPって言語仕様酷いのか?
使ってて特に問題無いが…

スレ違いだからどうでもいいけど。
0856デフォルトの名無しさんNGNG
>>854=HSPの話したくてたまらないヤツ
0857デフォルトの名無しさんNGNG
HSP落として、sample/demo/demo.asっての読んで見たが、これ酷すぎ。
matzは正しい。
0858デフォルトの名無しさんNGNG
HSPでテキスト処理出来ますか?
0859デフォルトの名無しさんNGNG
>HSP
RubyにくらべGUI周りは強いけどデータ処理が糞。テキスト・バイナリ処理なんてやってらんない。
情報処理に関してはある意味N88以下かもしれない。

俺の場合
N88互換:糞遅い→C/C++:ちょっと使うのにめんどくさい→HSP:機能貧弱→Perl:ソースが読みにくい→Ruby:( ゚Д゚)ウマー

>>844
SDL使えば楽。
0860デフォルトの名無しさんNGNG
HSPは簡単なアプリ・ゲーム用と思えばいいじゃない。
0861デフォルトの名無しさんNGNG
大工の"ヒロシ"の嘆き。

ヒロシです。
最近、憲法論議が盛んなので、憲法について詳しくなるにはどうしたらいいのか、
知り合いの司法書士に聞きにいきました。
すると
「法律について根本的に理解するために、まずは、民法、商法、刑法の本を読んでください」
と言われました。
ヒロシです。
ダルファのサックス ア ゴーゴーを吹きたいので、近所の楽器屋へサックスを習いに行きました。
すると
「ジャズを根本的に理解するために、ナベサダのジャズワークショップを買ってください」
と言われました。
ヒロシです。
ゲームを作りたいので、どんなプログラミング言語を学んだらいいのか
近所の大学の先生に聞きにいきました。
すると
「プログラミングを根本的に理解するために、"計算機プログラムの構造と解釈" を学びなさい」
と言われました。

過剰教育。今、必要としていることとズレている。
専門家用教育の第一過程じゃあるまいし。
オレは、残念ながら HSP を薦めてしまう。
0862デフォルトの名無しさんNGNG
(1)美容師の千夏ちゃんがやってきた。
「お店の混雑状況を表示したい」
(2)酒屋の正文くんがやってきた。
「Web で、注文を受けたいんですけど」

彼ら自身でプログラミングできて、ライブラリの更新もできること。
ドキュメントが手に入りやすいこと。本が沢山発売されていること。
動作可能なサーバーが沢山あること。
彼らは、自分のサーバーを立てている人じゃありません。
HTML は書けるが、プログラミングは初めて。

オレは、残念ながら PHP か Perl を薦めてしまう。
Ruby は薦められない。
0863デフォルトの名無しさんNGNG
なんかHSP叩いてるのが同一人物に見えてきた今日この頃
0864デフォルトの名無しさんNGNG
>>821
>ちょっと不利かも。 30年前ならともかく、もう21世紀なのにこの言語はないだろう。
まつもと氏は誤解しているな。
アセンブリ, COBOL, BASIC, HSP のような言語は、未来永劫求められるよ。
無くなることは、ありえない。

# マルキストだった頃のオレは「将来、宗教は無くなる」と思っていた。
# あと、「民族も無くなる」と思っていた。
# 今は、大間違いだったと反省している。
# 宗教も民族も非構造化言語も再生産されている。
0865デフォルトの名無しさんNGNG
幼いころ字が書けるようになり鉛筆かシャープで言い争った。
もちのん書く文章になんて少しも関心なし。
                          
0866デフォルトの名無しさんNGNG
結論: 達観気取りのやつが一番うざい
0867デフォルトの名無しさんNGNG
なんかHSPスレから真性キチガイ厨房が脱走したみたいで
Rubyスレにご迷惑をおかけしてしまいました。
0868デフォルトの名無しさんNGNG
Pythonとの比較の時もそうだったし、Rubyの普及を考えるなら、
いい加減matzはあの手の発言を控えるべきたと思うんだがなぁ・・・。
Rubyの興味を喚起する可能性より敵増やす可能性の方が多いよ、あの態度じゃ。
0869デフォルトの名無しさんNGNG
スクリプトなんて所詮使い捨てなんだから
OOだの字面の良し悪しなんて本質的な要素じゃないんだよ。
rubyが流行らないのは出だしの方向性を誤ったから。

だけどmatzは趣味でやってるから流行るかどうかは関係のない話。
他言語叩きも同様に趣味だから外野はごちゃごちゃいうなと。
0870デフォルトの名無しさんNGNG
RubyでGUIを実現できそうな物ってSDL以外にどんなのがある?
vrubyはWin専用だし…
できればマルチプラットフォームで、ライブラリがあまりでかくない物を
0871デフォルトの名無しさんNGNG
wxRuby?
0872デフォルトの名無しさんNGNG
>>869
客先の基幹業務で稼動してたりします...。
(webrick+druby+eruby)

>>870
少し前に話題に出てたVisualWxはどうでしょう?
試してないんで容量などを知らずに書いてますが。
GUIにwebブラウザを使ってよければwebrickという手も。
0873デフォルトの名無しさんNGNG
>>870
FOX
0874デフォルトの名無しさんNGNG
Ruby/Tkはもう論外ですか?貧弱すぎですか?(´・ω・`)
0875デフォルトの名無しさんNGNG
今までずっとやったことがなくて...

あるテキストファイルでRubyの機能を活用して文字列の置換(一般に、編集)をしたいとき
そしてワンライナーじゃ済まないとき( -i.bak は知ってます)
同一ファイルに変更を適用するにはどうするのが定石なんでしょう。

知ってる対処法:
1. 'r' でopenして一括して文字列の配列に読み込んでclose後に編集し
  'w' で同じファイルを再openして書き出す
  (メモリを食う? 書き出す途中で止まったら内容が失われる?)
2. 別ファイルに書き出してリネーム
  (一時ファイルの名前をどうする? 途中で止まったら変なファイルが残る?)
3. ファイルポインタがどうのrewindがどうの(難しそうなので避けたい)
4. ???
0876デフォルトの名無しさんNGNG
>>875
2の用途には Tempfile があるからこれを使う。

4.
#!/usr/local/bin/ruby -ni.bak
としてスクリプトを書く。

5.
もしくは、スクリプト自体にはそういう機能は持たせずに inplace(1) を併用
する。
http://www.akinori.org/#inplace
http://www.iDaemons.org/projects/inplace/
0877デフォルトの名無しさんNGNG
>>875
1でいいと思う。
内容が失われて困るものなど無い。
0878デフォルトの名無しさんNGNG
>>870
何でもできると豪語していていざやろうとすると
半端ライブラリの海で溺死する言語。それがRuby。
0879デフォルトの名無しさんNGNG
>>878
半端じゃないライブラリのあるM$のC++でも溺死するよ。
0880デフォルトの名無しさんNGNG
>>878
根拠を提示してください。
まぁ、お前にゃ無理だろーが。
0881デフォルトの名無しさんNGNG
>>878
何にでも、かどうかはともかく、広い範囲の用途に利用できるのは確かですよ。
ライブラリが半端ということなら、それを補完するなどして他の人を救いましょ。
自分専用のライブラリであっても、手直しすれば汎用的かもしれないし。
どうせなら文句言うより頭と手を動かす方が楽しいですよぉ。
0882名無しさん@EmacsNGNG
釣れてるなーおまいら
0883デフォルトの名無しさんNGNG
痛いとこ突かれまくってるからね
0884デフォルトの名無しさんNGNG
それにしても、2ちゃんって、
アンチ××のくせに××のスレ見に来る人多いよね。
(このスレで言えば、アンチRubyのくせにRubyスレ見に来る人)

・・・・素直になれよ。
0885デフォルトの名無しさんNGNG
なんかHSPスレから真性キチガイ厨房が脱走したみたいで
Rubyスレにご迷惑をおかけしてしまいました。
0886デフォルトの名無しさんNGNG
>なんかHSPスレから真性キ○ガ×厨房が脱走したみたいで
>Rubyスレにご迷惑をおかけしてしまいました。

放送禁止用語があったことを訂正してお詫びします。
0887デフォルトの名無しさんNGNG
>>870
TKを忘れてるぞ
0888736NGNG
pstore,sqlite,SDBM,NDBM なんですが、pstore 以外は
ぐぐっても使い方がよくわからなかったので、pstore
で行くことにしました。

やりたいことは、地元野球チームの選手管理システムを作ることです。

1.大会前にチーム代表は選手の名簿を入力し参加申し込みをする。
2.入力の手間を省くために、データは保存しておいて、次回の大会からは前回のデータを使えるようにする。
機能は基本的にはこれだけです。

1.チーム代表は自分のチームのデータの閲覧と編集ができる。
2.管理者はすべてのチームのデータの閲覧と編集ができる。
3.管理者は1名。チーム数は最大100。
4.1チームのメンバー数は最低9。最大30。
という制約があります。

この状況で、PStore のデータは
1.チームの一覧を入れるファイル(全体でひとつだけ)
2.各チームのメンバ除法をいえるファイル(チームごとにひとつ)
と複数にわけるべきでしょうか?

同時アクセスの問題を考えるとわけたほうがいいようにも思えるし、
でも全部のデータをひとつにして問題ないなら、そのほうがプログラムが簡単なんで
どうしようかなと悩んでます。

長文スマソ。
0889デフォルトの名無しさんNGNG
>>886
グッジョブ。
0890デフォルトの名無しさんNGNG
俺の大好きなRubyスレが盛り上がってるかと思ったら・・・。

記念カキコ
0891デフォルトの名無しさんNGNG
Zsh, Scheme, Ruby は、マニア言語。
相手にしてはいけません。
Sh/Csh, Lisp, Perl の天下は続く。
0892デフォルトの名無しさんNGNG
それ以前にLinuxの開発者不足は深刻だなw
http://pc5.2ch.net/test/read.cgi/linux/1094205751/
0893デフォルトの名無しさんNGNG
>>891
アンチRubyならRubyスレに粘着してんなよ・・・・と。
さみしい香具師だな。
0894デフォルトの名無しさんNGNG
>>888
全てのデータを一つのPStoreファイルに収めるということは、
言い換えれば全てのデータのアクセスに対して
(PStoreによる)単一の排他処理を行えるので、
それを利点だと考えれば一つのPStoreファイルにしても良いかも。

扱うデータの数が増えてきて、PStoreファイルの読み込み時間が
気になるようなら、予めいくつかに分割した方が扱いやすい。
各々のPStoreインスタンスに対する排他処理を気にして作れば問題ないと思う。
(個々のPStore同士の同期が取れているかどうか、とか)
0895デフォルトの名無しさんNGNG
>>892
人間は、口だけの人間と、何も言わずに作る人間とに別れる。
0896デフォルトの名無しさんNGNG
HSPのほうがまだマシ
0897デフォルトの名無しさんNGNG
すまん、HSPは眼中にない。
0898デフォルトの名無しさんNGNG
コンパイル済みのOggVirbisのサポートライブラリってどっかにある?
Debianにあるのを自分でコンパイルしようとしたけどMinGWだけでは無理っぽい…○| ̄|_
0899デフォルトの名無しさんNGNG
foo << 'hoge'
とやるとnkfを通して対象の文字コードを標準出力に吐き出すオブジェクトfooを
作りたいんだけど、どんな感じで定義したらいい?
0900デフォルトの名無しさんNGNG
>>899
require "nkf"

class Foo
def <<(arg)
STDOUT.print NKF::nkf("", NKF::guess(arg).to_s)
end
end

foo = Foo::new
foo << 'hoge'
0901900NGNG
>>899
すまん、「指定した文字コードで対象を標準出力に吐き出す」、だよな?
こんなのでどう?

require "nkf"

class Foo
@@DefaultNKFOption = "-e"
def initialize(nkf_option = @@DefaultNKFOption, out_port = STDOUT)
@nkf_option, @out_port = nkf_option, out_port
end
def <<(arg)
@out_port.print NKF::nkf(@nkf_option, arg)
self
end
end

foo = Foo::new("-s")
foo << '本日は' << '晴天なり' << "\n"
0902736NGNG
>>894
レスありがとうございます。

単一ファイルであることによる排他処理は特に必要ないのと
やはり読み込み速度に不安が残るので、
複数ファイルで言ってみたいと思います。
ありがとうございました。
0903デフォルトの名無しさんNGNG
配列の中にない最小の数字を知りたいときはどうすればいいんでしょう?

[1,2,4] の時は3
[2,3,5] の時は1
[1,2,3] の時は4

みたいな感じで。
配列内の数字は1万以下で、要素数は不定(要素数0のときもある)
とした場合です。

v=[1,3,4,5]
i=v.min
i.upto(v.max+1){ |i|
 break if v.index(i)==nil
}
p i

ぼくのレベルだと上記のようなコードになるんですけど、
もっと簡潔な書き方があるんじゃないかと思い質問します。
0904デフォルトの名無しさんNGNG
宿題か?
0905デフォルトの名無しさんNGNG
-INF
0906デフォルトの名無しさんNGNG
>903
配列の中にない最小の自然数というのを色々と再定義してみろ。
そのうちいい方法が見付かるハズ
0907899NGNG
>>900-901
ありがとう。
できたんだけど、恥ずかしながらわからないところがあるのでよかったら教えて。
>def initialize(nkf_option = @@DefaultNKFOption, out_port = STDOUT)
引数が2つに見えるけど1つの引数で呼び出してエラーにならない理由

>@nkf_option, @out_port = nkf_option, out_port
何をしているのか?上と関係ありそうだけどコンマの働きがよくわからない…
0908デフォルトの名無しさんNGNG
こんなんでうごくんだったっけか?

[1,3,4,5].sort.uniq.each_with_index{|d|,|i|
if d != i+1 ; p i; break; end
}
0909900NGNG
>>907
前者は、引数をちゃんと指定すればその値、省略すれば右辺の値がデフォルトとしてセットされるの。
上の場合だと、1つ目の引数だけ指定してるから、 2つ目は STDOUT がセットされる。

後者は、コレと大体同じこと。めんどくさいから 1行にまとめて書いちゃったの。
@nkf_option = nkf_option
@out_port = out_port
0910899NGNG
>>909
なるほど!理解できたよ。後者は多重代入か、使わないからさっぱりわからなかったよ…_| ̄|○
勉強になったよ。ありがとう。
0911903NGNG
>>908
「indexと最初に2以上値がずれる要素」っていうのは気づきませんでした。
でも、Ruby だと結局一要素ずつ見ていくしかないみたいですね。

対象となる数字の配列 nn を用意しておいて

for i in 1..10000
nn[i-1]=i
end
(nn-v).min

というのを思いつきましたが、nn 初期化の際に1要素ずつ値をいれてやらなければ
ならないのは同じなので、これも微妙に簡潔じゃないなあと思います。

Pnuts だと、
min(set(list(range(1,10000))-set(v))
と書けるみたいなので(Pnuts は詳しくないですが)、
Ruby もひょっとして簡単な書き方があるかなぁと
思って質問しました。

・・・ないみたいですね orz
0912デフォルトの名無しさんNGNG
>>911
Pnutsが出てくるとは思わなかった(w

正直言って、 each か何かを使う方が普通だと思うが、簡潔な記述という点で
いえば、
((1..10000).to_a - v)[0]
で解は得られるね。たぶんやってることは、そのPnutsのコードと変わらない。
0913デフォルトの名無しさんNGNG
>>909
まったく同じではなく、大体同じってことは、微妙に違うの?
多重代入のほうが遅いとか。
0914デフォルトの名無しさんNGNG
多重代入は一回Arrayを作る。
0915903NGNG
>>912

(1..10000).to_a って書き方ができるんですか。
知りませんでした。 

それと、「each か何かを使う方が普通だと思う」
というのはなぜでしょう?
要素数1万個の配列を作成し、そこから配列の差を
とるので、each にくらべて効率が悪いってことぐらいは
推測できるんですが、もしそれ以外に理由があったら、
よろしかったら教えてください。
0916デフォルトの名無しさんNGNG
普通っていうのは個人的な意見なので、他の人は違うかも。

理由は主に非効率的だからかな。特に配列の差分は(実装がどうなってるかは
よく知らないのですが)すごく効率が悪そうなので、あまり多用したくないの
です。

自分で書くなら、
s = Set.new(v)
c = 1.upto(10000) { |n| break n unless s.include?(n) }
とかかな。うーん、結局 each を使ってないですね……。
0917903NGNG
>>916
レスありがとうございます。
勉強になります。

>s = Set.new(v)
>c = 1.upto(10000) { |n| break n unless s.include?(n) }
これなんですけど、

>c = 1.upto(10000) { |n| break n unless v.include?(n) }
s を作らずに、s のかわりに v を書いても
ちゃんと動くみたいなんですけど、Set を使う理由はなんか別にあるんですか?
0918デフォルトの名無しさんNGNG
s.include?(n) は O(1) だけど
v.include?(n) は O(v.size) だから。

……なのかな?
0919デフォルトの名無しさんNGNG
Array#include? は存在を忘れてました……orz。でも原則としては>>918の通り。

厳密に言うと、 Set を作成するときに v を一回トラバースするので、その時
点で、 O(v.size) のコストが払われるけど、以降の include? は O(1) にな
る。一方で、毎回 v.include?(n) をすると、 S を作成するコストを払う心配
がないけど、 include? で O(v.size) ずつを払わないといけない。余程のこ
とがない限り、前者の方が計算時間は少ない。

ちなみに当初の「eachを使う」というのは、 Set のかわりに Hash を、
include? のかわりに has_key? を想定していました。作成時に each を使う
以外はほとんどコードはかわらないです(やってることもほとんど変わらない)。
0920デフォルトの名無しさんNGNG
TCPSocket.new('hoge', 80) としたときに、hogeがダウンしていると
そこでブロックされてしまうわけですが、この待ち時間を変更することはできますか?
できれば Timeout は使わずに。
0921デフォルトの名無しさんNGNG
>908 はちょい拙い。

[1,3,4,5].sort.uniq.each_with_index{|d,i|
if d != i+1; p i+1; break; end
}

でOK。

配列内の数字が1万超えてるようなものでも処理できるしこっちの方が良いと思う。
0922デフォルトの名無しさんNGNG
>>921
[1,2,3]でやったら4って出なかったよ。
0923921NGNG
>>922
書いた後で気づいた。

v = [1,2,3]
v.sort.uniq!
c = v.last + 1
v.each_with_index{|d,i|
next if d == (i+=1)
c = i
break
}
p c

一応答えは出るが、ちょい長いな。
0924921NGNG
こっちの方が良いかな。

v = [1,2,3]
c = 0
(v.sort.uniq << nil).each{|d| break if d != (c+=1)}
p c
0925デフォルトの名無しさんNGNG
[1,3,4,5].sort.uniq.push(0).each_with_index{|d,i|
if d != i+1; p i+1; break; end
}

という手もある。

0926925NGNG
すまん、924見落としてた。吊ってくる...
0927デフォルトの名無しさんNGNG
s1='X'
s2= "<b>#{s1}</b>"
s1='Y''
p s2

と書くと、s2='<b>X</b>'になるわけなんですが、
これを s2='<b>Y</b>' にしたいんですけど、どういう方法がありますか?

cgi なので、`CMD` が使える eval は使いたくないし、
sprintf だと置き換える項目数が増えた時面倒だし、
s2="<b>%X%</b>";s2.sub(/%X%/,s1)
はなんかベタだし・・・。

`CMD` を解釈しない eval があったら一番いいんですが・・・。
0928デフォルトの名無しさんNGNG
>>903
まず、

v=[1,2,3,5]
p (1..10000).find{|i| !v.include?(i)}

でしょう。
0929デフォルトの名無しさんNGNG
なにがやりたいのか理解できてないのだが、s2はテンプレートとして使いたいのか?
だとしたらテンプレートエンジンを使え。ERbとかいろいろある。
0930デフォルトの名無しさんNGNG
>>927
s1='X'
s2=Proc.new{"<b>#{s1}</b>"}
s2.call # => "<b>X</b>
s1='Y'
s2.call # => "<b>Y</b>"
0931927NGNG
>>930
なるほど。その方法で行ってみます。
thx!
0932デフォルトの名無しさんNGNG
akr 氏や、かつての ZnZ 氏もそうですが、
一体、何をやってたらあんなに不具合をいっぱい見つけられるんでしょうか?
0933デフォルトの名無しさんNGNG
ruby でCGIの作り方を解説しているサイトはいくつか見つけたんですけど、
ruby でユーザー認証の仕方を解説してるサイトを見つけられませんでした。

どっか解説してるサイトあったら教えてくれ〜
0934デフォルトの名無しさんNGNG
>>933
.htaccessとかいう話じゃなくて?
0935デフォルトの名無しさんNGNG
>>933
String#cryptあたりとcookieの組合せでどう?
0936デフォルトの名無しさんNGNG
Rubyist Magazine 創刊号
ttp://jp.rubyist.net/magazine/?0001
0937デフォルトの名無しさんNGNG
>>936
ome
0938デフォルトの名無しさんNGNG
>>936
やっべ講習会の写真に俺が居る
0939デフォルトの名無しさんNGNG
「紅い隕石」って、文体から誰が書いたのかバレバレなんですが(w
0940デフォルトの名無しさんNGNG
誰だかさっぱりわからん。
内輪でわかる人だけわかるなんてことやってないで、名前くらい名乗れ。
0941デフォルトの名無しさんNGNG
2ch の上にまで内輪の慣れ合いを持ち込むあたり、
Ruby コミュニティの狭量さと閉鎖性が如実に反映されていますな。
0942デフォルトの名無しさんNGNG
>>941が狭量なのはよく分かった
0943デフォルトの名無しさんNGNG
open() OR popen()を使って外部コマンド(sort、nkf…etc)へリダイレクトでデータを出力するときにEOFが必要だけど
EOF出すにはどうしたらいい?
0944デフォルトの名無しさんNGNG
>>943

.close
0945943NGNG
>>944
即レスthx.
すまん。コマンドの出力結果を受け取りたいんで.closeしてしまうと.getsができなくなってしまうんだが…
0946デフォルトの名無しさんNGNG
open3 を使えばよい。
詳しくはマニュアルを読んでね
0947943NGNG
>>946
>open3
win32ネイティブなインタプリタでは素のままじゃopen3が動かないんだ…_| ̄|○
配布目的のスクリプトなんで要パッチというのはちょっと難
たびたびスマソ
0948デフォルトの名無しさんNGNG
>>939
greenteaさんかな?(/.Jとは別)
0949933NGNG
>>934
.htaccess じゃなくて、cgi でやりたいんです。
ユーザー自身でパスワード変更できるようにしたいので。

>>935
ぐぐってみたんですけど、全然、解説サイト見つかりませんでした。
困った。

>>936
にあった、nora が使えそうだなぁ・・・と思いつつ、
nora も解説サイト見つからず。ってか本サイトが落ちてるみたいだし・・・orz
困った。
0950デフォルトの名無しさんNGNG
>>949
どの程度の物を求めているのかわからないけど適当なファイルにパスワードをハッシュしたものでも書いておくんじゃダメなのか?
0951933NGNG
>>950
ログイン画面(たとえば、login.cgi)は950がいう感じで全然OKなんだけど、
ログイン後に表示されるcgi(たとえば、usermenu.cgi)でそのユーザーが
ログイン済みかどうか判定する方法が知りたいんですよ。

String#crypt & cookie でできそうだけど、nora にはその機能が
最初からあるっぽいので、nora について調べたいんですが、
ぐぐっても出てこねぇ。。。
0952デフォルトの名無しさんNGNG
>>951
Nora はまだドキュメントないから、本人にきいてみたら?
0953デフォルトの名無しさんNGNG
>>949
PerlでCGI::Session使ってやってるんだが、
RubyのCGI::Sessionでもできるんじゃねぇの?
0954944 againNGNG
>>947

.close_write
0955943NGNG
>>954
できました。感謝。
よくよくマニュアル見たら書いてあるのね…_| ̄|○
0956899NGNG
>>900-901
selfを書くと出力の最後に\nが付いてしまうのだが何か対策ある?
selfを書かないと
foo << '本日は' << '晴天なり' << "\n"
みたいな書き方ができなくなるし…
0957933NGNG
>>953
ありがと〜!!!
それでいけるらしい。
↓(参考URL)
ttp://shugo.net/article/webdb2/

cgi を改良したのが nora らしいので、
nora にも激しく興味あるが情報が密から
ないんじゃしょうがないので、
cgi で逝ってみます。

激しく感謝!
0958デフォルトの名無しさんNGNG
Rubyist Magazine
まつもとさんインタビューの中にamazonアフィリエイトがある時点で萎え
0959900NGNG
>>956
ん?うちでは付かないんだけど、どうやったら付くの?

>>958
MoonWolf さんによる Nora のチュートリアルの連載が始まってますね。
0960デフォルトの名無しさんNGNG
RWiki server seems to be down...
0961899NGNG
>>959
すまん。printじゃなくてputsを使ってしまっていたのが原因だった…
微妙に挙動が違うのね…
0962デフォルトの名無しさんNGNG
>>864
アセンブリ、COBOLのようなものは残る理由があるだろ。

俺もちょっとチュートリアル見てみたけど、すごいね。
もう21世紀なのに〜という指摘に全くもって同意。
0963デフォルトの名無しさんNGNG
予想される検索キーワード: JSP Tutorial
0964デフォルトの名無しさんNGNG
しかし、HSPと一緒にされたらCOBOLも可哀想だ・・
0965デフォルトの名無しさんNGNG
WIN32OLEでMSIEを操作しているんですが、ボタンになっている画像
<input type="image" name="hoge".....>
に対して
@IE.document.FormName.hoge.click
とすると"名前不明です"と表示されてインタプリタが落ちます。対処法はありませんか?
0966デフォルトの名無しさんNGNG
ディレクトリを検索して jpg を見つけたら ImageMagic の convert に渡して
フォーマット変換、というスクリプトを書いたのですが、

system("/usr/bin/convert", filename, filename)

と見つかったファイルの数だけ、convert を呼びだしているので非常に時間が
かかります。convert そのものもわりと時間がかかる処理なのですが、
convert プロセスの開始と終了にも大きな負荷があるように思います。このへ
ん上手く処理する方法はないでしょうか?
0967デフォルトの名無しさんNGNG
>>966
cronで夜中に走らせる。
0968デフォルトの名無しさんNGNG
>966
RMagickという選択肢は如何か。
0969デフォルトの名無しさんNGNG
RMagick といえば、cygwin で動かせた人います?
0970デフォルトの名無しさんNGNG
966 です。
>>968
RMagic はチートモ知りませんでした。ありがとうございます。
これから試してみます。
0971デフォルトの名無しさんNGNG
新スレ立てたよ。
http://pc5.2ch.net/test/read.cgi/tech/1094003200/
0972デフォルトの名無しさんNGNG
>>971
ガッ!
0973デフォルトの名無しさんNGNG
>>971
HSPってPart34までいってんのか。rubyの約4倍・・・(´д`)
何気に、初心者には良い言語なのでは?

と思ってその辺に公開されていたHSPのソースコードみたら、
感動の涙がでた。正直、感動した。
あれは神が使う言語だね。
対象年齢は神だね。
0974デフォルトの名無しさんNGNG
>>973
HSPスレの密度って、Rubyスレの数十分の一だと思う。
0975デフォルトの名無しさんNGNG
スレの数∝言語の良さではない罠
0976デフォルトの名無しさんNGNG
>>973
スレ読んでみなよ。
厨房向け板の雑談スレと中身はおんなじだよ。
0977デフォルトの名無しさんNGNG
次スレたてました。

http://pc5.2ch.net/test/read.cgi/tech/1095004337

適当に関連リンク足してちょうだい
0978デフォルトの名無しさんNGNG
>>977
バーボンだった(´・ω・`)
0979977NGNG
>978

やあ (´・ω・`)
中身入れておいたよ

他に注文あるかい?
0980デフォルトの名無しさんNGNG
もうHSPネタはお腹一杯と思いつつ、漏れもそこら辺にあるソースを見てみた。
ある意味、感動した。
大仰で冗長的な文体を嫌ったのか解らないけど、かなり気色悪いな。なんかオモチャっぽいし。

> 30年前ならともかく、もう21世紀なのにこの言語はないだろう。
この一文に、かなり納得した。

>>977
御苦労様
0981デフォルトの名無しさんNGNG
HSP は難しすぎて俺の脳力では書けそうもないな。
0982デフォルトの名無しさんNGNG
ここ
ttp://www3.kcn.ne.jp/~n-yuichi/hsp.html
とか読んでみたが、思ってたほど汚くはないな。

しかし、今時これかよ!ッて感じはする。
0983デフォルトの名無しさんNGNG
NScripterと同レベル>HSP
0984デフォルトの名無しさんNGNG
オレはYGSを思い出した
0985デフォルトの名無しさんNGNG
ローカル変数と構造体がない言語だと数十行以上のコードは書く気になれない。
つか、最近はライブラリが豊富なオブジェクト指向言語に慣れたから、Cでさえ使うのめんどくさい。
0986デフォルトの名無しさんNGNG
>>985
perl、rubyあたりになれるとCって使うのめんどくさくなるよね。
でも、一番作り終わって達成感があるのはCなんだけど。
0987デフォルトの名無しさんNGNG
>>986
それ、すごーく作るのたいへんってことでの「達成感」?

#地獄がおわった....。自分で自分をほ(略
0988デフォルトの名無しさんNGNG
オナニーともいう
0989デフォルトの名無しさんNGNG
マシン語でも書いてろって感じだな
0990デフォルトの名無しさんNGNG
Matz: Javaについてどう思いますか? (Aarhusでも聞いたけど)

Bjarne: 聞かないでくれ。もしPositiveなことを言えば、そんなので満足してるかって言われるし、
Nagativeなことを言えば波乱が起きるし。 15年くらい前にはObjective-Cの連中といろいろあったし。
言語論争は嫌いだ。
0991デフォルトの名無しさんNGNG
ttp://www13.ocn.ne.jp/~tokuhiro/cl/2004-09-12.html#2004-09-12-6
0992デフォルトの名無しさんNGNG
>>991
># ネタにマジレスはカコワルイとだけ言っておこう。

最後の逃げの一手が最高にカッコワルイとだけ言っておこうw
0993デフォルトの名無しさんNGNG
>990
そう言えば言語の開発者本人同士は割とマターリらしいね。
MatzとLarryが談笑してたり。
0994デフォルトの名無しさんNGNG
>>992
それは逃げなんじゃなくて自分に対して言ってるものなのでは。

意見としては、ようするにドキュメントが薄いということか。そしてそれが改
善される見込もまた薄い。
問題点の指摘としては最も本質的なものだと思うな。
0995デフォルトの名無しさんNGNG
ドキュメントがないものは標準添付しない、とか
0996デフォルトの名無しさんNGNG
ドキュメントが貧弱なのは自サイトの日記へのトラフィック増大を狙ったものだから
単純にドキュメントを書けば解決するといった問題ではないよ。
0997デフォルトの名無しさんNGNG
>996
ではDoSでも仕掛けましょかw
0998デフォルトの名無しさんNGNG
スレに対するサービス拒否アタックまで残り2
0999デフォルトの名無しさんNGNG
↓当スレに対するサービス拒否アタック↓
1000デフォルトの名無しさんNGNG
matz は日記のかわりにドキュメントを書いてほしい
10011001Over 1000Thread
レス数が1000を超えています。これ以上書き込みはできません。