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

Rubyについて Part 15

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

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

= 前スレ
: Rubyについて Part 14
http://pc5.2ch.net/test/read.cgi/tech/1103997158/
0002デフォルトの名無しさん05/02/12 06:59:47
= 過去スレ
: むーんうるふ Part13 【Rubyについて】
http://pc5.2ch.net/test/read.cgi/tech/1100533226/
: Rubyについて Part 12
http://fun.kz/test/read.cgi/tech/1100199861/
: Rubyについて Part 11
http://fun.kz/test/read.cgi/tech/1097984684/
: Rubyについて Part 10
http://fun.kz/test/read.cgi/tech/1095004337/
: Rubyについて Part 9
http://fun.kz/test/read.cgi/tech/1087999575/
: Rubyについて Part 8
http://fun.kz/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://pc5.2ch.net/tech/kako/1063/10630/1063028224.html
: Ruby について Part 4
http://pc5.2ch.net/tech/kako/1056/10569/1056944114.html
: Ruby について Part 3
http://pc5.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
0003デフォルトの名無しさん05/02/12 07:08:58
= 関連リンク
: ruby-doc
http://www.ruby-doc.org/
: リファレンスマニュアル
http://www.ruby-lang.org/ja/man/
: Ruby hotlinks
http://www.rubyist.net/~kazu/samidare/
: 日本Rubyの会
http://jp.rubyist.net/
: Rubyist Magazine
http://jp.rubyist.net/magazine/
: RCRchive
http://www.rcrchive.net/
: RAA - Ruby Application Archive
http://raa.ruby-lang.org/
: RubyForge
http://rubyforge.org/
: Ruby Garden Wiki
http://www.rubygarden.org/ruby
: Matzにっき
http://www.rubyist.net/~matz/
: Matz 日記(linux.com分室)
http://japan.linux.com/~matz/diary/
0004デフォルトの名無しさん05/02/12 07:11:20
= 関連スレ
: Ruby初心者質問スレPart2
http://pc5.2ch.net/test/read.cgi/tech/1107799347/
: 【Ruby】RubyでCGI(WebProg板)
http://pc5.2ch.net/test/read.cgi/php/988948655/
: 【最高言語】 Rubyist Magazine創刊 【ルビま!】
http://pc5.2ch.net/test/read.cgi/tech/1094825807/
: Python厨とRuby厨が仲直りするスレッド
http://pc5.2ch.net/test/read.cgi/tech/1099804004/
: Jython、Groovy、JRuby - どれが一番効率的?
http://pc5.2ch.net/test/read.cgi/tech/1100563765/
: 【因縁の】DelphiVSHSPVSRuby【対決】
http://pc5.2ch.net/test/read.cgi/tech/1101498622/
0005105/02/12 07:17:06
他、テンプレに追加するべきURLはありますか?
0006デフォルトの名無しさん05/02/12 07:25:18
乙です。
0007デフォルトの名無しさん05/02/12 08:44:23
http://www.moonwolf.org/
0008デフォルトの名無しさん05/02/12 09:34:31
おつかれーしょん
0009デフォルトの名無しさん05/02/12 09:58:09
>>5
=関連リンク
Ruby のバグ(勝手に)トラッカー
http://mput.dip.jp/rubybugs/

=関連スレ
RUBYの宿題教えてください。
http://pc5.2ch.net/test/read.cgi/tech/1106572657/
0010デフォルトの名無しさん05/02/12 10:02:23
(>>9の続き)
=Windows版バイナリ
: One-Click Ruby Installer
http://rubyinstaller.rubyforge.org/wiki/wiki.pl
: cygwin, djgpp, mingw
http://ftp.ruby-lang.org/pub/ruby/binaries/
: Ruby-mswin32 (ja)
http://www.garbagecollect.jp/ruby/mswin32/ja/
: ActiveScriptRuby
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/

#今「Microsoft Windows版のビルト環境による違い」を見に行ったら全文削除されていた…
http://www.ruby-lang.org/ja/install.cgi?cmd=view;name=Microsoft+Windows%C8%C7%A4%CE%A5%D3%A5%EB%A5%C8%B4%C4%B6%AD%A4%CB%A4%E8%A4%EB%B0%E3%A4%A4
0011デフォルトの名無しさん05/02/12 10:05:31
で前スレからの続きで、「Ruby関連(の書籍)はやはり一時期の乱発&共倒れのせいで
すっかり各出版社の扱いが冷えきってしまっている」(by ムトゥ神)件について。
0012デフォルトの名無しさん05/02/12 10:09:26
むーん氏をいれろよ。おつ
0013デフォルトの名無しさん05/02/12 10:23:59
スレ立て乙。あのまま1000越えするんじゃないかと思ったよ。

>>11
実務で使われそうに無い言語の解説書だから、出版社サイドも、けっきょくオタクの余暇を紛らわせる程度の暇つぶし本扱いしかしなかったんだろうな...。
んで、イカもの扱いがヒートアップした、と。
0014デフォルトの名無しさん05/02/12 10:31:45
でも別にいらないんじゃないかと。本は。
どっちかというとウェブ上のリファレンスが
充実していけば充分だろう。
(公式じゃなくても構わない)
ttp://www1.tf.chiba-u.jp/~shin/tutorial/とかもあるけど。

あとは、フリーで配布されるCGIを需要を無視して過剰供給して、
さも「RubyでCGIはナウい、つーか当たり前な」感じを醸し出す。
女子が食いつくキャッチーなビジュアルは大事ですぞ。
0015デフォルトの名無しさん05/02/12 10:33:06
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/40616
白井さん、おつかれさまです!
0016デフォルトの名無しさん05/02/12 10:34:00
このスレみている女子、いらっしゃいましたら挙手願います。
0017デフォルトの名無しさん05/02/12 11:13:28
日経BPが夢想本をだして一人前
0018デフォルトの名無しさん05/02/12 11:15:12
  / ̄ ̄ ̄ ̄\
  | ┌──┐ |
  | ┝┛┗┥ |
  |  |(・)..(・) |  |
  |  | =   = |  |
  /  |ヽ、3 ノ  |
  |  | | ̄ ̄| i |
 ノ(⌒| ノV~V| |⌒)
 | |^|| | ノ◎i | ||^|
 | | .|| |ノ ◎ i| || .|
┌┤├┐.∧ | || |
└┴┴┘ノ i | |〇、
 | λ Vノ ∧iVノ |
ノ ノ | ノ ノ i i‘  |
�X .LL...L....LL......l
    | | | |
  (⌒  )( ⌒)
     ̄ ̄  ̄ ̄
参考
ttp://www3.nhk.or.jp/anime/ojaru/charactor/chara/usui.html
0019デフォルトの名無しさん05/02/12 11:21:35
amritaで、<dl><dt><dd>の繰り返しってどうやるの?
<dl>
<dt id="text">foo</dt>
<dd id="desc">bar</dd>
</dl>
これで<dt>と<dd>だけ繰り返したい。ダミータグでも使うのかな。
0020デフォルトの名無しさん05/02/12 12:00:52
じゃあruby書籍でおすすめはどれ?
0021デフォルトの名無しさん05/02/12 12:03:54
ピカチュウ本と抹茶本
どっちも外人orz
0022デフォルトの名無しさん05/02/12 12:19:59
話を突きつめていくと出版業界の体質の問題に帰結しそうな悪寒
0023デフォルトの名無しさん05/02/12 12:55:03
こんなページ作りました。
http://ruby-lang.org/ja/man/?cmd=view;name=%BB%B2%B9%CD%CA%B8%B8%A5%A1%A6%A5%B5%A5%A4%A5%C8

追加ヨロ
0024デフォルトの名無しさん05/02/12 14:11:11
>19
ダミータグだろうねぇ
テンプレートがHTMLに準拠しなくなるけど。
0025デフォルトの名無しさん05/02/12 14:36:50
>>19
<dl id="list">
<dt id="text">foo</dt>
<dd id="desc">bar</dd>
</dl>

として、

model[:list] = []
model[:list] << {:text=>'foo', :desk=>'bar'}
model[:list] << {:text=>'foo', :desk=>'bar'}...

とするのが正解。
0026デフォルトの名無しさん05/02/12 14:39:40
>>20
オブジェクト指向言語Ruby
たのしいRuby
Rubyソースコード完全解説
ぐらいかなぁ。安心して勧められるのは。
002792805/02/12 15:12:31
>26
ウソツクナ
よりによって「オブジェクト指向言語Ruby 」かよ……
0028デフォルトの名無しさん05/02/12 15:17:34
>25
<dl> <dt>foo1</dt><dd>bar1</dd> </dl>
<dl> <dt>foo2</dt><dd>bar2</dd> </dl>
となりますな……
0029デフォルトの名無しさん05/02/12 15:41:17
>>26
RHGはrubyの本じゃないよ。Cとかインタプリタの本じゃん
おすすめは256本の極道編と言ってみるテスト(XPだけに)
0030前スレ92805/02/12 15:55:24
>19
そう言えばそんなのもあったなぁ
オレテンプレートでもWeb::Templateみたいに
独自マークアップを使えるようにしとくかな
0031デフォルトの名無しさん05/02/12 16:45:47
>>30
それでそのオレテンプレートはいつ公開されるんですか
0032デフォルトの名無しさん05/02/12 17:57:07
IPAや地元ではIT活性化の振りをして素人にLinux/Ruby使わせたり、推進のポーズ。
しかし本音はわかるやつだけ使えればいいような発言。
その辺りが出版にも現れてるのかも
0033デフォルトの名無しさん05/02/12 18:11:52
>>31
名前欄 (の元レス) にばっちり書かれてるような気がするのは俺の気のせいか?
0034前92805/02/12 20:57:49
>31
ああ、ごめん。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/sikiwiki/siki/lib/RAA/xml/siki-template.rb?rev=HEAD&content-type=text/vnd.viewcvs-markup
http://www.fiercewinds.net/siki/cgi/index.cgi?Command=Show;Target=%2FRuby%2FApplication%2FSikiTemplate%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AB%E3%82%88%E3%82%8B%E8%A7%A3%E8%AA%AC
興味あったらコメントちょうだい
独自マークアップ実装しました。
0035デフォルトの名無しさん05/02/12 21:31:24
>>34
thx。すでに公開してたのね

>>33
そんなとこみてなかったよ ヽ(`Д´)ノウワーン
0036デフォルトの名無しさん05/02/12 21:58:35
>>32
属性値の命名規則がややこしくて書く気がおこりません…
00373605/02/12 21:59:22
>>34 の間違い
siki-templateへのコメントです。
0038デフォルトの名無しさん05/02/12 22:05:33
>>29
いや、RHGはRubyの本としてこれ以上のものは無いくらい良い本だよ。
0039前92805/02/12 22:28:29
>36
確かになぁ。ただAmritaでサポートしていない
・XHTML、XMLに準拠(id属性以外を使用して指定できる)
・デフォルト値を指定できる
・要素と属性を等価に処理する
・テンプレートからのフィルター処理指定をサポート
 :
 :
とか高度化してったら、あんな風になっちゃった。

……まあ、あれでも「良くあのルールであの機能を押し込めたなぁ」と
自分で感心しているぐらいだしね……

でも、簡単に使うのなら、
・要素を変更するときは、適当な属性の値を“$(Rubyで指定するラベル)”にする
・属性を変更するときは、その属性の値を“@(Rubyで指定するラベル)”にする
・それ以外はオマケ
ぐらいで大丈夫だよ。
0040デフォルトの名無しさん05/02/12 23:09:19
>>39
Amritaでも
テンプレート内のマーキングを"id"以外に変更することは可能
Amrita alteredなら
要素と属性を等価に処理することも可能
0041デフォルトの名無しさん05/02/12 23:13:23
>>38
いいというか、定数のスコープの話とかちゃんと書いてあるのって RHG くら
いな気がするね。特異メソッドとか特異クラスの話もそう。
でも Ruby の本として、というとちょっと違うよな。やっぱり C についての本だと思う。
0042前92805/02/12 23:28:56
>40
へぇ、どうやるの?……というか、ドキュメントどこよ……
http://amrita.sourceforge.jp/docs/Tour.ja.html
には大したこと書いていないし。

Amrita alteredはここですな。
http://www.nslabs.jp/amrita-altered.rhtml
0043デフォルトの名無しさん05/02/13 00:48:51
>>42
amrita_id
0044前92805/02/13 01:25:50
>43
なんだ……テンプレートごとに1つだけか……
class, title属性で指定できるのは進歩だけど、痛し痒しだなぁ
0045デフォルトの名無しさん05/02/13 02:04:53
>>44
テンプレートに複数指定できてなにかメリットがあるの?
そもそも、classやtitleとか正規な属性を使っちゃうのはまずいと思うんだが
0046前92805/02/13 02:42:26
>45
>テンプレートに複数指定できてなにかメリットがあるの?

全てのタグで(必要に応じて)デフォルト値を設定できる、とかかな。
あと、(validにこだわるなら)要素の種類によって使える属性が違うから、
複数指定できると柔軟性が上がるよね。
#まあ、class, title, idあたりなら、ほとんど全ての要素にあるけどね……


>そもそも、classやtitleとか正規な属性を使っちゃうのはまずいと思うんだが

まあねぇ。

ただ、テンプレートをvalidなものにすることにこだわるなら、これぐらいしか使えないのよ。
#classはelementの属するクラスを、titleはelementの付加情報を示すための
#ものだから、idよりはまだ安全に使えるよね。
0047デフォルトの名無しさん05/02/13 05:35:45
>>34
リンク先より。

> <span class="$$@title@$id" />
> <span class="$$title@title" />
> <title id="test_title" class="test_title"></title>

これがよくわからん。
#技術的じゃなくマーケティング的な意見ですまんが、
#紹介ページに載せる例は、もっとわかりやすいものにしたほうがいいぞ。
#じゃないと、これをみただけだと使う気をなくす。


> t = Template.new("オレは<span id="@type">リンゴ</span>が食べたい" )
> t.parse({ :target => 'food' })
> # => "オレは<span id="food">リンゴ</span>が食べたい"

@typeと:targetがどうつながるのかわからん。:typeの間違い?
0048デフォルトの名無しさん05/02/13 07:55:29
なんだよー、おもしろいネタやってるじゃんか。

>>45
> そもそも、classやtitleとか正規な属性を使っちゃうのはまずいと思うんだが

しょうがねーだろ、HTMLじゃあ「ツールが自由に使ってよい属性」がないんだから。
XHTMLが普及してnamespace使えるようになるまでは、idとかclassとか使ってしのぐしかないんだよ。
しかも使いたい属性が人によってidだったりclassだったり独自の属性だったりするんだから、
「ツールが解釈する属性名」を指定できるのはいいことだろ。

>>46
> #まあ、class, title, idあたりなら、ほとんど全ての要素にあるけどね……

あとはstyleな。styleにCSSではない記述をするとブラウザでは単に無視されるだけだから、デザイン上問題なく使える。
あとは「CSSの設定をぜんぶclass属性とタグ名とCSSファイルで設定する」ということに、デザイナーが納得してくれるかどうか。

でもtitleという技があったのな。参考になった。さんくす。
00494505/02/13 08:58:40
>>48
>HTMLじゃあ「ツールが自由に使ってよい属性」がない
んなら、テンプレート用のマーカーなんて埋める時点で、
validなHTMLではないか、validであっても変なHTMLにはなっちゃうわけだろ?
じゃあ、どのへんに落としどころを作るのが現実的なのか、ってのが気になってる。

ひとつの現実的な基準はブラウザで正常に表示されるかどうかだと思うんだが、、
適当にくっつけた変な属性(例えばhogeとか)がはいってるだけで、変になっちゃうもん?
idやらclassやらに記述するほうがよほどまずいことが起こりそう。
styleだと、まずい処理は起こらなくてもstyle属性を使えなくなるデメリット結構でかいでしょ。
HTML規格外の適当な属性値でっちあげて一つ決め打つほうがすっきりしそーなもんだけど。

で、そーゆーこと考えてると、>>46の
>あと、(validにこだわるなら)要素の種類によって使える属性が違うから、
>複数指定できると柔軟性が上がるよね。
の柔軟性ってほんとに使いどころあんのか?という疑問もわくんだよね。

ブラウザの挙動とかオーサリングツールの挙動とかに詳しくないんで、
おかしなこと言ってるかもしれんが、どうよ?
0050デフォルトの名無しさん05/02/13 10:29:55
自然言語処理系の海外の学会に参加した時に、スペイン人と、ドイツ人から
Rubyを薦められました。わたしはOSX10.3.7ユーザーですが、最初からRuby
がインストールされているのにも、驚きました。

初歩的な質問で恐縮ですが、Rubyの言語自体を開発、保守している中心的な
メンバーは、何人程度なのでしょうか? 中心となるような研究機関などはご
ざいますか?
0051デフォルトの名無しさん05/02/13 10:49:41
研究機関で開発、保守される実用的な言語ってどんな言語があるの?
0052デフォルトの名無しさん05/02/13 11:12:04
ruby-list に投げようかと思ったけど、微妙に場違いな気がしたからやっぱりやめた。

Just Another RD Site http://www2.pos.to/~tosh/ruby/rdtool/ja/ って今でも管理されてるの?
"rd ruby" で検索すると google で先頭に出てくるんだけど、
リンク切れだらけでどうなっているのか分からない。
0053デフォルトの名無しさん05/02/13 12:48:42
へーirbに
irb(main)000:0> help :inject
なんてのがあるのか、便利になったものだなあ〜と思ってやってみたら、
それ以降のエコーバックが消えちゃうんですが、どうすりゃいいんだろ。
rdoc/ri/rI_display.rbがpopenとreopenで端末制御やってんのはわかるけど、そのへん詳しく知らないんだよね。
誰かわかる人いる?

0054前92805/02/13 13:07:42
>47
>これがよくわからん。

確かに……これはわからんな……ちょっとバラして&コメント入れて書くと、
<span class="$$@title@$id" /> #弟タグのid属性にtitleというキーを指定
<span class="$$title" />     #弟タグの要素にtitleというキーを指定
<span class="$$@title" />    #弟タグのclass属性にtitleというキーを指定
<title id="test_title" class="test_title"></title>

ということです。
#いいかげん推敲しないとなぁ

>@typeと:targetがどうつながるのかわからん。:typeの間違い?
間違いです。修正しました。

0055デフォルトの名無しさん05/02/13 13:25:27
                |
                |>>50
                |
                |
     /V\        ,J
    /◎;;;,;,,,,ヽ
 _ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'
0056デフォルトの名無しさん05/02/13 13:29:53
>>51
OCamlとか言ってみるテスト(実用的かなぁ)。
0057デフォルトの名無しさん05/02/13 13:38:36
sikiって、AmritaのAmrita::ExpandByMemberみたいに
Hashじゃないオブジェクトをモデルデータにすることはできるの?
0058前92805/02/13 13:40:31
>48
そういやXHTMLだとnamespaceが使えるね。
XHTML前提にしているならnamespace使えばいいのか
……DTDが使いものにならなくなるけど

>49
落としどころは難しいよね。

結局、デザイナーの使うブラウザとかオーサリングツールによって
決まってくる話で、ライブラリ実装者(プログラマ)が決めることは
できないんだよね。
ある程度妥協せざるをえないけど、できるだけ決定する自由を
デザイナーに残しとかないとね。

ちなみにSikiTemplateでは独自タグを実装して
[[[{{{ class="$$@title@$id" /}}}]]]
[[[{{{ class="$$title" /}}}]]]
[[[{{{ class="$$@title" /}}}]]]
  #^スペース重要
<title id="test_title" class="test_title"></title>

とすりゃ良くなったので、どうでも良くなったけどね。


0059前92805/02/13 13:58:52
>57
Template.use_execute = true
とすることで、Executeというクラスデータを使えるようになります。
ただ、セキュリティの問題があるので、
・モデルデータでは、Hashで明示的に指定する必要がある
・テンプレートでは、「キー.コマンド」というように指定する必要がある
というふうにAmritaよりも制限が強いです。

0060デフォルトの名無しさん05/02/13 14:33:13
>>50

1. http://www.ruby-lang.org/
2. ruby-dev にはいる
3. 同じ質問を投げる
00614805/02/13 15:59:56
>>49
> んなら、テンプレート用のマーカーなんて埋める時点で、
> validなHTMLではないか、validであっても変なHTMLにはなっちゃうわけだろ?

だからamritaが人気なんだろ。

> 適当にくっつけた変な属性(例えばhogeとか)がはいってるだけで、変になっちゃうもん?
> idやらclassやらに記述するほうがよほどまずいことが起こりそう。

だからid属性だけですむamritaが人気なんだろ。あとはHTMLコメントを使う方式かどっちか。

> HTML規格外の適当な属性値でっちあげて一つ決め打つほうがすっきりしそーなもんだけど。

それはプログラマーの都合をデザイナーに押し付けてるだけ。
自分でプログラムもHTMLも両方書くなら、規格外の属性つかおうが何しようがだれも文句いわねーよ。
でもそんなものを使うとブーたれるやつらと一緒だから困ってんじゃねーか。

規格外の適当な属性をでっちあげてDWとかGLが使えなくなると、大変問題なの。
Java使いからEclipse取り上げるようなもん。

> の柔軟性ってほんとに使いどころあんのか?という疑問もわくんだよね。

自分が使わん機能をとやかくいうな。
独自属性つかうくらいならidやclassやstyleを選ぶ人間もいるんだよ。
そんなときは属性名を切り替える機能は必要。

> ブラウザの挙動とかオーサリングツールの挙動とかに詳しくないんで、
> おかしなこと言ってるかもしれんが、どうよ?

おかしいとはいわんが、考察が浅い。
つーかそんなにいうなら、デザイナーが文句たれないすばらしいテンプレートエンジンをおまえがつくってくれ。
0062デフォルトの名無しさん05/02/13 17:22:45
中心的なメンバーというか、ChangeLog を書いた回数が多い人のリストを
どっかの日記で見たんだけど、どこだったっけ?

リストが見たきゃ
$ ruby -e 'ARGF.inject(Hash.new(0)){|r,j| r[$1]+=1 if j.match(/\A\w.*<(.*@.*)>/); r}.collect{|a| a.reverse}.sort.each{|a| puts a.join("\t")}' ChangeLog doc/ChangeLog-1.8.0
とでもすればすむんだけど。
0063デフォルトの名無しさん05/02/13 19:12:18
>>62
日記つうか matz 氏が ruby-dev に。
00644505/02/13 19:14:34
>>61
>>規格外の適当な属性をでっちあげてDWとかGLが使えなくなると、大変問題なの。
そういうオーサリングツールやブラウザの挙動に詳しくないので、
なにをするとどう使えなくなるのか具体的なところが知りたい。
デザイナーがどこに文句いうか、でもいいや。

つまり正規属性をテンプレートにつかって変な文字列つっこんじゃうのと、
hoge属性をテンプレートに使うのと、どちらのほうがオーサリングツールに優しいのか。

あ、そんなのオーサリングツール依存なんだから、選択肢ふやしとけよってだけの話?
だれもそのへん真面目に検証してないの?
深い考察をキボンヌ
00656305/02/13 19:31:34
>>62
これね。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25627
0066デフォルトの名無しさん05/02/13 19:52:22
>>64
HTMLの仕様書よめ。それにはんするものはエラーがでる。それだけだ。
・id属性やclass属性に「@」とか記号いれる → エラー
・style属性に記号 → セーフ
・独自属性→とうぜんエラー
・独自タグ→とうぜんエラー

ただしDWはPHPやJSPに対応しているので、そのモードでやれば<?php ... ?>や${...}がエラーにならん。くやしい。
つか、DWの体験版ダウンロードして自分で検証しろ。
0067デフォルトの名無しさん05/02/13 19:59:48
>>66
> ・独自属性→とうぜんエラー
> ・独自タグ→とうぜんエラー
このへんは単に無視されるってのは最近のHTMLでは成り立たなくなったの?
0068デフォルトの名無しさん05/02/13 20:07:58
DW って何?オーサリングツールのことを DW っていうの?
0069前92805/02/13 20:25:12
>66
class属性はCDATAじゃなかったっけ?
id属性は確かに記号が使えないな……
http://www.w3.org/TR/html401/index/attributes.html
0070デフォルトの名無しさん05/02/13 22:13:58
>>67
そりゃブラウザのはなしだろ。デザインツールは違うわい。
0071デフォルトの名無しさん05/02/13 22:37:59
つまりホームページビルダーとかでテンプレート作るってことだよね。

学生で趣味プログラマの僕から見ると、なんかすごく不安。
0072デフォルトの名無しさん05/02/13 22:50:11
ナニが不安やねん。
0073デフォルトの名無しさん05/02/13 23:04:31
予想外のテンプレートとか与えられそうで。
テキストレベルで予想できないというか。
0074前92805/02/13 23:07:30
>61
>あとはHTMLコメントを使う方式かどっちか。

それいいね。
[[[{{{タグ}}}]]]だけじゃなくて<!--[[[{{{タグ}}}]]]-->にも対応するようにしました。
0075デフォルトの名無しさん05/02/13 23:59:27
>>68
Macromedia Dreamweaverのことかな?
0076デフォルトの名無しさん05/02/14 00:00:10
質問です。
vmware で socket 関数が使えないことって
ありますか?
エラーメッセージが
`initialize': getaddrinfo: Name or service not known (SocketError)
と出ます。
0077デフォルトの名無しさん05/02/14 00:01:44
あとGLというのはAdobe GoLiveのことだと思ふ。
0078デフォルトの名無しさん05/02/14 01:16:57
>>76
ゲストOSが何かしらんが、うちのFreeBSD5.3-STABLEでは使えてるよ。
0079デフォルトの名無しさん05/02/14 01:20:24
WEBrickすげーな。なんかasahi-netが規制受けてるんで、
シェルアカウント持ってる別のところにこいつでproxy作ってやったらすぐに動いた。
こんなに簡単にできちゃうのね。

うちのIPからしかリクエスト受け付けないからopen proxyでもないし、便利便利。
0080デフォルトの名無しさん05/02/14 01:25:07
>>79
スクリプト希望
0081デフォルトの名無しさん05/02/14 02:14:39
>>80
殆どるびまに載ったまんまなんだけど、IP見て例外を上げるようにしたのと、
proxy特有のヘッダを出さないようにしたところが違うくらい。
こんなもん。すげー簡単。

CLIENT_HOST='your.ip.address.here'

auth_proc = Proc.new do |req, res|
raise WEBrick::HTTPStatus::Unauthorized unless req.peeraddr.include?(CLIENT_HOST)
end

s = WEBrick::HTTPProxyServer.new({
:Port => 8080,
:ProxyAuthProc => auth_proc,
:ProxyVia => false
})
Signal.trap('INT') do
s.shutdown
end

s.start
0082デフォルトの名無しさん05/02/14 03:43:14
へー。簡単なんだね。
さんくす。
0083デフォルトの名無しさん05/02/14 06:31:13
setup.rb で、インストール時にシンボリックリンクをはることはできますか。
つまり、
/usr/bin/foo_1.2.3
/usr/bin/foo -> foo_1.2.3
みたいなこと。
setup.rbに手をいれないとだめ?
0084デフォルトの名無しさん05/02/14 17:42:30
Amritaのドキュメントの無さはどうにかしてほしい。
というかリファレンスマニュアルが欲しい。切実に。
未知のメソッドがあまりにも多すぎる。

過去にリファレンスがあったような形跡はあるのに……
0085デフォルトの名無しさん05/02/14 18:18:38
まずRDoc使うところから。
0086デフォルトの名無しさん05/02/14 20:19:38
Kwartz はどうですか
個人的にはプレゼンテーションロジックが独自言語じゃなかったら理想に近い気がする

独自言語で萎えるんでオレは試してないが、試した人いる?
00878405/02/14 23:55:44
>>85
もちろん使ってはみたが、せいぜいメソッドの一覧止まり。
解説が少なすぎて、クラスやメソッドの把握にはほとんど役に立たなかった(安定版で確認)。

もしかして「ソースがドキュメントだ。バグも完全に記述されている」の体現なのか

>>86
ロジックが(見た目)CSSっぽいな。
ちょっと興味がわいたので、これから試してみます。
00887605/02/15 00:55:09
>>78
redhat9 です。
0089デフォルトの名無しさん05/02/15 01:35:08
>86
「オレはRubyで加工したいんだ!!」とか言いたくなるよね……

Kwartzのどのへんが気に入った?
0090デフォルトの名無しさん05/02/15 01:43:40
>>88
何動かしてる?ソース晒したら?

とりあえず考えついた可能性を確率高そうな順に並べると、
1. スクリプトに問題がある
2. VMWareかゲストOSの設定に問題がある
3. rubyのSocketライブラリがバグってる
4. ruby本体がバグってる
5. VMWareかゲストOSがバグってる

少なくともVMWareであるがゆえにrubyが動かないってことは
あんまないんじゃないかな。
0091デフォルトの名無しさん05/02/15 04:44:48
Mac OS XのRubyが1.6.8から1.8に上がるのって、やっぱりTigerからなんだろうか。
まあソースから入れりゃいいんだけど。
0092デフォルトの名無しさん05/02/15 05:59:57
ウワァァ━━━━━。゚(゚´Д`゚)゚。━━━━━ン!!!!
http://www.itmedia.co.jp/enterprise/articles/0502/14/news016.html
Rubyの名前がないよぉう
0093デフォルトの名無しさん05/02/15 06:10:54
>>86
正直すまんかった。
独自言語やめてJavaScriptライクな文法にしたバージョンを、ちょうどきのうリリースした。
つーか、タイミングよすぎる。ジサクジエンかと思った。

>>89
プレゼンテーションロジックをRubyで書けるバージョンも作っていたが、ポリシーにあわんと判断してやめた。

> Kwartzのどのへんが気に入った?
そりゃこっちがききたい質問じゃ。

>>91
Finkとかのパッケージなら、すでに1.8はあったと思う。
0094デフォルトの名無しさん05/02/15 06:15:48
>>91
これだ
http://fink.sourceforge.net/pdb/package.php/ruby
ほかのパッケージはしらん。

そういや、MacOS Xはgccが入っていなくて、DeveloperKitをいれないとだめなんだっけ。
じゃあ一般人に「ソースからコンパイルしろ」とはいいにくいな。
0095デフォルトの名無しさん05/02/15 08:48:05
>>94
> そういや、MacOS Xはgccが入っていなくて、DeveloperKitをいれないとだめなんだっけ。
インストーラがハードディスクに入ってるし、パッケージ版OSの
CDにも収録されているから、ダブルクリック一発で入りますよ。
0096デフォルトの名無しさん05/02/15 12:38:08
一般人のレベルに対する意識の相違だな
00978605/02/15 14:28:37
>>93
なんてタイミングだ!
0098デフォルトの名無しさん05/02/15 15:08:40
>>96
コンパイルといってもキーボード打つだけじゃん。
打たなくても展開先に移動してから./configure && make && make installをコピペしてくれでもいいし。
別にソース読めと言っているわけじゃなし。
まあインストーラがあるに越したことはない気はするが。

でもインストーラがあってもDLLのバージョンせいで動かないとか辛すぎ。
MinGWのデフォルトランタイムライブラリがmsvcr71になれば直るが、今のone-click installerと
ebanさんとこの拡張ライブラリに互換性がないのはちょっと気が遠くなるな。
0099デフォルトの名無しさん05/02/15 16:56:45
一般人のレベルに対する意識の相違だな
0100デフォルトの名無しさん05/02/15 17:23:14
なんだRubyってDLLHell問題抱えてるのかウンコだな
0101デフォルトの名無しさん05/02/15 18:03:08
それっていわゆるDLLHell問題とは別物のような。
0102デフォルトの名無しさん05/02/15 18:25:09
単に憶えたての単語「DLLHell問題」を使いたかっただけでしょ。
0103デフォルトの名無しさん05/02/15 18:37:42
>>99
甘やかしすぎだ。

だいたいconfigure && make installも出来ないのにone-click installerでRubyをインストールしたところで
Ruby製のアプリケーションを使えるとは全く思えないのだが。
0104デフォルトの名無しさん05/02/15 18:40:53
なんだまたbot厨か
01058605/02/15 21:09:58
>>93
> 独自言語やめてJavaScriptライクな文法にしたバージョンを、ちょうどきのうリリースした。
> つーか、タイミングよすぎる。ジサクジエンかと思った。

いや新しいバージョンが RAA に登録されてたので見に行って、独自言語か〜と思った。
最近ここでテンプレートライブラリが話題になってたしね。

以前のバージョンでも良さそうだけど独自言語が・・・と思った記憶はある。
新しいバージョンは、いわれてみれば確かに Javascript ライクだけど、どうせなら Ruby で完結して欲しい。


> >>89
> プレゼンテーションロジックをRubyで書けるバージョンも作っていたが、ポリシーにあわんと判断してやめた。
>
> > Kwartzのどのへんが気に入った?
> そりゃこっちがききたい質問じゃ。

RubyでWebアプリを書いてる視点から見て Kwartz の良さそうなところは、テンプレートが eruby 形式に展開されるので
それなりの速度が期待できるところとか、ドキュメントが整備されているところとか、テンプレートとプレゼンテーションロジック
を容易に分けれるところとかかなあ。
01068605/02/15 21:10:21
つづき。

テンプレートとプレゼンテーションロジックの分離は意識すれば自分でできるけど、あらかじめその仕組みが
用意されているのは嬉しい。Presentation Pattern Catalog なんかがまとめられているのも素晴らしい。まあ、
コンテキストとか適用範囲とかの説明がないのでパターンというよりイディオムっぽい気もするが。

プレゼンテーションロジックを独自言語でやってるのは、いくつかの点でメリットがあるのは確かだと思う。
でも、Ruby で Web アプリを作っていて、Java や PHP を使う予定のない俺からすれば、独自言語を使う
のは余計なコストでしかない。いや、独自言語といっても十分すぎるほど簡単だけど、頭のモードを切り替え
ないといけないからね・・・
コロンとかつけ忘れそうだし。

Java とか PHP で Web アプリを作る人も同じように感じるんじゃないかな。
0107デフォルトの名無しさん05/02/15 22:33:54
>86
俺は独自言語でもいいと思っているけど。
テンプレートに特化してるなら覚えなければならないことはたかが知れてるし。
それにKwarzの場合はJava版やPHP版もあるから、独自言語にしておけば例えば
PHPからJavaに乗り換えるなんて場合にコストがかからなくて済むでしょ。

話は変わるけどRubyist Magazine 0005号出てるね。
0108デフォルトの名無しさん05/02/15 22:50:20
* 巻頭言
* Rubyist Hotlinks 第 5 回 増井俊之さん
* Ruby ではじめるプログラミング 第 4 回
* Rubyist が知りたいかもしれない RGSS の世界
* CGIKit、TapKit を利用した Web アプリケーションの作成
* 続・RubyOnRails を使ってみる
* Ruby Library Report 第 4 回 win32utils 日本語版 (英語版)
* lily でブログカスタマイズ 第 3 回
* Win32OLE 活用法 第 3 回
* RubyNews
* RubyEventCheck
* 編集後記
0109デフォルトの名無しさん05/02/15 23:05:29
増井さんのインタビュー記事中にakrさんが出ている件について
01108605/02/15 23:27:46
>>107
> それにKwarzの場合はJava版やPHP版もあるから、独自言語にしておけば例えば
> PHPからJavaに乗り換えるなんて場合にコストがかからなくて済むでしょ。

そういったメリットがあることは確かだし、それを否定するつもりはないよ。
ただ、その乗り換えがどの程度発生するのかかなり疑問でもある。

独自言語のほかに、Ruby や Java や PHP でプレゼンテーションロジックが
書けるといいんだけど。そうすれば、1つの言語で閉じたいやつはその言語
を使えばいいし、将来の乗換えを気にするやつは独自言語を使えばいい。

たとえば、Ruby でプロトタイピングして、製品は Java で作る場合とかなら
独自言語は嬉しいかもしれない。でも、それ以外なら YAGNI ってこと
0111デフォルトの名無しさん05/02/15 23:56:11
>>91
[ruby-list:40616]
0112前92805/02/16 00:42:53
>107, 110
XSLTチックなのはどうなのかな……
まあ、イビツだと思うけどね。
0113デフォルトの名無しさん05/02/16 00:45:24
>>109
出てこない方が気味が悪い気がするけど?
0114前92805/02/16 01:06:33
そういえば、Kwartzってこういうイメージでいいのかな?

Kwartz
−デザイン−− |−−ロジック−−|−−データ
プレゼンデータ |プレゼンロジック |  コード

プログラム側にデータしか任せないのは珍しいよね。

0115デフォルトの名無しさん05/02/16 01:13:04
nilぽ
0116デフォルトの名無しさん05/02/16 01:28:15
>>109
拝見しましたがMWさんのインパクトには到底敵いませんな。
0117前92805/02/16 01:38:12
Kwartzがらみでもうひとつ。
プレゼンロジックとデータが(テンプレートの仕組みとして)
分離しているのって便利だと思う? > ALL

SikiWikiでも仕組みを用意しようかねぇ……
0118デフォルトの名無しさん05/02/16 02:37:47
http://www.mnet.ne.jp/~tnomura/algorithm.html
Ruby でアルゴリズム
0119デフォルトの名無しさん05/02/16 07:05:07
>>105
なんだ、内部関係者かと思ったのだが違うようだな。

> 独自言語を使うのは余計なコストでしかない。
> いや、独自言語といっても十分すぎるほど簡単だけど、頭のモードを切り替えないといけないからね・・・

おまえはRDBを使うか?もし使うなら、SQLを使うだろ。あれこそ本当に頭のモードを切り替えなきゃいけないぐらい
まったく違う言語だ。あれを使いこなせるなら、プレゼンテーションロジックが独自言語でも問題なく使えるはず。

SQLの宣伝文句のひとつに、「プログラミング言語が変わってもデータにアクセスする部分は変える必要がない」
というのがある。しかしこれは逆にインピーダンスミスマッチを引き起こしている原因でもあり、OODB主義者が
批判するネタでもある。OODBならメインプログラムで使っている言語でデータアクセスとデータの保存ができるからね。

86がRDBを使わずOODBのみを使うのであれば、86の主張はよくわかる。おまえは正しい。
しかしRDBを使ってSQLを書いているのであれば、プレゼンテーション層でだけ独自言語を否定するのはおかしい。
独自言語なら「プログラミング言語が変わってもプレゼンテーション層は変える必要がない」からな。


>>106
> Java とか PHP で Web アプリを作る人も同じように感じるんじゃないかな。

そうでもない。JavaでもVelocityやJSTLがあるが、あれだって十分な独自言語だ。
PHPでもSmartyが使われるが、それも独自言語だ。
独自言語でも、メジャーになれば使われる。Kwartzはマイナーだから使われない。それだけだ。
0120デフォルトの名無しさん05/02/16 07:15:50
つづき:

それからJavaScriptじゃなくてRubyやPHPで書きたいというのは、プログラマーの発想。
でもKwartzが目指しているのはデザイナーにとって使いやすいテンプレートシステム。
デザイナーからしてみれば、RubyやPHPで書くのはたいへん苦痛なんだよ。100歩譲ってJavaScript。
Ruby使いがRuby以外で書くのを嫌がるように、デザイナーも自分が知ってる言語以外で書くのは嫌なの。

またプログラマーはたいてい1つか2つの言語を知っていれば間に合うし、ほかの言語の仕事なら断るだろうが、
デザイナーはそうもいかず、PHPを使うプロジェクトならPHPを使わなくちゃいけないし、
Javaを使うプロジェクトならVelocityやJSP、最近ならStrutsのカスタムタグを覚えなくちゃいけない。

これってバカバカしくないか?なんでプログラマーの都合にデザイナーが合わせなきゃいけないんだよ。
amritaのように素のHTMLが使えるテンプレートシステムを使ってくれりゃいいのに、プログラマーの都合で
やれ<?php ... ?>を埋め込んでくれだとか、やれ#foreach()を使ってくれだとか、そんなのばっか。
しかもそれがプロジェクトごとにバラバラで、せっかく使い方を覚えたころにはもう終わり、
別のプロジェクトが始まればまた新しいやり方を押し付けられる。んなもんやっとれるかい。

そんなプログラマーの都合を押し付けるようなことはやめて、プログラマーとデザイナーとが
ほんとうに気持ちよく共同作業できるような仕組みが必要なはずなんだよ。
そしてそのためには、プログラマーがちょっとだけ歩み寄ってJavaScriptなり独自言語を受け入れるだけでよい。
デザイナーがRubyやPHPをマスターするより、プログラマーがJavaScriptをマスターするほうが
圧倒的にコストが低いからな。
またJavaScriptにしてやればデザイナーが自分でプレゼンテーションロジックを書いたり変更したり
してくれるから、実はプログラマーの負担も減るんだよ。あまり気づかれていないけど。
0121デフォルトの名無しさん05/02/16 07:16:58
つづき:

だた、デザイナーとの共同作業なんかしないであろう86のためにいっておくと、
KwartzではRubyコードやPHPコードを直接埋め込む機能がある(というかあった)。
以前のバージョンなら
:element(members)
 ::: members.each_with_index { |member, i|
  @stag
  @etag
  @cont
 ::: }
:end
みたいに書くことができた。けどだれも使わんかったので削った。
0122デフォルトの名無しさん05/02/16 07:35:30
>>110
> 独自言語のほかに、Ruby や Java や PHP でプレゼンテーションロジックが
> 書けるといいんだけど。そうすれば、1つの言語で閉じたいやつはその言語
> を使えばいいし、将来の乗換えを気にするやつは独自言語を使えばいい。

その考えは間違ってない。実際、PHP版ではそれをやった。プレゼンテーションロジックを、
独自言語とPHPとを混在させて書けるようにしていて、「:」で始まる文は独自言語、
そうでなければPHPのコードとみなして処理をしていた。
ttp://www.kuwata-lab.com/kwartz-php/reference.ja.html
でも実際にやってみると、コードとドキュメントがかなり複雑になるのに比べて、得られるメリットが少ないんだよ。
これでメリットがあるのはプログラマーだけで、デザイナーからみればこんなのメリットでもなんでもない。
デザイナーにしてみればRubyやPHPで書けるよりも、JavaScriptで書けるほうがずっとうれしい。
#このことを去年のうちに気づいていればよかったんだが。

プレゼンテーションロジックなんて、しょせん条件分岐と繰り返しと代入ぐらいしかないんだから、
そのくらいJavaScriptだろうと独自言語だろうと書けるだろ、おまえらプログラマーならそのくらいできるだろ、
ということにしといてくれ。


> たとえば、Ruby でプロトタイピングして、製品は Java で作る場合とかなら
> 独自言語は嬉しいかもしれない。

おれはまさにこのパターンなんだよ。
自分のアイデアを説明するためのプロトタイプはRubyでサクッと作るんだけど、
それをチームで開発しましょうとなると、Javaを使わないといけない。シクシク。
0123デフォルトの名無しさん05/02/16 07:42:13
つづき:

「Rubyでプレゼンテーションロジックが書ける」といったとき、86は
(a) Rubyのプログラムをパースする。出力先に応じてPHPやJSPに変換してやる。
(b) Rubyのプログラムはパースせず、そのまま出力するだけ。PHPやJSPへの変換はあきらめる。
のどっちを意識している?
はっきりいって、Rubyの文法は複雑すぎるから(a)はムリ。Rubyのサブセットにするしかないけど、
そうなると(a)のメリットはあまりない。

(b)ははっきりいって楽。>>121で書いた機能はまさにそのまんま。
しかしこれだと、複雑なプレゼンテーションロジックだと文法エラーが非常に見つけにくくなる。
というのも、Kwartzではテンプレートを出力用スクリプトに変換するから、(b)の場合だと
変換したあとの出力用スクリプト(例えばeRubyスクリプト)でデバッグしなきゃいけない。
複雑なeRubyスクリプトで文法エラーがあると、原因を見つけるのはかなり困難。
(やってみればわかる。というか、楽な方法があったら教えてほしい)。
これは、Kwartzに限らず、トランスレータ一般につきまとう問題。
例えばJSPもそう。Servletに変換されたあとでコンパイルエラーが報告されても、
もとのJSPの何行目でエラーになっているのかわからん。

これを防ぐには、やはりプレゼンテーションロジックをちゃんとパースして、文法エラーが
あればプレゼンテーションロジックのレベルでエラーを指摘するしかないと思ってる。
そしてちゃんとパースするには、Rubyの文法は複雑すぎ、というかバリエーションありすぎ、
ついでにいうと、プレゼンテーションロジックごときではRubyの文法はオーバースペック。
JavaScriptとかPHPぐらいSyntaxが簡単なら、パースできるんだけどね。
0124デフォルトの名無しさん05/02/16 07:42:31
Kwartzの人の言ってることには共感するだけどなぜ喧嘩腰?
0125デフォルトの名無しさん05/02/16 07:55:46
さいご:

あとプレゼンテーションロジックをまじめにパースすると、いろんな小細工ができる。
例えば「グローバル変数とローカル変数を解析する」機能とか。
ttp://www.kuwata-lab.com/kwartz/users-guide.ja.04.html#topics-analyze

ほかには「ローカル変数の名前を "_var" のように変えちまう」機能とか。
これは、プレゼンテーションロジックで定義した変数名が、メインプログラムで使っている
変数名とかぶってしまうと、メインプログラムのデータを意図せずに変更してしまうという
問題を解決するための方法。まだ未実装だけと、「グローバル変数とローカル変数を解析する」
という機能がすでにあるから、そんなに難しくはない。たぶん次のリリースぐらいでは載るはず。

もちろん、いろんな言語の出力用スクリプトが生成できるというメリットもある。
Rubyしか使ってないとわからんかもしれんが、複数のプロジェクトを相手にしなきゃいけない
弱小デザイン会社だと、これは泣けるほどありがたい。
#というかStruts死んでほしい。カスタムタグなんて、デザイナーをばかにしてるとしか思えん。



というわけで、Rubyを直接記述することのデメリットと、独自言語をまじめにパースすることの
利点を挙げてみたのだが、どうっすか。
それでもRubyを使いたいというのはあるかもしれんが、そこをちょっと我慢するだけで
いろんな利点があることだけは知っといて。

早朝から長いかきこみですまん。
0126デフォルトの名無しさん05/02/16 08:00:48
>>124
けんかにみえたらすまん。知り合いのデザイナーの愚痴がうつっただけだ。というか、デザイナーの気持ちの代弁?
0127デフォルトの名無しさん05/02/16 08:06:40
>>126
ですます調にして、語尾をたまに伸ばすと
受ける印象が柔らかくなりますよー。
0128デフォルトの名無しさん05/02/16 09:31:34
個人的にいろいろと苦労があるようですね
0129デフォルトの名無しさん05/02/16 09:44:19
>>126
rubyスレだと共感は得られにくいのは仕方ない。
基本的にここ(というかruby界隈全部なんだけど)は他の言語と比べても信者の割合が高いからね。

どうでもいいけど、
kwartz -l eruby -p example1.plogic example1.html > example1.rhtml
これをするのがめんどくさい。なんとかならん?
0130デフォルトの名無しさん05/02/16 11:57:04
>>126
力説乙。こーいう本気汁たっぷりなのは大歓迎だ。
自分が知らん現場での様子が観れて楽しいしな。(御苦労は察するに余りあるが)
0131デフォルトの名無しさん05/02/16 13:23:05
>>129
make
0132デフォルトの名無しさん05/02/16 14:24:19
>>129
ant
0133デフォルトの名無しさん05/02/16 14:54:26
>>129
ほのぼのrake
0134デフォルトの名無しさん05/02/16 16:02:16
ロジック内に書けるのが@stag, @cont, @etag, @elementだけみたいだけど、
外部のplogicファイルが指定できたら便利じゃないかな。

たとえば<html><head>...</head>と
<address>...</address></html>の部分なんかは
title以外全てのファイルで共通にしたいとかあるわけで。

header_and_footer.html
<html><head><title id='title' /></head><body id='body /><address>hoge@tare</address></html>

に対して

plogic: {
@include('header_and_footer.html', 'header_and_footer.plogic', {'title' => 'hoge', 'body' => @cont})
}

みたいな。文法カッコワルイ。
0135デフォルトの名無しさん05/02/16 17:08:48
Gemをはじめて使ってみようと思ったのだけど、
--remote でインストールしようとすると
Updating Gem source index for: http://gems.rubyforge.org
から先に進んでくれません。

何が起こっているのでしょうか?

一度、Ctrl-C したときは
yaml/baseemitter.rb:175:in `map' : Interruput ....
てなことになりました。
01368605/02/16 20:23:44
んー、kwartz の中の人は、使いたくないなら使うなって思ってるかもしれませんが。

>>119
SQLは使うけど、それはしかたないから使ってるのであって好きで使ってるわけでもない。
本当は PStore ですむならそれだけにしておきたいよ。
目的を達成するのに必要なら SQL でも Java でも PHP でも C++ でも C# でも使う。
そんなのあたりまえだよね。kwartz の独自言語も kwartz が必要なら使うと思う。
でも、それが嬉しいかというと、嬉しくないといってるだけ。

> 独自言語でも、メジャーになれば使われる。
だから独自言語でもいい、というのはおかしいと思うけど。
Velocity や JSTL や Smarty を使ってるプログラマな人たちは、みんな喜んで使ってるの?
HTML を直接出力するのに比べればはるかに楽だけど、もっと楽な方法を求めてははだめなの?
よく使われてるというのと、使ってて気持ちがいいのとは違うんじゃないかな。
メジャーだっていうのを選択基準にするなら、そもそも Ruby は使ってないよ。
01378605/02/16 20:24:47
> これってバカバカしくないか?なんでプログラマーの都合にデザイナーが合わせなきゃいけないんだよ。
まったくだね。
でもそんなことを言われると、なんでデザイナの都合にプログラマがあわせないといけないんだよ、っていいたくなるよ。
そんな対立こそバカバカしいんだから、kwartz の良さをアピールしたいなら、そんな言いかたは避けたほうがいいような気がする。
未踏でやったからしかたなく公開してるっていうならともかく。

プログラマがあわせるほうがコストが低いというのは現実的な解だと思うよ。
でも、あわせる必要がないときまであわせなくてもいいという選択肢を用意するのも、現実的な解の1つじゃないかな。
難しいから無理っていうわけでもないみたいだし。

> amritaのように素のHTMLが使えるテンプレートシステムを使ってくれりゃいいのに
amrita を使う場合はプレゼンテーションロジックは Ruby で書くことになるよね。ここで amrita を
引き合いに出すなら、それこそ、プレゼンテーションロジックは Ruby でいいじゃんって思ってしまうわけですが。

もちろん、amrita はプレゼンテーションロジックのコードをビジネスロジックのコードと簡単に
混ぜることができるので、そのへんはいまいち。テンプレートと、>121 みたいな不自然なコードじゃなくて、
普通の *.rb から eruby 形式を生成できるのが理想なんだけど。
eruby 形式を生成できれば、オーサリングツールでテンプレートを作って Ruby on Rails とかでも使える嬉しさがあるしね。
01388605/02/16 20:25:25
前にも書いたけど、kwartz のように独自言語を使うのにもメリットがあると思ってるし、それは最初から否定してないよ。
ただ、俺にはそのメリットの大半はいらないから Ruby で書ければなってだけで。

まあ、kwartz の中の人がいろいろ書いてくれたおかげで、少なくとも、kwartz はデザイナ優先で
プログラマは妥協しないとだめっていうポリシーだというのはわかった。それはそれでありだと思う。
独自言語を気にしない人とか、妥協の結果得られるものが嬉しい人も少なからずいると思うし。

個人的には、デザイナ優先だけじゃなくて、デザイナとプログラマの両方が妥協せずに
もっと幸せになれる方法はないのかなって思うけどね。
0139デフォルトの名無しさん05/02/16 20:30:55
>>135
はじめて gems で何かをインストールしたときは、かなり待たされた記憶がある。
マシンのスペックとかにもよるのかもしれないけど。
0140前92805/02/16 20:33:23
>126
Application-Oriented Languageの利点はわかるけど……


−デザイン−− |−−ロジック−−|−−データ
プレゼンデータ |プレゼンロジック |  コード
デザイナー    |       プログラマー

という守備範囲のうちは、ロジックとデータを別の言語体系で
扱うのは面倒だなぁ


−デザイン−− |−−ロジック−−|−−データ
プレゼンデータ |プレゼンロジック |  コード
   デザイナー     |     プログラマー

というのなら、ロジックを扱うのにシンプルな言語体系を採用しても
仕方無いかな、と思う。

いっそのこと全然雰囲気の違う(&XMLベースの)XSLTチックな
方が使う気になるけど、デザイナーはXSLTよりもJavaScriptの
方が慣れてるかな……
0141デフォルトの名無しさん05/02/16 20:45:40
>>139
One-Click Ruby Installerの最新版が出たばかりの頃にダウソして、
gemを使ったことがあるけど、特に問題はなかったよ。
0142デフォルトの名無しさん05/02/16 20:56:27
> 俺にはそのメリットの大半はいらないから Ruby で書ければなってだけで。

> 俺には

これが全てを物語ってる気がした。

俺には、この話題は興味ないからどうでも良いけど。
0143デフォルトの名無しさん05/02/16 21:08:05
>>142
kwartz が提供するといっているメリットをすべての人が欲しいわけじゃないってだけだろ
0144デフォルトの名無しさん05/02/16 21:22:39
お前にはな
0145デフォルトの名無しさん05/02/16 22:16:24
86のいいたいことはわかった。
>>136
> だから独自言語でもいい、というのはおかしいと思うけど。
>>137
> でも、あわせる必要がないときまであわせなくてもいいという選択肢を用意するのも、現実的な解の1つじゃないかな。

↑ ここらへんはちゃんと筋が通ってるし、いってることは正しい。

おれは「プレゼンテーションロジックをRubyやPHPで直接書く」という方法をPHP版で実験してみて
思ったようなメリットが出せなかったし、もう気力もないから、今の仕様が変わることはない。
もし86が理想に燃えるなら、ぜひ作ってみてくれ。

ちなみに、途中まで実装して捨てたバージョンでは、プレゼンテーションロジックファイルを次のような感じで記述するはずだった。

module members ## element declaration

 def initialize()
  @value = member
  @attr = { "bgcolor" => color }
 end
 
 def plogic()
  member_list.each do |member|
   @stag
   @body
   @etag
  end
 end

end

最初はすばらしいアイデアだと思ったが、デザイナーのことを考えて結局やめた。
0146デフォルトの名無しさん05/02/16 22:20:16
つづき:

もし今の仕様のままで、Rubyでもプレゼンテーションロジックを書けるようにするとなると、たぶんこんな感じになる。

#members {
plogic: {
<% member_list.each do |member| %>
@stag;
@cont;
@etag;
<% end %>
}
}

これはPHP版でもやってた仕様。こんな仕様でよければ実装は難しくない。
これで86が満足するかはしらんが。
0147デフォルトの名無しさん05/02/16 22:24:10
さいご:

あと、これは誤解だから訂正させてくれ。

>>137
> amrita を使う場合はプレゼンテーションロジックは Ruby で書くことになるよね。ここで amrita を
> 引き合いに出すなら、それこそ、プレゼンテーションロジックは Ruby でいいじゃんって思ってしまうわけですが。

amritaは「素のHTMLが使えるテンプレート」の例としてだしたのであって、ここではプレゼンテーションロジックのことは関係ない。
「amritaやXMLCのように」と書けばよかったか。


> そんな言いかたは避けたほうがいいような気がする。

いや、2ちゃんでそんなこといわれても・・・

>>134
おもしろい。Zope PageTemplateのmetalみたいなものか。
実はその機能はDreamweaverにはあって、テンプレートシステム側ではなくてHTML作成時にDreamweaverにやらせることができるんだよね。
だから今まで困ってなかったのか。
ちょっと考えてみる。
01488605/02/16 23:08:55
>>145
> 最初はすばらしいアイデアだと思ったが、デザイナーのことを考えて結局やめた。
素晴らしいアイディアだったのに (´Д⊂ヽ

別に理想に燃えてはいないが、気がむいたらやってみるよ
0149デフォルトの名無しさん05/02/17 02:20:44
要は「デザイナーは馬鹿だからプログラマの都合を押しつけるわけにはいかない」
ということですよね。なんかそういう考えもちょっとどうかなあと思うけど。
0150デフォルトの名無しさん05/02/17 03:38:00
編集ツールしか使えなくてHTML自体理解してないデザイナーなんかも多いぞ。
0151デフォルトの名無しさん05/02/17 04:26:29
>>149
どうやったらそんなまとめになるのか。
「デザイナーはプログラマーの都合を押し付けられて困ってる」とか
「デザイナーはRubyやPHPを使いたがらない。それはプログラマーがJavaScript使いたがらないのと同じ」とかは書いているが。
馬鹿がいるとしたら勝手な解釈するやつのことだろ。
0152デフォルトの名無しさん05/02/17 09:44:54
>>147
> いや、2ちゃんでそんなこといわれても・・・
「便所の落書き」だからといって、どんな口調(論調?)でもいいというわけではない
丁寧語を使えとは言わないが、見る人間のことを考えた書き方は大事だよ。
0153デフォルトの名無しさん05/02/17 10:00:58
いや、それは便所の落書きだと思ってないからだろ。
0154デフォルトの名無しさん05/02/17 22:36:33
いいえ、それはお便所の落書きだと思ってらっしゃらないからでしょう。
0155デフォルトの名無しさん05/02/17 23:23:34
いえいえ、それこそはお便所様のお落書きだと思わしであそばせないからでござりますことでしょう。
0156デフォルトの名無しさん05/02/17 23:31:47
>>134
仕様を考えてみた。

まずページ全体のデザインを担当するテンプレートを用意する。

page.html:
  <html lang="ja">
   <head><title id="value:title">...</title></head>
   <body>
    メニュー:
    <div id="replace:menu">
     ・メニュー1<br>
     ・メニュー2<br>
    </div>
   </body>
  </html>
0157デフォルトの名無しさん05/02/17 23:33:08
つづき:

コンテンツデータを表すテンプレートを用意する。

contents.html:
  <html><body>
   <ol id="menus">
    <li id="value:menu">メール</li>
   </ol>
  </body></html>

contents.plogic:
  #menus {
   plogic: {
    @stag;
    foreach (menu in menu_list) {
     @cont;
    }
    @etag;
   }
  }
0158デフォルトの名無しさん05/02/17 23:36:03
つづき:

これを、こんなかんじでコンパイルする。
$ kwartz -c contents.html -p contents.plogic page.html > page.rhtml

contents.htmlのうち、id="..." がついたエレメントだけが使われ、<html><body></body></html>は捨てられる。

出力用スクリプトはこれ。

page.rhtml:
  <html lang="ja">
   <head><title><%= title %></title></head>
   <body>
    メニュー:
    <ol id="menus">
  <% for menu in menu_list do %>
     <li><%= menu %></li>
  <% end %>
    </ol>
   </body>
  </html>

これでいけるんじゃないかと思うが、どうだろう。
実装するのはまだ先になるけど。
0159デフォルトの名無しさん05/02/18 00:25:38
>156
プレゼンテーションデータの統合なら、SSIを真似して

<!--#include kwartz_file="パス" -->

とかの方が理解しやすいと思います。
0160デフォルトの名無しさん05/02/18 01:48:46
PageTemplate
http://coolnamehere.com/products/pagetemplate/
016113405/02/18 05:33:41
>>156
<div id="replace:menu">は<div id="replace:menus">のミス?
その仕様だと多重に埋め込めなくないかな。

たとえばサイトの構造が
<サイト全体><コンテンツ種別><コンテンツ /></コンテンツ種別></サイト全体>
みたいになってる場合は

page.html
<html><head>...</head><body><div id="replace:content_type" /></body></html>
content_type.html
<html>...<body><div id="content_type">...<div id="replace:content" />...</div></body></html>
content.html
<html>...<body><div id="content">...</div></body></html>

とかやりたいと僕は思う。
idのマッチングをするのはデザイナー向けっぽくてまた賛否両論かも。でもおもしろい。
replace:...のidがマッチされずに残った場合警告でも出るんですかね。

ただ、デザイナーさんがオーサリングツール使って全種のテンプレートを
作ってくれちゃうシチュエーションをメインターゲットにして、
趣味プログラマが個人サイト作るのに使うのを意図しないのであればそもそも不要な機能かもね。

>>159
ネタかもしらんが今回の目的にそれは全く意味ない。

そろそろスレ違いだと叩かれそうだ。ゴメソ
0162デフォルトの名無しさん05/02/18 07:13:14
>>161
> <div id="replace:menu">は<div id="replace:menus">のミス?
そのとおり。すまん。

> その仕様だと多重に埋め込めなくないかな。
できると思う。頭の中にある設計なら、これでいけるはず。
kwartz -c content_type.html,content.html page.html > page.rhtml

> replace:...のidがマッチされずに残った場合警告でも出るんですかね。
でる。現バージョンでも出るはず。

>ネタかもしらんが今回の目的にそれは全く意味ない。
その通りだが、>>159のいう機能は、これはこれで需要がある。今回も正式リリース時には実装しているはず。
ただ前のバージョンではプレゼンテーションデータファイルとプレゼンテーションロジックファイルの両方を読み込めたんだけど、
今回のバージョンでは仕組みが変わったのでプレゼンテーションデータファイルしか読み込めないと思う。

強引に2/14にリリースしたから、未実装の機能がけっこう残ってる。すまない。
updateしても特にアナウンスはしないから、RAAをチェックしといてくれ。
0163デフォルトの名無しさん05/02/18 07:32:44
今気づいたのだが、もしかして>>86はRailsユーザか?ならRubyで書くことにこだわるのはわかるような気がする。

Railsはまだ試してないが、eRubyを使うんじゃなかったっけ?
そして、もしテンプレートに複雑なRubyコードを埋め込まないといけないのなら、もしかしたら現行のKwartzでは力不足なのかもしれん。

おれには、86はただのRubyユーザではなくて「デザインのわかるRubyユーザ」のようにみえたのだが、
それにしてはJavaScriptを拒絶してたから、なんか違和感があった。
自分でデザインもやる人間ならJavaScriptぐらいできるはずで、そんなやつが「Rubyで書きたい」というのは
むりやりクレームをつけようとしているのかと思った。
しかし、もしRailsユーザだとすれば、その要求は理解できる。謎はとけた?

もしこの仮説が正しいとして、そうならそうといってほしかった。
「Rubyで書きたい」というのと「Rubyで書けないと困る」というのでは、議論の前提条件がまったく違うからな。

ちょっと時間をとってRailsを勉強してみる(とれるのか?)
0164デフォルトの名無しさん05/02/18 08:23:56
独自にテンプレート言語をつくるのが楽しいのはわかるんだけど、
実務上はDWの吐いたライブラリとテンプレートも読み込めないと使いにくい。

あと、id属性は使わないほうがいいんじゃないかな。
オーサリングツールがJavaScriptを吐くことがあるから名前の衝突を気にしないといけない。
DOMはクライアントサイドが扱うけど、テンプレート適用はサーバーサイドの出来事だし、
テンプレート言語はコメントにおくのが無難のような。
0165デフォルトの名無しさん05/02/18 21:39:20
amrita2はどうよ
0166デフォルトの名無しさん05/02/18 22:00:01
>>164
過去ログ読め。それらの意見に対する返答は一通り書かれた。
kwartzはDWとかの吐いたテンプレートを使う状況を
主なターゲットにしてる(んだと思う)。

しかしスレタイ変えた方がいいな。
0167デフォルトの名無しさん05/02/18 22:39:13
>>163
Jamisタソ(Needleとかやってる人)がRails-Amritaブリッジを作ったらしい。
ttp://dev.rakusui.jp/diary/?date=20050217#p03
0168前92805/02/18 23:16:58
>166
>164の内容は新たな指摘だと思うけど……


>164
SikiTemplateでこんなの実装したナリよ。どう?
かっこがウザいのは仕様です。(これなら重複しないだろう……どうにかしたいけど)

require 'xml/siki-template'
t = Template.new(
'<!--[[[{{{dummy class="$$title_text" /}}}]]]-->'+  #弟タグの要素にtitle_textというキーを指定
'<!--[[[{{{dummy class="$$@title@$id" /}}}]]]-->'+ #弟タグのid属性にtitleというキーを指定
'<!--[[[{{{dummy class="$$@title" /}}}]]]-->'+   #弟タグのclass属性にtitleというキーを指定
'<title id="test_title" class="test_title"></title>' )

#dummyはなくても可

r = t.parse( { :title => 'Title', :title_text => 'Text' } )
p r #<title class="Title" id="Title">Text</title>

>165
もうリリースされたっけ?
0169デフォルトの名無しさん05/02/18 23:39:36
>>168
来週らしい。
http://one.textdrive.com/pipermail/rails/2005-February/003186.html
0170前92805/02/18 23:59:52
>169
来週か……プログラムの構造はHackしやすくなっているかな?

passive template APIはおもしろそうだね。
0171デフォルトの名無しさん05/02/19 00:26:35
VisualuRuby使いたいんだけど、
最新版は自分でswin.soをコンパイルしないといけないっぽい。

だれか、コンパイルしてアップしてくださいm( __ __ )m
0172デフォルトの名無しさん05/02/19 00:52:00
Amrita2がRubyForgeに登録されてますた。
http://rubyforge.org/projects/amrita2/
0173デフォルトの名無しさん05/02/19 01:15:31
amrita2 って何が変わったの?
0174デフォルトの名無しさん05/02/19 01:21:23
>>164
> 独自にテンプレート言語をつくるのが楽しいのはわかるんだけど、
> 実務上はDWの吐いたライブラリとテンプレートも読み込めないと使いにくい。
それも検討したのだが、必ずしも必要ではなくて「できたらいいね」ぐらいの要求であることと、
今の実装だとタグとコメントの両方を解析するのが面倒なため、パスしてる。
ちなみに、DWのテンプレートを解釈するようなテンプレートエンジンは今までみたことないんだが、あったら教えてくれ。

> あと、id属性は使わないほうがいいんじゃないかな。
> オーサリングツールがJavaScriptを吐くことがあるから名前の衝突を気にしないといけない。
id属性は「HTMLファイルで重複してはいけない」から、オーサリングツールで容易にチェックできるため、かえって向いていると思うのだが。
どうしてもいやなら、使用する属性を設定またはコマンドオプションで変更してくれ。

> DOMはクライアントサイドが扱うけど、テンプレート適用はサーバーサイドの出来事だし、
> テンプレート言語はコメントにおくのが無難のような。
前半と後半とのつながりがわからん。コメントを使う方式では、ほんとうにHTMLタグをコメントするときに困る(HTMLではコメントのネストができないから)。

>>166
> kwartzはDWとかの吐いたテンプレートを使う状況を主なターゲットにしてる(んだと思う)。

んなことはない。

とりあえず、こっちで議論しないか。amrita2やRailsの話題も含めて。
【Ruby】RubyでCGI
http://pc5.2ch.net/test/read.cgi/php/988948655/
0175前92805/02/19 01:43:57
>174
おお、そういうスレあったのね。

では皆さん、さようなら〜
Amrita2のベンチは向こうに貼り付けます。
0176デフォルトの名無しさん05/02/19 02:35:08
>>119
>おまえはRDBを使うか?もし使うなら、SQLを使うだろ。あれこそ本当に頭のモードを切り替えなきゃいけないぐらい

Kwartzを独自言語じゃなくてSQLにしろってことね。




>独自言語でも、メジャーになれば使われる。Kwartzはマイナーだから使われない。それだけだ。
0177デフォルトの名無しさん05/02/19 11:10:04
>独自言語でも、メジャーになれば使われる。Kwartzはマイナーだから使われない。それだけだ。

こういう怠惰な現状肯定を認めてしまうと、
技術者は予め与えられた道具を黙って使っていればいい
ということになって、イノベーションの可能性を阻害する。
0178デフォルトの名無しさん05/02/19 12:53:44
まあRubyも安定期に入ったってことだ
いつまで創業期黎明期じゃまずいだろ

0179デフォルトの名無しさん05/02/20 00:39:34
Hikiにはユーザー用のMLってないの?
0180デフォルトの名無しさん05/02/20 03:01:18
>>179
ないみたいだねえ






ユーザML なら自分で作るという手もある
0181デフォルトの名無しさん05/02/20 07:30:07
少し前にこのスレでも話題になっていたが、変数に関数オブジェクトを入れて
そのまま () をつけたら関数呼び出しになる変更を検討中だそうだ。

ttp://www.rubyist.net/~matz/20050218.html#p01
0182デフォルトの名無しさん05/02/20 08:04:47
>>177

現状を述べたまで。努力を放棄したとはどこにも書いてないだろ。
しかしどうやったらこんな解釈をするのか。
0183デフォルトの名無しさん05/02/20 13:32:34
>>181は以前試したが、標準添付の中でも動かなくなるのがあったり、
かなり影響大きそう。
ところで、ツッコミにもある野分さんの案はどうよ?
ruby的にはこっちのほうが合ってるような気もするんだが…
0184前92805/02/20 13:51:12
>174, 177, 182
なんだよ、こっちに戻ってきてるの?
誘導するならサマリの作成&誘導をちゃんとやりなさい。

>174
>id属性は「HTMLファイルで重複してはいけない」から、オーサリングツールで
>容易にチェックできるため、かえって向いていると思うのだが。

複数箇所に同じデータを代入するようなケースに対応できませんが……
#ページのタイトルと大見出しを同じにするとか

>コメントを使う方式では、ほんとうにHTMLタグをコメントするときに困る

タグのコメントもリスク高いですな(合法だけど)
HTMLタグをコメントするケースって多いのかしらん?

>177
>こういう怠惰な現状肯定を認めてしまうと、

手間をかける以上のイノベーションがあるのが前提だけどね。
JavaScriptライクなの作成中とのことだけど、そっちの方がデザイナーの
学習コストが少なくていいかもね。繰り返しになるけど、XSLTもいいと思う
#デザイナーにロジックをいじらせるつもりならだけど
0185デフォルトの名無しさん05/02/20 13:53:43
>>184
|複数箇所に同じデータを代入するようなケースに対応できませんが……
|#ページのタイトルと大見出しを同じにするとか
alias
0186の05/02/20 13:55:46
>183
前にruby-devに投稿したときは
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24302
あまり芳しい反応はなかったからなぁ。
ClosureとObjectを等価に扱えるようになって便利なんだけどね。

RubyからProcを修正できるけど、Quick Hackの感は否めないし……
0187前92805/02/20 14:01:52
>185
それはプログラム側で対応しろということかな?Kwartzには無いよね?
「同じデータを使いたい」というのは、デザイン側の問題であることが
多々あるので(上記の例とか)、プレゼンテーションデータ側で処理したい
ケースとかあると思うけど。
0188デフォルトの名無しさん05/02/20 15:29:51
>>186
lambdaに対して何らかのメソッド呼び出しするのが違和感あるんだよね。
「.callだから嫌」というわけじゃないと思う。

でも、
>関数的呼出しの関数名部分がローカル変数のときには、そのローカル変数の値に「call」メソッドを適用する
って解決はすごくださいなぁ…。
0189デフォルトの名無しさん05/02/20 18:08:55
>>184

テンプレートシステムと関係ない点へのつっこみだから、こっちに書いたまでだ。よくよめ。
0190デフォルトの名無しさん05/02/20 20:09:04
>>186
[ruby-dev:24313]でまつもとさんも書いてるように、
単純だけどすごく強力そうだしねぇ。
影響がどの程度になるか予想しがたい。

ちなみに、Module.newはブロックを受け取るから、sendを使う必要はない。
特異メソッドでも可。
 super()
 (class << self; self; end).class_eval {
  method_name.each {|i| alias_method i, :call}
 }
 self
0191デフォルトの名無しさん05/02/20 20:36:19
>>188
schemeなんかだと変数と呼び出しは構文的に分かれてるからいいけど、
rubyじゃそうもいかないし。

どういう感じがいいわけ?
0192デフォルトの名無しさん05/02/21 00:42:39
だからこういう感じ。
f = lambda{|x| p x}
f(12)
どういうアプローチで実現するのが綺麗かは思いつかない。
()を[]同様メソッドにするのがいいと思うんだけど、
引数無しメソッドの扱いが困るのもわかる。
0193デフォルトの名無しさん05/02/21 01:21:37
メソッド呼び出しで()を省略できないようにすれば
何とかなるんだろうが仕様変更が大きすぎるだろうね。
0194デフォルトの名無しさん05/02/21 02:10:26
2.0で変えりゃいいじゃん
0195デフォルトの名無しさん05/02/21 03:44:45
Rubyでは、こういう時は、こういう風に書くっていうのを勉強したくて、
いくつか、プログラムのソースを読もうと思うのですが、
Rubyらしく書いてあるプログラムって、どんなのがありますか?

webrickとか、tDiaryとか、どうなんでしょうか?
0196デフォルトの名無しさん05/02/21 05:37:09
>>195
レシピブック。
著者の青木さんのWikiも漁ってみんさい。ttp://i.loveruby.net/w/RubyPages.html
0197デフォルトの名無しさん05/02/21 06:41:28
「あおきにっき」でぐぐれ
0198デフォルトの名無しさん05/02/21 06:49:56
みてどうするの?
0199デフォルトの名無しさん05/02/21 12:02:31
>>198
アルゴリズムをパクる、、,じゃ無くて、真似る(学ぶ)。

この人のソースも結構きれいだとおもうんだけど。
http://cgi.2lbox.org/

各種言語(RubyをはじめPerl,PHPなど)のBBSプログラムを比較検討したりと、けっこう私は勉強させてもらっています。

あれ、既出?
0200デフォルトの名無しさん05/02/21 13:33:00
>>199
なんか特に見るところもないソースだな
つーか配布するならライセンスくらい書こうぜ
020119505/02/21 16:25:36
レシピブックって、
初心者が、リファレンスみたいに使うのかと思ったら、
よく考えたら、これをサラッと書けるようになれば、
中級者くらいになれそうですね。

レシピブックやってみます。

ありがとうございました。
0202デフォルトの名無しさん05/02/21 16:38:23
あんなので中級者なのか? (´Д`)
0203デフォルトの名無しさん05/02/21 16:49:25
まあ初級中級上級のクラス分けなんて相対的なもんやし。
0204デフォルトの名無しさん05/02/21 18:19:05
>>193
それはattr_readerで困る。
0205デフォルトの名無しさん05/02/21 19:37:24
>>192 みたいな変更ってそんなに影響範囲大きいの?
既存のコードが動かなくなったりする?
0206デフォルトの名無しさん05/02/21 20:33:08
>>204
Perlからtieを借りてくればいい。
0207デフォルトの名無しさん05/02/21 23:02:09
>>199
全体的に良くまとまってて、きれいなソースだとは思う
だが、parse_tagtokatext(タグとかテキスト)というメソッドの命名はどうなんだ
0208デフォルトの名無しさん05/02/22 01:16:54
>>207
...........まぁ、いいんじゃなかろか。わかりやすいし。
0209デフォルトの名無しさん05/02/22 01:18:35
>207
どうせなら
yomotoru_tagu_toka_tekisuto
くらいテッテ的にやってもらいたい
0210デフォルトの名無しさん05/02/22 02:07:57
>>209
みんな忘れてると思うが、Ruby は日本語の識別子が使える
だから、

def タグとかテキストを解析(文字列)
end

でいこうぜ
0211デフォルトの名無しさん05/02/22 02:24:21
>>210
やだ。
0212デフォルトの名無しさん05/02/22 02:27:35
日本語の文字って大文字と見做されるんじゃなかったっけ?
だから漢字とかで識別子をはじめると定数扱いになったような。
0213デフォルトの名無しさん05/02/22 02:36:34
>> 210
きもち悪いことに、本当にできた。試してみるもんだ。

#!/usr/bin/ruby -Ke
def こんな場合の気分って(こんなとき)
case こんなとき
when "恋したとき"
return "もんもん"
when "デスマーチ","阪神が負けた"
return "てんぱってる"
when "猫にそっぽを向かれた"
return "それはないよね"
end
end

print こんな場合の気分って('阪神が負けた')
exit

なにもここまで自由度が高く無くても(*_*;;)、と。
呆れるやら、..待て、なんかこれ結構使い道あるんじゃねぇか?と企ててみたり。
0214デフォルトの名無しさん05/02/22 02:48:35
>>212
ちゃうよ。小文字と同じ。だから直接こういうのはできない。
class くらす; end
0215デフォルトの名無しさん05/02/22 03:02:10
識別子に日本語が使えるのは別にrubyの特権でもなかろう。
VBでもJavaでも使えるぞ。
0216デフォルトの名無しさん05/02/22 03:50:49
>>214
逆だったか。サンキュー。

とは覚えていても使わない豆知識だなこれはw
0217デフォルトの名無しさん05/02/22 03:51:48
>>213
printもaliasしようよー
0218デフォルトの名無しさん05/02/22 10:31:11
>>205
動かなくなるのもある。
method = method(arg)
みたいなの。

添付ライブラリにも2,3ヵ所あるが、一般にどの程度影響があるかまでは調べてない。
0219デフォルトの名無しさん05/02/22 12:08:07
>>206
本末転倒のような。
0220デフォルトの名無しさん05/02/22 12:34:22
>>218
うーん、それで既存のコードが動かなくなることは無いように思えるのですが、
添付ライブラリの2,3ヶ所ってどこらへんでしょうか?
022119205/02/22 13:46:58
俺が言ってたのは、
class << foo
 def bar(*a); yield a; end
 def baz; [3,2,1]; end
end

foo.bar 1, 2, 3 do |a| p a; end #=> [1,2,3] これはOK
foo.baz.sort #=> NoMethodError: undefined method `sort' for #<Proc:...>
なんてことになりそうなこと。

これだけでも多くの既存のコードが動かなくなると思うが、
>>193はすべてのメソッド呼び出しでカッコ省略不可にしようと言ってるのかな。
だとしたら上のfoo.barも通らなくなってさらに多くの既存コードが動かなくなるね。

attr_readerで困るのはカッコ完全省略不可の場合?
method = method(arg)はそれはそれで困るが、互換性という意味では上記の問題の方が大きいと思う。
0222デフォルトの名無しさん05/02/22 20:33:28
IORCC(International Obfuscated Ruby Code Contest)
ttp://iorcc.dyndns.org/
0223デフォルトの名無しさん05/02/23 00:53:25
>>220
代入の左辺でmethodという変数ができるから、右辺のmethod()はその変数への
呼び出しと見なされてしまう。

> 添付ライブラリの2,3ヶ所ってどこらへんでしょうか?
sample/test.rbとtest/ruby/test_iterator.rbの
lambda = lambda{44} とか marity_test あたり。
0224デフォルトの名無しさん05/02/23 02:40:05
f.(2)とかかれたら
f.call(2)と同義とするとかで、いいんじゃないか
にんげんだもの
0225初心者05/02/23 10:23:36
文字列を作るときに、%Qとか、%qって使ってる人いるんですか??

なんか、微妙に使いにくいというか、何をエスケープしたら十分なのかよくわからん。

%Q(abc(def)はエラーで、%q(abc(def))は通るんですよね。
なんか、不思議だ。
0226& ◆RdmUjfVKqQ 05/02/23 10:38:15
改行っていうのと、行末$の関係がよくわからないので、以下のようにしてみたら
どちらも同じ結果になってしまいました。
改行と$って、違う概念なんでしょうか??

test = "abc\ndef\nghi\n\n"
test.each{|line|
p line =~ /$\n/
}
でも
test = "abc\ndef\nghi\n\n"
test.each{|line|
p line =~ /\n$/
}
0227デフォルトの名無しさん05/02/23 11:03:28
>>225
"や'や#{}が混ざってる時に使う。
そうじゃなけりゃ""や''で十分。

225の例のように括弧を含む文字列をわざわざ%Q()や%q()で書こうとするのは
はっきり言って無意味。
0228デフォルトの名無しさん05/02/23 11:21:54
>>226
p "s" =~ /\n/
p "s" =~ /$/
0229デフォルトの名無しさん05/02/23 11:51:35
「行末」は「位置」で、「改行」は「(「改行」という) 文字」、っていう違いかな。
0230デフォルトの名無しさん05/02/23 13:00:39
229に補足すると、行末は文字列の最後か改行の前。幅をもたない。
0231デフォルトの名無しさん05/02/23 15:44:32
>>225
%Q(abc(def))はエラーにならんのだけど。
カッコの対応が取れてないのはtypoではなくソースでもそう書いたのか?

>何をエスケープしたら十分なのかよくわからん。
気持ちわかる。俺もあまり自信ないが、
%qはシングルクォートを書きたいとき\'ではなく'と書く(書かなくてはならない)、ほかは''と同じ、
\Qはダブルクォートを書きたいとき\"ではなく"と書ける(\記法が有効なので\"と書いてもいい)、ほかは""と同じ、
じゃないかな。

>>227
#{}って関係ある?
0232デフォルトの名無しさん ◆m7YeytgDFE 05/02/23 15:50:07
>>227
下記のような違いがあるということかな?
%Q( #{ Time.now } ) # => " Wed Feb 23 15:48:08 JST 2005 "
%q( #{ Time.now } ) # => " \#{ Time.now } "
0233デフォルトの名無しさん ◆m7YeytgDFE 05/02/23 15:53:58
>>232
あ、これは"〜"と'〜'の違いっていうだけか。
良く分かってませんでした。失礼しました...。
0234デフォルトの名無しさん05/02/23 16:12:09
ただ単に文字列中に ' を入れたいなら " でくくればいいし、
ただ単に文字列中に " を入れたいなら ' でくくればいいのだが、
文字列中に #{} と " の両方を入れたいなら " でくくるのはちょっと、
という話ではないだろうか。
0235デフォルトの名無しさん05/02/23 16:26:33
>>231
%Q(abc(def) が通らないっていうのはすごくヘンだと思うぞ。なんで文字列の
中でカッコのマッチングをわざわざ取ってるんだ?
%Q|abc(def| とか、他の記号を使うとオーケーなのにね。
%記法をつかうなら中に入らない文字を使えってことかな。
0236デフォルトの名無しさん05/02/23 16:33:46
ヘンとか言われてもそういう仕様なので・・・

つーか、
> %記法をつかうなら中に入らない文字を使えってことかな。
という認識は、きっと逆で、
中でかぶらない任意の文字を区切り文字として使いたい、
という場合に%記法を使うのが正しい使い方と思われ。
023723105/02/23 18:09:39
>>235
確かに不思議な仕様ではあるね。
なんとなく%Q(()) => "()"としたかったのかな。
他の言語(Perlとか)からごっそり取り込んだだけの仕様だったりする?

ところでもし>>225==>>235なら、
>%Q(abc(def)はエラーで、%q(abc(def))は通るんですよね。
でわざわざ%Qと%qを使った理由を教えてくれ。
023822605/02/23 18:34:01
>>228-230
$が、改行の前か、文字列の最後ってことは、色々調べて書いてあったんですが、
その上で、226を実行すると、/\n$/っていうのがabc\nにマッチしてしまう理由がわからないのです。
$が改行の前なら、マッチして欲しくないんですが。
023922505/02/23 18:37:54
225!=235
あ、今知ったんですが、%qとか%Qって、括弧()じゃなくてもつかえるんですね!!
これなら、便利かも。

ところで、やっぱり、変な仕様である気はしますね。%q(()のエラー。
0240デフォルトの名無しさん05/02/23 18:56:47
>>238
/\n$/ は「\n の後に行末(または文字列の末尾)が来るもの」という意味になるよね。
"abc\n"は \n の後に文字列の末尾が来るから問題ないじゃん。

ちょっと見てみるとこれは 1.8 からの仕様変更で、 Perl の挙動に合わせたものらしい。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=trap%3A%3ARegexp
0241デフォルトの名無しさん05/02/23 19:00:45
>>239
それを知らなかったのなら仕方ないか。
%記法は、括弧のときだけ特別に中身の対応をチェックするようになっている。
親切なような、余計なお世話のような。

%Q'文字列中に"をエスケープなしで'
%q"文字列中に'をエスケープなしで"

とか書いたりもするなあ。
024222505/02/23 19:32:26
>>240
なるほど。わかりました。
0243デフォルトの名無しさん05/02/23 19:41:51
でもさ
# Perl では $ は改行の前と文字列末尾にマッチする

とあるけど

print "true\n" if "\n" =~ /$\n/;

はperlでマッチしないのね。
でもrubyだとマッチする。
0244デフォルトの名無しさん05/02/23 20:06:46
http://www.namikilab.tuat.ac.jp/~sasada/diary/vote.cgi?no=54&mode=show
0245デフォルトの名無しさん05/02/23 20:15:27
>>243
Perlでは$は、改行文字そのものとマッチするが後方参照しても文字列が取り
出せないもの、としているということなのかな。

perl -e 'print "true\n" if "\na" =~ /$a/;' # => 改行の後にaだから真
ruby -e 'print "true\n" if "\na" =~ /$a/;' # => 改行の直前の後にaだから偽

となるね。

"\na" =~ /^a/ が Perl では成立しないが Ruby では成立するとか、この辺はいろいろ面倒だな。
0246デフォルトの名無しさん05/02/23 20:21:12
質問です。
["a", "b"] → "["a", "b"]" のように
Array クラスを String クラスにしたいんですが、どうすればいいでしょうか?
0247デフォルトの名無しさん05/02/23 20:26:19
>>245
"\na" =~ /^a/は複数行モードの問題じゃね?
"\na" =~ /^a/mにすればperlもrubyもマッチする
0248デフォルトの名無しさん05/02/23 20:28:51
>>246
["a", "b"].inspect
0249デフォルトの名無しさん05/02/23 20:32:49
>>247
Ruby はデフォルトで複数行モードがセットされてるってこと?
025024605/02/23 20:33:06
>>248
サンクス。inspect覚えておきまつ。
0251デフォルトの名無しさん05/02/23 20:43:39
>>249

http://www.kt.rim.or.jp/~kbk/perl-5.8/perlreref.html#___z_q
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/7960
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%A5%EA%A5%C6%A5%E9%A5%EB#a.c0.b5.b5.ac.c9.bd.b8.bd.a5.ea.a5.c6.a5.e9.a5.eb

rubyはさいしょからperlのm相当でrubyのmはperlのs相当ってことなんかね
0252デフォルトの名無しさん05/02/23 20:59:02
>>251
マジで?

Ruby には s なんて無い (Shift_JIS モードになるオプションに当てられてる) わけだけど、
どうやって単行モードにするの?
0253デフォルトの名無しさん05/02/23 21:15:45
make test-all は make install が済んだことが前提でしょうか?
/usr/local/bin/ruby が存在しなくてエラーになりまくりなのですが。
0254デフォルトの名無しさん05/02/23 21:37:47
>>248
日本語は?
0255デフォルトの名無しさん05/02/23 21:39:10
>>254
-K オプションを指定すれば?
0256デフォルトの名無しさん05/02/23 21:47:12
>>255
・・・知らなかった、サンクスorz
$KCODE= = 'SJIS'にしてみた
0257デフォルトの名無しさん05/02/23 21:55:23
res256.gsub!(/\$KCODE= = 'SJIS'/,"$KCODE = 'SJIS'") # orz
0258デフォルトの名無しさん05/02/23 23:16:33
>>252
そんなモードいらん
025922605/02/24 00:05:30
p "abc\n" =~ /$\n$/ #=> 3
p "abc\n" =~ /$$$\n$$$/ #=> 3
なるほど。
0260デフォルトの名無しさん05/02/24 00:59:19
Rubyの初心者スレとかあるけど。
http://pc5.2ch.net/test/read.cgi/tech/1107799347/
0261デフォルトの名無しさん05/02/24 01:10:19
>258
むしろNオプションでネコミミモード
……どんなモードやねん、と自分で突っ込んでおく
0262デフォルトの名無しさん05/02/24 01:11:56
いまRuby-listにも主催者(でいいんだよね)Todd NathanからPOSTされた。
http://www.rubyist.net/~matz/20050222.html#p01
これ、だれかやるの?
0263デフォルトの名無しさん05/02/24 09:49:34
>>262
されてないんだけど、ruby-talk の間違い?
0264デフォルトの名無しさん05/02/24 10:33:09
>>263
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/40638
これ?
0265デフォルトの名無しさん05/02/24 11:18:14
spam判定されてた。スマソ OTL
0266デフォルトの名無しさん05/02/24 11:45:27
Railsを使ってみようと思って、Ruby one click installer 1.8.2final(windows)
をインストールして、ruby gemsを使ってみたんですが、
indexをupdateするってところで、とまってしまいます。
どうしても無理みたいなので、

ActiveScriptRubyをインストールして、gemsもインストールして使うことにしました
ruby install.rbでインストールは成功したのですが、
実際使おうとすると、

C:\Documents and Settings\Toshihiro>gem
ruby: No such file or directory -- C:/Program (LoadError)

ってなります。
このエラーって、どのレベルのエラーでしょう。。
どうもパスにスペースが入ってるところに問題があるみたいです。
実は、gemsって、Windowsではそのまま使えなかったりするんでしょうか??

ところで、one click installerでみなさん、使えてるのでしょうか??
026726605/02/24 11:53:06
ActiveScriptRubyを、c:\rubyにインストールして解決です。
やはり、パスにスペースが入ってるとうまくいかないようです。>gems

デフォルトで、RubyGems添付になって、
RAAに登録されているのは、Gem形式で配布されればいいのに。。
026826605/02/24 12:00:09
Gems動くようになったけど、
updating gem source index for: http://gems.rubyforge.org
ってところから進まないぞぉー
026926605/02/24 13:17:41
誰か、gems使わないrailsのインストール方法教えてください。
るびま見たら、actionmailとか必要みたいなので、インストールしようと思ったら、
RAAにないし。。

RAAからrailsだけとってきて、インストールしたらいいのかな??
0270デフォルトの名無しさん05/02/24 13:43:37
>>266
updating gem source index for: http://gems.rubyforge.org
と表示されてから完了するまでかなりの時間(2、3分)かかるので、
すぐにやめずに少し待ってみては。
027126605/02/24 19:18:53
ちょっと、気になったんですけど
僕のインストール方法は、
ruby setup.rb を実行しただけなんですよ。
それで、同じフォルダに
post-install.rb ってあって、それを実行したら、
C:/Documents and Settings/Toshihiro/デスクトップ/rubygems-0.8.4/rubygems-0.8.4/post-install.rb:40:in `install_windows_batch_files': uninitialized constant Config (NameError)
from C:/Documents and Settings/Toshihiro/デスクトップ/rubygems-0.8.4/rubygems-0.8.4/post-install.rb:72
Completed(1)
こう出てしまいます。ここに問題があるんでしょうか。。


あと、ruby gemsのインストールマニュアルって見つからないんですが、どこかにあります??
http://rubygems.rubyforge.org/wiki/wiki.pl?RubyGems

それと、updating gem source ..... って出た後、10分くらい待ってみたけどだめでした。
0272デフォルトの名無しさん05/02/24 20:29:56
(???: ??????????? ??) <-- translated online

翻訳してくれ。
0273デフォルトの名無しさん05/02/24 20:52:02
(これ: 文字化け ?) <-- translated online
0274デフォルトの名無しさん05/02/24 22:16:41
Amrita2 initial releaseキタ━━━━━━(゚∀゚)━━━━━━!!
http://one.textdrive.com/pipermail/rails/2005-February/003444.html
0275デフォルトの名無しさん05/02/24 22:18:55
>>271
インストールマニュアルというか、
http://rubygems.rubyforge.org/wiki/wiki.pl?UserGuide
の「Installing the RubyGems library」がインストール作業の全説明だと思う。
post-install.rbはsetup.rbから呼び出されるもので、直接呼び出す必要はないから、
そのエラーは気にしなくてもよいです。

あと、手元のCygwinでgem list --remoteを試したら50秒弱で終わりました。
0276デフォルトの名無しさん05/02/24 22:59:38
質問です。
[1, a, 2, b, 3, c] → [[1, a], [2, b], [3, c]]
としたいのですが、何かイイ方法ありませんか?
初心者でスマソ。
0277デフォルトの名無しさん05/02/24 23:05:10
効率とか考えずに。
Hash[*[1, a, 2, b, 3, c]).to_a
0278デフォルトの名無しさん05/02/24 23:07:15
ary = [1, a, 2, b, 3, c]
Hash[*ary].to_a # => [[1, a], [2, b], [3, c]]
027927705/02/24 23:07:52
あ、これじゃあ順番が保存されない可能性があるか。ゴメン。
028027805/02/24 23:12:14
負けた……orz

もういっちょ。
ary = [1, a, 2, b, 3, c]
ary2 = Array.new(ary.length/2)
ary2.length.times { |i| ary2[i] = [ary[i*2], ary[i*2+1]]}

美しくないですが。
028127705/02/24 23:20:51
ary2, a = [], nil
ary2 << [a, ary.shift] while a = ary.shift
028227605/02/25 01:00:55
>>277, >>278
ありがとうございました。Rubyならwhileやfor文を使わなくても
きれいに書けるかなと思ったんですが、なかなか難しいみたいですね。
0283デフォルトの名無しさん05/02/25 01:06:56
欝になるほど汚いコードコンテストの会場はここですか?
0284デフォルトの名無しさん05/02/25 01:16:47
>>282
> Rubyならwhileやfor文を使わなくても
そーいや、ここしばらくイテレータ以外で繰り返し処理かけてないな。
0285Py厨05/02/25 01:42:31
>>> ary = [1, 'a', 2, 'b', 3, 'c']
>>> zip(ary[::2], ary[1::2])
[(1, 'a'), (2, 'b'), (3, 'c')]
0286デフォルトの名無しさん05/02/25 01:43:53
もうRubyだめだな
汚すぎる
0287デフォルトの名無しさん05/02/25 08:14:11
そこだけ見て判断するのはどうかと思うが、Pythonのスライスは便利だよな。rangeと共に重宝してます
Pythonだと a[1:] とかけるのが、Rubyでは a[1,a.size-1] と書かなければいけない、など
細かい事言えば、どちらも得意/不得意な事はあるんだけど

(0...a.length/2).map{|i| a.values_at i*2,i*2+1 }
(0...a.length/2).map{|i| a[i*2,2] }

Rubyの場合、特異クラスでメソッド追加出来るので、汚い部分はメソッドのなかに閉じ込めて、
0288デフォルトの名無しさん05/02/25 08:27:37
>>287
>Rubyでは a[1,a.size-1] と書かなければいけない
a[1..-1]
0289デフォルトの名無しさん05/02/25 18:12:10
Rubyで "[a,b]" を [a, b] と評価する関数ってあったっけ?
0290デフォルトの名無しさん05/02/25 18:39:52
Proc オブジェクトをそのまま文字列にマーシャリングしたいんですが、
うまいやり方とかあるでしょうか。

proc = Proc.new do |foo|
...
end

みたいな proc があったとき、

proc.to_s
#=> "Proc.new do |foo|
...
end

みたいにソースコードをそのまま取り出したいんですが・・・
0291デフォルトの名無しさん05/02/25 19:25:12
>>289
eval
>>290
無理。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/40330
029229005/02/25 20:37:59
無理なのか・・・
>>291
どうもありが�d
0293デフォルトの名無しさん05/02/25 21:20:53
> 276
ary.values_at(*(0..ary.length-1).select{|a| a%2==0}).
zip(ary.values_at(*(0..ary.length-1).select{|a| a%2!=0}))
0294デフォルトの名無しさん05/02/26 02:01:24
ぱっと見て何をやってるかわからない1行よりは、素直な5行のほうがいいコード
5行がいやならメソッドに切り出せばいいし
0295デフォルトの名無しさん05/02/26 02:16:04
RubyにCとかで言うところのマクロはありますか?
0296デフォルトの名無しさん05/02/26 02:20:18
プリプロセッサに直接対応するものはない。
でもプリプロセッサの個々の機能に対応するRubyの機能はないとは限らない。
0297デフォルトの名無しさん05/02/26 02:47:51
>>294 と、素直な5行のコードも書けない奴がほざいております。
029829405/02/26 03:54:04
じゃあ5行で。

array = [1, 'a', 2, 'b', 3, 'c']
result = []
while e = array.shift do
result << [e, array.shift]
end

まあ、やってることは >281 とかわらんが。
0299デフォルトの名無しさん05/02/26 03:58:06
どうでもいいが、インデント修正。

array = [1, 'a', 2, 'b', 3, 'c']
result = []
while e = array.shift do
 result << [e, array.shift]
end
0300デフォルトの名無しさん05/02/26 10:52:59
>>298
>>299
Nice post!!

トリッキーなのも
「一行書き捨て、今後もう使わんだろー」っていうスクリプトならいいけど、
プログラムとして継続的につかい、しかも他人との共同作業であればなおさら、
ちょっとわかりやすすぎるし、ちょっと長いけど、単純な記述のほうが
あとあとうれしいもんだ〜ね。

........聞いてるかっ福沢!<だれやねん。
0301デフォルトの名無しさん05/02/26 10:54:58
ソースが仕様書 なRubyなのになにをいまさら.
0302デフォルトの名無しさん05/02/26 11:09:34
>>300
自分突っ込みは痛いんで、もう死んだほうがいいと思うよ?
0303デフォルトの名無しさん05/02/26 12:01:09
Rubyでヘンだと思うところは
empty_array = []
empty_hash = {}
みたいな空データを作ってから、そのあと
<< で要素を追加していくところ。
0304デフォルトの名無しさん05/02/26 12:16:13
副作用を利用したコードって、わかりやすい?
0305デフォルトの名無しさん05/02/26 12:31:47
ary = [1, a, 2, b, 3, c]
ary2 = ([[,]])ary
0306デフォルトの名無しさん05/02/26 12:42:31
http://www02.so-net.ne.jp/~greentea/pre.html

バカが往くのひとはどこの誰に切れたんですか?
0307デフォルトの名無しさん05/02/26 12:49:41
>>304
def mkpair(cs)
if cs.nil? || cs.length < 2; []
else ; [[cs[0],cs[1]]] + mkpair(cs[2..-1]) ; end
end
p mkpair([1, 'a', 2, 'b', 3, 'c'])

副作用もループもなしで
0308デフォルトの名無しさん05/02/26 13:27:26
tail recursionきたー
0309デフォルトの名無しさん05/02/26 13:44:13
しかしRubyの汚く詰めて書いたほうが勝ちって風潮はいったいどこから来てるんだろう
0310デフォルトの名無しさん05/02/26 13:53:35
Matzが1行プログラム好きだから
0311デフォルトの名無しさん05/02/26 13:58:15
>>309
それはあなたの思い込みでしょう。
そもそもそんな風潮なんてないし、
そもそも詰めて書いたら汚いなんてこともないし、
そもそも勝ち負けなんてないし。
0312デフォルトの名無しさん05/02/26 14:45:55
>>308

def mkpairs(cs)
def loop(rs,cs); (cs.nil? || cs.length<2) ? rs : loop(rs+[[cs[0],cs[1]]], cs[2..-1]); end
loop([],cs)
end
p mkpairs([1, 'a', 2, 'b', 3, 'c', 4])

>>307 は tail recursion じゃないと思われ。こっちの方がシンプルか?

def mkpair(cs)
(cs.nil? || cs.length<2) ? [] : [[cs[0],cs[1]]] + mkpair(cs[2..-1])
end
p mkpair([1, 'a', 2, 'b', 3, 'c', 4])
0313デフォルトの名無しさん05/02/26 14:56:50
>>307
>>312
どちらも
[[[1, 'a']], [[2, 'b']], [[3, 'c']]]
こうなってしまいませんか?
0314デフォルトの名無しさん05/02/26 16:15:01
>>313
実行してみると、きちんと [[1, "a"], [2, "b"], [3, "c"]] が出てくるけど。
0315デフォルトの名無しさん05/02/26 20:26:37
>>300
祥子お姉さま、お呼びになりましたか?
0316デフォルトの名無しさん05/02/26 21:59:35
ruby/tkの使い方がよくわからず、こまっとります
たとえば変数aを1秒間に10回監視しa=1の時、正方形の中身を赤
2の時は青、それ以外の時黒に塗るというのはどう書けばいいのでしょうか?
0317デフォルトの名無しさん05/02/27 00:52:28
>315
ごきげんよう。
0318デフォルトの名無しさん05/02/27 05:37:53
>>285
pythonやyorickの添え字増分は便利だねえ。rubyでまねるならこうかな。

class Array
alias_method(:aref, :[])

def [](*a)
range, by = *a;
return aref(*a) unless a.size == 2 and range.is_a?(Range)
tmp = aref(range)
tmp.values_at(*(0..(tmp.size-1)/by).map{|i| i*by})
end
end

ary = [1, 'a', 2, 'b', 3, 'c']
p ary[0..-1, 2].zip(ary[1..-1, 2])
0319デフォルトの名無しさん05/02/27 05:53:49
>>316
tkに限らず、1秒に10回と正確に指定するのは無理だと思う。
ためしに sleep 0.1 のループを別の忙しいループと並べて走らせたら、
100回で1割程度の遅れがでた。
0320デフォルトの名無しさん05/02/27 06:21:06
>正確に
論点はそこではないだろ
0321デフォルトの名無しさん05/02/27 07:51:59
誰が見てもわかりやすい、メンテしやすいコーディングという面から考察した場合
イテレータを使うというのはどうなんだろう・・

rubyらしいコーディング・・ かぁ・・・・ むーん
0322デフォルトの名無しさん05/02/27 09:32:29
とりあえず、何でrubyが読みやすい言語ってことに
なっている(売りにしている)のかがよくわからん。
慣れれば書きやすいとは思うが読みやすいとは全然思わない。
0323デフォルトの名無しさん05/02/27 10:52:07
perlより、というプリフィックスをつけるんだ!
0324デフォルトの名無しさん05/02/27 12:27:24
無駄にいろんな機能を使いこなそうとせずに
普通に書いてる分にはきれいで読みやすいと思うけどね。
0325デフォルトの名無しさん05/02/27 13:31:17
>>321
イテレータって問題なの?
Rubyを知らない人にはわからんだろうけど。

>>322
じゃあ例えば何なら読みやすい?
0326デフォルトの名無しさん05/02/27 13:34:03
lisp
0327デフォルトの名無しさん05/02/27 14:51:25
んー、確かにRubyがよくわかってる人なら問題ないのかもしれないけれど

「ん、 なんだ この識別子は・・」 ->defってるところを探す
「ふむ・・ ここか・・ なになに?・・」

ここで思考停止になるパターン多そうな気がしない?

yield、イテレータの引数、渡されるブロック、ブロックパラメータ・・・
「んん?? これが・・ こうなって・・あれれ?」
0328デフォルトの名無しさん05/02/27 15:12:46
インタフェイスを複雑にしない
適切な名前をつける
0329デフォルトの名無しさん05/02/27 15:43:04
>>328
例えば、String型のデータを作るとき。

str_test01 = ""

とせずに、

str_test02 = String.new("")

とすると、大量な文字の羅列が積み重なるファイルの中では
ひとつひとつの行では、一見わずかな効果しか無いようだが、
積み重なったとき、実感できるほどに「見通し」が良くなるような気がする。

タイプの量は増えるけど、後々を考えると、どうだろう。
0330デフォルトの名無しさん05/02/27 15:49:55
イテレータの使い方とか表面的なことすらわかってない人を
「Rubyをちょっとはわかっている人」と言えるのか?
いや、イテレータの理論とかは俺も知らないが。

他の有名な言語ではあまり見ないfeatureだから
他の言語を知っている(特に手続き型な言語しか知らない)Ruby初学者には
直感が働かないところかもしれないけどね。

しかしそんなやつにRubyのソースをメンテさせたりするな。
Cしか知らないやつにC++のソースをメンテさせるのと同じくらい無茶だ。
0331デフォルトの名無しさん05/02/27 16:00:26
>>329
言いたいことが全然伝わってこない。
例が""じゃString.newを書き足しても冗長なだけに見える。
さらに変数名がstr_だったら普通Stringだと伝わるだろう。
これはまさに>>328の言うとおり。

多分例が悪いんだと思う。それともまた型の話か?
0332デフォルトの名無しさん05/02/27 16:22:21
>>303
> 名前: デフォルトの名無しさん Mail: sage 投稿日: 05/02/26 12:01:09
> Rubyでヘンだと思うところは
> empty_array = []
> empty_hash = {}
> みたいな空データを作ってから、そのあと
> << で要素を追加していくところ。

え? Hashって、<< で要素を追加できたっけ?
0333デフォルトの名無しさん05/02/27 18:58:35
[]=といいたいんだろう。たぶん。
0334デフォルトの名無しさん05/02/27 19:47:28
>303
ケースによるけど、Array の場合は
* ブロック付きの Array.new
* Enumerable#collect
などで、空データに追加していく形式を避けることができるかもしれない。

Hash の方は
enum.inject({}){|h,k| h[k] = yield(k); h}
とか
enum.inject({}){|h,args| k, v = *yield(*args); h[k]=v; h}
みたいなことをしてくれる初期化メソッドが用意されててもいい気がする。

--
というか、>>303がヘンじゃないと思うのがどういう書き方なのか
教えてもらえるとありがたい。
0335デフォルトの名無しさん05/02/27 20:27:24
コレクションを新しく作ったら中が空なのは自然だと思うが。

Java で
ArrayList arrayList = new ArrayList();
arrayList.add("java");
とやるのが変じゃないと思うなら、
[] とか << を使うのが変ってことなんだろうね。
0336デフォルトの名無しさん05/02/27 21:02:17
Announcing RubyGems 0.8.5
http://rubyforge.org/forum/forum.php?forum_id=2474
0337デフォルトの名無しさん05/02/27 21:34:49
>>334
純関数型言語的書き方でない?
0338デフォルトの名無しさん05/02/27 22:10:30
>>321
お前もうずっとCOBOL使っとけ。
「お前の望むような形での誰が見てもわかりやすい」言語だぞ。


まともなプログラマは吐き気を覚えるけど。
0339デフォルトの名無しさん05/02/27 22:26:01
イリテータを使うのは、むかつく
0340デフォルトの名無しさん05/02/27 23:13:29
array = [1, 'a', 2, 'b', 3, 'c']

require 'enumerator'
p array.enum_for(:each_slice,2).to_a
# => [[1, "a"], [2, "b"], [3, "c"]]
0341デフォルトの名無しさん05/02/27 23:21:17
>339
まぁ、いらいらするだろうなぁ。
http://dictionary.goo.ne.jp/search.php?MT=irritate&kind=ej
0342デフォルトの名無しさん05/02/28 00:53:11
ヤボだなあ
0343デフォルトの名無しさん05/02/28 01:04:01
>>338
COBOL-Rubyのブリッジを作ったら松江の会社に雇ってもらえるかも。
0344デフォルトの名無しさん05/02/28 02:25:07
>>338
イテレータの使用はわかりやすいとして
定義は わかりやすい、見やすい書式だ と思うか?
0345デフォルトの名無しさん05/02/28 02:39:37
通りすがりだけど、
yieldというキーワードがちょっとわかりにくいのをのぞけば、
十分わかりやすいと思うよ。
0346デフォルトの名無しさん05/02/28 02:41:27
ルビオタにそんなこと聞いたら答えは明らかだろ。
Rubyに初心者が寄り付かないのはHSPが大盛況である理由と正反対の理由だから。
0347デフォルトの名無しさん05/02/28 02:47:18
HSP みたいな普及はしなくていいよ。
0348デフォルトの名無しさん05/02/28 04:22:53
そうか、 yield のおかげで初心者が寄り付かなくなってくれていたのか。
yield 様様だな。
0349デフォルトの名無しさん05/02/28 08:19:22
yieldがいやなら、&blockで受けて、block.callしとけ。
0350デフォルトの名無しさん05/02/28 10:42:43
イテレータってメソッド毎に最大1つしか渡せず、
変数のスコープがちょっと変な無名高階関数だと思ってるけど間違ってる?

手続き型言語と関数型言語のいいとこどりをめざした感じで
個人的には結構好き。この2つの制限がなければもっと嬉しいけど。
0351デフォルトの名無しさん05/02/28 13:41:26
> メソッド毎に最大1つ
これは文法的に動かないだろうな。

> 変数のスコープ
こっちはたぶんRuby2で変わるはず。
0352デフォルトの名無しさん05/02/28 14:24:28
最近、イテレータブロックを複数渡すようにする話があったようななかったような。
0353デフォルトの名無しさん05/02/28 15:17:25
素直にlambdaにすりゃいいのに
0354デフォルトの名無しさん05/02/28 15:20:20
クロージャネストさせるとデバッグできないって某shiroさんも言ってたぞ
0355デフォルトの名無しさん05/02/28 15:30:45
>>352
ポインタきぼん。
どう渡してどう区別するんだ?

hoge() foo:{...} bar:{...}
def hoge
foo:yield
end
0356デフォルトの名無しさん05/02/28 15:38:26
メッセージパッシングモデルのOOPがレシーバ1つに特化したのと同じで、
クロージャ1つに特化したイテレータ文法はそれなりに成功してると思うけどなあ。
複数わたすなら明示的に普通の引数の一つとした方がよいだろうね。
ブロックとProcオブジェクトの微妙過ぎな違いもなくして統一し、
{ |a,b| ... } をRubyにおけるlambda式の表現としてどこにでも書けるように
するのがいいと思う。
0357デフォルトの名無しさん05/02/28 17:59:33
その場合、|引数|を必須にするってこと?
今のparse.yで実装できるかなぁ。
0358デフォルトの名無しさん05/02/28 18:12:16
Ruby2って今のparse.yを使うの?
0359デフォルトの名無しさん05/02/28 18:58:30
イテレータって名前がいやらしいよね
0360デフォルトの名無しさん05/02/28 22:24:08
>>358
ん? >>356は1.9じゃなくてRuby2での話?
0361デフォルトの名無しさん05/02/28 23:05:35
イレテーナ?
0362デフォルトの名無しさん05/02/28 23:40:20
>>361
アリゲータ
              ヴッ!
0363デフォルトの名無しさん05/03/01 09:47:22
>>360
>>356は>>356の意見でしょ。ロードマップにあるわけではなく。
>>358は「Ruby2で全部書き直すならそれもありじゃん?」ってことじゃないかな。

んで、Ruby2って全部書き直すんだっけ。大幅な改造だと思ってた。
だって1.9が2の実験版だとしたら、
1.9から1.8に頻繁にバックポートされてるのがちょっと不思議だし。
0364デフォルトの名無しさん05/03/01 11:10:46
バックポートされてんのは、だいたいバグフィックスでない?
>>356は以外と簡単だな。パッチで100行もいかなかった。
0365デフォルトの名無しさん05/03/01 23:01:34
>>364
なかださん?
0366デフォルトの名無しさん05/03/01 23:12:56
>>365
そういうこと聞かないの。
0367デフォルトの名無しさん05/03/01 23:14:22
>>365
聞かなくても分かることは聞かないの。
0368デフォルトの名無しさん05/03/01 23:19:25
1.10マダー?
0369デフォルトの名無しさん05/03/01 23:45:47
>>368
次は 1.a.0 になります。
0370デフォルトの名無しさん05/03/02 14:22:46
>>365-367
100行越えてたぞ。
0371デフォルトの名無しさん05/03/03 12:15:58
pack と unpack で「レシーバの型はどっちだったっけ?」と毎回リファレンスマニュアルを引いてるのは漏れだけ?
0372デフォルトの名無しさん05/03/03 15:50:28
packとunpackはテンプレート文字列が覚えられないので自らは使わない。
あんなのはPerlの悪習さ!(負け惜しみ)
0373デフォルトの名無しさん05/03/03 15:52:51
互換性のない型への型変換を行うほぼ唯一の方法だったりするわけだが。
しかし、packとunpackでレシーバの型を悩む理由がよくわからん…
0374デフォルトの名無しさん05/03/03 16:01:39
型変換に使うもんなのか。
バイナリ文字列の生成/パースと簡易Marshalくらいの用途しか考えてなかった。
素人でスマソ
0375デフォルトの名無しさん05/03/03 17:21:19
もちろん普通はそういう用途に使うわけだけどね
0376デフォルトの名無しさん05/03/03 17:26:47
Array#pack => String, String#unpack => Array

だっけ。
どうしてpackがArrayのメソッドなんだろうって、変換する要素がひとつの時に悩む。

>>374
自分も同じ。型ってこの場合chatとかbyteの事だと思う。

データ構造定義するときに一度wrapper method定義してしまえば、
あとは、pack/unpackを直接呼ぶ事は少ないけどね。
0377デフォルトの名無しさん05/03/03 19:39:11
Time.parse("aaaaa") とかが例外にならないのって意図された動作なの?
0378デフォルトの名無しさん05/03/03 19:59:21
>>377
意図された動作だと思う。例外を出すコードも見当たらないし。
Time.parseはParseDate.parsedateの結果を元にTimeオブジェクトを
用意するけど、足りない部分は第二引数(省略時はTime.now)で補われる。

ParseDate.parsedate("aaaaa")
# => [nil, nil, nil, nil, nil, nil, nil, nil]

この結果から、結局Time.nowと同じ結果が得られる。

これが望まれた動作かどうかは別の話だけど。
037927805/03/03 20:20:22
>>377
"aaaa".to_i が 0 になったりするあたり、 Ruby ではこのテのメソッドは原
則的に「パースできるとこまでパースして、その結果をもとに値を決定する」
というポリシなのでは。
0380デフォルトの名無しさん05/03/03 20:29:40
単に C の atoi() や strtol() の仕様を継承してるだけのような。
0381デフォルトの名無しさん05/03/03 20:40:28
nkf を捨てる時期に来ていることに気づく人がそろそろ出て来てもいいんですよ。
0382デフォルトの名無しさん05/03/03 20:46:19
>>379
Integer("aaaa")
# => ArgumentError: invalid value for Integer: "aaaa"
0383デフォルトの名無しさん05/03/03 20:53:50
aString.to_i と Integer(aString) は別物なんだよね。
0384デフォルトの名無しさん05/03/03 21:44:03
TimeとDateとDateTimeとrequire "time"したあとのTimeで
いつも悩む。rfc2822メソッドはどれだっけとか。
0385デフォルトの名無しさん05/03/03 22:59:07
>381
基本的に同意。まるで外部プロセスを起動するかのような使い方がもにょって仕方がない。
こないだから半分冗談でJcode.pmをRubyにベタ移植したらどうだろうとかやってるが
仕事がしんどくて10%の進捗のまま半月放置中さ´`,、(´∀`)´`,、
……誰かがんがってくれぇ(つ´д`;)
0386デフォルトの名無しさん05/03/03 23:09:11
>>385
いや、界面の設計は割とどうでもいいと思ってるのよ。
問題はもっと別のところにあるわけなのだが・・・
0387デフォルトの名無しさん05/03/03 23:49:33
ruby-icu キボンヌ
0388デフォルトの名無しさん05/03/03 23:59:59
>386
そうなのか。ヘタレな同意でスマンカッタ
0389デフォルトの名無しさん05/03/04 00:52:39
>>386
どんな問題?
個人的にはインタフェース(と動作)がまともなら中身はどうだっていいんだが

・・・いや、nkf のインタフェースがいけてるという意味じゃないよ?
0390デフォルトの名無しさん05/03/04 01:46:25
PerlIOみたいな文字コード変換はどうよ
0391デフォルトの名無しさん05/03/04 04:13:16
>>376
chat型 ハァハァ
0392デフォルトの名無しさん05/03/04 09:31:36
インターフェースも動作もいけてない、それで中身がまともならよかったけど
中身もまともじゃない、ということでは。

念のために言うと、nkfをライブラリとして使ってることによる問題なのであって、
コマンドとしてのnkfがどうこう、という話ではないよ。
0393デフォルトの名無しさん05/03/04 10:53:23
syckとnkfは読む気にならんな。
0394デフォルトの名無しさん05/03/04 19:15:56
YAML は仕様からして糞なので。 spec 読んだら XML の方がマシと思えるよ。マジで。
0395デフォルトの名無しさん05/03/04 19:18:39
>>394
YAML::StoreみたいなXML::Storeってあったっけ?
あるならそちらに乗り換えたい。
0396デフォルトの名無しさん05/03/04 20:35:14
spec とか読まずにフィーリングでさくさく書いてるやつ (=俺) には
YAML のほうがあってるってことかな。
Rubyist はこういうやつが多いと思ってたけどそうでもないんだな。

個人的には結構 YAML 使ってるけどまだ妙な仕様にはまったことはない。
使い方が足りないだけか。
0397デフォルトの名無しさん05/03/04 20:53:33
他言語間でデータやりとりし始めると死にたくなってくるから。マジで。
0398デフォルトの名無しさん05/03/04 21:33:18
>>396
俺も使っているし自分で書いたりもするけど、
Ruby 1.8.2までに少しずつ出力結果や入力時の解釈が変わってきているので、
YAML(syck)のバージョンを跨いで同じデータを扱う時には
注意が必要だった。なかなか気付けない事が多いけどorz
0399デフォルトの名無しさん05/03/04 22:18:53
>>397
具体的にきぼん。
0400デフォルトの名無しさん05/03/05 03:49:46
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/40644
これ見て思ったんですが、
__FILE__
と
File.expand_path(__FILE__)
これって、違いってあります??

どちらも、絶対pathの気がするんでうすが。
0401デフォルトの名無しさん05/03/05 04:41:55
違う。
__FILE__の仕様読み返せヴォケ。
0402デフォルトの名無しさん05/03/05 13:15:59
るbyさいこう
0403デフォルトの名無しさん05/03/05 14:15:13
Ruby再考!!!!!!
0404デフォルトの名無しさん ◆m7YeytgDFE 05/03/05 19:42:13
>>400
実際に試しましたか?
カレントディレクトリに下記のスクリプトをtest.rbとして置いて、
カレントディレクトリで"ruby test.rb"を実行すると分かるのでは?

puts( __FILE__ )
puts( File.expand_path( __FILE__ ) )

下記のリファレンスマニュアルには該当する記述がないんですね。
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=%CA%D1%BF%F4%A4%C8%C4%EA%BF%F4
0405デフォルトの名無しさん05/03/05 21:36:14
marshalに格納されているデータを更新日順に並べることってできませんか?
例えば5万件以上含まれているとき、古い方から1万件削除、とかそういうことをやりたいのですが

marshal使うのやめてテキストにはき出して処理するしか方法がないんですかね
0406デフォルトの名無しさん05/03/05 22:24:18
>>405
テキストかmarshalかは関係ないと思うけど?
更新した時刻のデータが入ってるならそれ見ればいいし、入ってないなら無理だ。

具体的にmarshalをどんな使い方してるのかが分からないと何とも。
0407デフォルトの名無しさん05/03/05 22:48:32
>>406
hashに単語の登場回数を1対1で記録しています

処理させるデータの変遷によって、最近は見なくなったな〜
というような単語に関しては古い方に回していって消えてくれる
といった処理をさせたいのですが。

どうしたものでしょ
0408デフォルトの名無しさん05/03/05 23:13:48
marshalどこ?
0409デフォルトの名無しさん05/03/05 23:17:05
>>408
hashをmarshalにdumpしてるのです
0410デフォルトの名無しさん05/03/05 23:20:33
marshal はまったく関係ないような気がするんだけど、気のせいかな。
0411デフォルトの名無しさん05/03/05 23:31:06
ttp://raa.ruby-lang.org/announce20050304.html

> In reaction to a discussion on ruby-talk ML, raa-admin checked links of
> whole RAA projects today (Mar 4 2005). In what follows, you can see the
> result. Please find your project and check the result.
0412デフォルトの名無しさん05/03/05 23:36:37
ところで、なんでわざわざ英語で書くんだろうね。
馬鹿?
0413デフォルトの名無しさん05/03/05 23:38:51
…?
0414デフォルトの名無しさん05/03/05 23:42:01
米礼讃主義だからだ。
所詮戦争に負けた国だ。
0415デフォルトの名無しさん05/03/05 23:52:36
日本人にフィードバックしても得るところがないからだよ。戦争とかは関係ない。
0416デフォルトの名無しさん05/03/05 23:54:39
まつもとが日本人嫌いだからに決まってんじゃん
0417デフォルトの名無しさん05/03/06 00:06:00
ていうか英語で書けば世界中の人が読めるのに
わざわざ日本語で書く理由が分からない
0418デフォルトの名無しさん05/03/06 00:12:14
>ていうか英語で書けば世界中の人が読めるのに
ちゃんと読める英語を書ければね。
もはやネタに近いが、お米の国の人との交渉の席で
「マイ・フェイス、ドント・スタンド!!」
とのたまったお役人が居たそうで……
0419デフォルトの名無しさん05/03/06 00:20:37
で、その役人と何の関係があるんだい?低脳君
0420デフォルトの名無しさん05/03/06 00:23:28
最近、米語が世の中で一番単純な言葉のような気がしてきた。
三単現は理不尽だから止めて欲しいけど……
0421デフォルトの名無しさん05/03/06 00:28:22
オタ向けの貧相な技術文書だけ読んでればそう勘違いしてしまっても不思議ではない
0422デフォルトの名無しさん05/03/06 00:31:23
>419
ん。だから、藻前さんのように、ちゃんと読める英語を書ける香具師なんて
日本にそうそういねーよ、って話。
0423デフォルトの名無しさん05/03/06 00:36:30
だから何?
0424デフォルトの名無しさん05/03/06 00:57:25
もうラテン語で書けばええやん
0425デフォルトの名無しさん05/03/06 01:15:09
Rubyを勉強しようと思うんですが、おすすめの本はありますか?
0426デフォルトの名無しさん05/03/06 01:28:08
世界宝石百科
0427デフォルトの名無しさん05/03/06 01:30:00
http://www.amazon.co.jp/exec/obidos/ASIN/4873112087
0428デフォルトの名無しさん05/03/06 01:32:59
>425
つ[http://www.rubycentral.com/book/]
0429デフォルトの名無しさん05/03/06 01:36:11
Ruby のどんなことを勉強したいのか書かないと。
とりあえず気楽に読み書きできるようになりたいだけなら、
ある程度 C とか他言語の知識があれば Web で十分じゃないかな。
0430デフォルトの名無しさん05/03/06 01:38:02
日本語訳は http://www.pearsoned.co.jp/washo/prog/wa_pro44-j.html ね。
256本では遂に出なかった「王道編」ですな。
0431デフォルトの名無しさん05/03/06 01:38:34
たけーよ
043242505/03/06 01:40:20
まったくの初心者なのでわかりません。
おすすめの言語みたいなので勉強しようと。
0433デフォルトの名無しさん05/03/06 01:40:33
この手の本としては普通くらいじゃね?
043443005/03/06 01:40:43
>431
>428ならフリーだぞ。
0435デフォルトの名無しさん05/03/06 01:57:39
256倍を乱発してこけまくったせいで
各出版社がRubyに関する本を出すのに躊躇するようになったって話だ
0436デフォルトの名無しさん05/03/06 01:57:41
言い返せない>>431に萌え
0437デフォルトの名無しさん05/03/06 03:09:53
>>412-424
たくさん釣れてよかったね。>>412
0438デフォルトの名無しさん05/03/06 04:04:44
仕事でネットワーク管理やっているんだけど,net/ipaddr が非常に使いづらい。
で,RAA を探したら net/netmask なんてものがあった。

RAA - netmask
http://raa.ruby-lang.org/project/netmask/

これが異常に使いやすくて,必要な機能が全部入っている (IPv4 だけだけど)。
個人的には net/netmask が標準ライブラリになってほしいんだけど,
なんで net/ipaddr が標準ライブラリになっているの?

This library is deprecated if you are using 1.8.0,
which includes the much more complete 'ipaddr' library.

とか書かれているけど,ipaddr は全然 complete じゃないよなあ。
0439デフォルトの名無しさん05/03/06 05:27:23
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/50946
で2002/09にnetmask.rbが公開されるも、激しく放置。
そうこうしてるうちに2002/12にipaddr.rbが登場。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/19009
最初から標準ライブラリ入りが決定気味で、実際同月に取り込まれた。

どうも比較検討されたわけじゃないっぽいね。存在が知られてなかっただけ?
確かにnetmask.rbのほうがかなり使いやすそう。Danタンショボーン。
0440デフォルトの名無しさん05/03/06 07:59:10
>>420 >>424
エスペラントという選択肢もあるぞ

>>425
プログラミングに馴染みがないなら、とりあえず「たのしいRuby」で。
他には上で挙がってた「プログラミングRuby」なんかもお薦め。

256倍シリーズはお薦めできない。いい本と悪い本がごちゃ混ぜになってるから
0441デフォルトの名無しさん05/03/06 10:17:17
>>440
ありがとうございます。プログラミングRubyでやってみます。
0442デフォルトの名無しさん05/03/06 12:32:12
rubyごときで本買う気が起きない。
044344205/03/06 12:47:23
Perl様の為なら喜んで大人買いするがな。
0444デフォルトの名無しさん05/03/06 12:54:04
静的なスコープってなに?
0445デフォルトの名無しさん05/03/06 13:18:40
Perlはラクダ本がオライリージャパンお得意の分冊になったのがショボーン
0446デフォルトの名無しさん05/03/06 13:43:14
>>437
それを釣りというならお前も釣られてんな
0447デフォルトの名無しさん05/03/06 14:47:40
>>444
変数と値の対応関係とか(スコープ)が実行時ではなく、コンパイル時に決定さ
れていること。 Lisp の話だけど、
http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/comparison.html
の中程で動的スコープと静的スコープの説明をしているのがわかりやすいかも。

Ruby で説明すると、
a = 10
l = lambda { a }
def m(a, l)
l.call()
end
m(30, l) # => 静的なら10、動的なら30になる

つまり、コンパイルする段階で、 l の中の a が何を指しているか決まってい
るので、どこで実行しても参照先が変わることはない。これが静的スコープ。
動的なら、実行時にaの対応先を調べることになり、mの第一引数が該当するか
ら結果が30になる。
0448デフォルトの名無しさん05/03/06 15:57:30
>変数と値の対応関係とか(スコープ)が実行時ではなく、コンパイル時に決定さ
>れていること。
この説明ってよく見るけど不正確じゃない?
動的スコープの言語がコンパイルできないみたいな印象を受けるよ。
044944405/03/06 20:10:00
>>447
すごいよくわかった。さんくす。
つまり、Procオブジェクトlの中で変数aが現れたとき、それがコンパイル時点で決まっていれば静的スコープ、コンパイル時には決まっていなくて実行時に探索するのが動的スコープなのね。

447の説明ではlambdaというかProcオブジェクトを使っていて、この話はブロックでも同じことだとおもうけど、メソッド定義内でのローカル変数でも似たような話になるのかな。
あと、静的スコープと動的スコープはどっちがいいの?直感的には、動的スコープはわかりづらくデバッグしにくいように思うんだけど。
045043805/03/06 23:29:45
>>439
情報ありが�d。ちょと不透明だね。
しかし Dan タンの放置っぷりはすさまじいな……。合掌。
045144705/03/07 00:10:45
>>449
メソッド定義内でも同じように議論もできるんだけど、 Ruby の現在の実装だ
とメソッド内は完全に別世界だから例として上手くないかな、と思ったので
Proc にした。たとえば、
a = 10
def x()
a
end
っていう時の a は Ruby だとエラーになっちゃうからね。 Scheme みたいな
レキシカルスコープな言語で似たようなことを書くと、 a は 10 を指してエ
ラーにならない。とはいえ、後ろの m をメソッドじゃなくて Proc にした方
が簡単だったかな。

ちなみに、動的スコープだと、たとえば再帰関数で毎回同じ引数を渡したりと
かいったことを省略して大域的に書いたり、ということを比較的容易に書ける
らしい。実は漏れもよくは知らない。でも、現状で動的スコープ言語が今では
ほとんどないということからして、やっぱりわかりづらいんだと思う。
0452デフォルトの名無しさん05/03/07 04:28:45
EmacsLispが動的スコープだっけ。
0453デフォルトの名無しさん05/03/07 04:47:39
あと Perl の local かな、有名所では。

>>448 でも指摘されているが
>>447 の説明と >>449 の理解は間違っていると思うぞ。
コンパイルがどうこうは定義じゃない。
そういう実装が多い (気がする) だけ。

今更だがこういう話をするのに Ruby は不適切じゃないか?
そもそもかなりのスレ違いだと思うが…。
045444905/03/07 07:48:40
>>453
じゃあ正しく説明してくれ。「コンパイル時」を「構文解釈時」にすりゃOKなんて逃げはなしで。

>そもそもかなりのスレ違いだと思うが…。
某松日記にでてたんで。
0455デフォルトの名無しさん05/03/07 14:27:03
>>453じゃないですが。
例をあげられるくらいには理解できてるつもりだけど、
人に説明できるほど理解できてないので参照だけ。
http://ja.wikipedia.org/wiki/%E9%9D%99%E7%9A%84%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97
http://ja.wikipedia.org/wiki/%E5%8B%95%E7%9A%84%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97
ここもほとんど例だけだけどね。

本質はあってるんだからいい過ぎじゃない?>>453
知ったかを責められて開き直るのかこわるい>>454
などといいつつちゃんと説明できない漏れ
0456デフォルトの名無しさん05/03/07 14:31:04
動的スコープってキモイな・・・
0457デフォルトの名無しさん05/03/07 14:49:16
たまーに便利なこともあるよ。
0458デフォルトの名無しさん05/03/07 15:04:17
文脈依存スコープと呼べば無問題
0459デフォルトの名無しさん05/03/07 16:16:55
言葉の定義については、実行時か実行前程度でいいんじゃない?それはともかく

>>451
mをprocにすると結果が変わってくる。
メソッドないのブロックではスコープが隔離されてるだけなので
これを以て動的/静的スコープと判断するのは不適切なのでは?
>>447の場合、aの値が伝搬されてないだけとも言える。

a = 10
l = lambda{|b| eval "a", b}
def m(a,l)
l.call binding
end
m 30, l

もっと単純に

a = 10
l = lambda { a }
a = 20
l.call

> でも、現状で動的スコープ言語が今ではほとんどないということからして、
Pythonも動的スコープ, rubyも動的スコープだと思ってたんだけど?
静的だとしたら上のコードの実行結果と矛盾しませんか?

>>449
有効な利用方法は、クロージャ、遅延評価。
0460デフォルトの名無しさん05/03/07 16:39:50
書いてから勘違いにきがついた。
>>459はスルーよろしく
0461デフォルトの名無しさん05/03/07 18:22:37
matzって、なんて読むの?
0462デフォルトの名無しさん05/03/07 21:05:09
魔ッ
0463デフォルトの名無しさん05/03/07 21:48:38
orz
0464デフォルトの名無しさん05/03/07 22:39:52
魔ッ蔵?
0465デフォルトの名無しさん05/03/07 23:21:06
ま゛
0466デフォルトの名無しさん05/03/08 00:14:53
マットゼット
0467デフォルトの名無しさん05/03/08 00:30:14
ザット
0468デフォルトの名無しさん05/03/08 02:45:54
まっつん
0469デフォルトの名無しさん05/03/08 07:28:54
[ruby-talk:127803]
> Matz once told me that "matz" is Japanese for "pine"!
0470デフォルトの名無しさん05/03/08 08:49:19
パイン?
0471デフォルトの名無しさん05/03/08 09:22:03
>>470
辞書ひけ無脳。
0472デフォルトの名無しさん05/03/08 10:16:10
トミーと
0473デフォルトの名無しさん05/03/08 11:02:42
クロノと
0474デフォルトの名無しさん05/03/08 12:40:37
ケンサンバ
0475デフォルトの名無しさん05/03/08 12:40:56
ゆうべからeval.cが要C99になってる。
あと、pp.rbのInspectKeyが古いまんま。

つーか、スレッドローカル変数いじっただけで[BUG]ってのは、
厳しすぎるんでは。
0476デフォルトの名無しさん05/03/08 12:52:16
> ゆうべからeval.cが要C99になってる。
いろんな環境でコンパイルできなくなると思うが、なんか意味あんの?
0477デフォルトの名無しさん05/03/08 14:00:15
>>475,476
eval.cについては、そういうことじゃなくて、単なるバグでは。
もう直されたみたいだけどね。
0478デフォルトの名無しさん05/03/08 16:11:38
>>475
関係ないけど、関数定義(の引数)のスタイルはいい加減、C89にならんもんかいね。1.9とかで。
何かにつけては結局規格を頼りにしてんのだから、そろそろやめません?
0479デフォルトの名無しさん05/03/08 16:13:12
Cは可読性低いからLispかHaskellで書き直して欲しいよ。
0480デフォルトの名無しさん05/03/08 16:16:03
そんな事より[ruby-list:40650]の意図をつかみかねて夜も眠れないのは漏れだけですか、そうですか。
0481デフォルトの名無しさん05/03/08 16:17:30
>>480
Rubyネタの振りをしたspamだと思えばよいかと
0482デフォルトの名無しさん05/03/08 16:35:09
単に実行するだけでいいんだから随分質の低い募集だな。
0483デフォルトの名無しさん05/03/08 17:07:16
あのセンスがわかるかどうかが一次選考の決め手なのかな。
0484デフォルトの名無しさん05/03/08 17:14:26
あのプログラムの可読性はどうよ?
0485デフォルトの名無しさん05/03/08 18:14:02
取り立てて良くも悪くもないんじゃない?
0486デフォルトの名無しさん05/03/08 18:32:20
俺は105点だった。実行はしてないけど。
0487デフォルトの名無しさん05/03/08 20:27:28
必要とするスキルをお持ちで無いようです。
0488デフォルトの名無しさん05/03/08 21:29:24
>>478
規格を頼りにするのと関数定義スタイルを変えるのになんの関係が。
K&Rスタイルが規格違反になったわけでもないのに。
0489デフォルトの名無しさん05/03/08 22:11:12
>>488
ANSI-Cを頼りにする→処理系の前提としてANSI-Cがある→K&Rスタイルを貫くことに互換性の面では意味がない→ANSIスタイルにしたってええやん

ってつもりでした。
0490デフォルトの名無しさん05/03/08 22:16:43
互換性のためにやってるんじゃなくて、単に作者の好み
0491デフォルトの名無しさん05/03/09 01:20:10
[ruby-core:3518] (From: Matz)
> | What is holding back a conversion of the K&R code
> | to use prototypes ?
>
> My preference. I like prototypes. But I dislike the new style
> argument list, especially when the list becomes large with type
> names.


# blade で ruby-core は検索できないのね……。
0492デフォルトの名無しさん05/03/09 13:04:53
規格をベースに考えるというのと、規格(の一部)以外は無視する
というのは違う。

規格非対応処理系ってのは、結構あるわけで。
現にまた一つ-devに出てるとこだし。
0493デフォルトの名無しさん05/03/09 18:54:26
ハァ?
何がチミの心の琴線に触れて瞬間沸騰してしまったのかは知らないが
ちっとは落ち着けよwwwwwww

何に対して具体的事例を示して欲しいんだい?
こうやって「僕は頭が悪くないんです!」と言いたいだけなのは分かるが
指針もロクに示さずに「低能」「脳ミソの内部がショート」「薄っぺらな知識」
「現実を無視して揚げ足取り」と罵詈雑言を弄してるだけじゃ「頭が悪い」と思われても仕方が無いぞワラ
0494デフォルトの名無しさん05/03/09 19:37:10
>>493
誤爆どんまい…
0495デフォルトの名無しさん05/03/09 19:58:41
すとやんって日本人なん?
0496デフォルトの名無しさん05/03/09 21:23:50
>>493
ハァ?
何がチミの心の琴線に触れて瞬間沸騰してしまったのかは知らないが
ちっとは落ち着けよwwwwwww
0497デフォルトの名無しさん05/03/09 22:26:47
誰でも良いから心の琴線で何かが瞬間沸騰したところを見せてくれ(−−;
0498デフォルトの名無しさん05/03/10 01:10:09
今日の使えるフレーズ

「何がチミの心の琴線に触れて瞬間沸騰してしまったのかは知らないが
 ちっとは落ち着けよ」 ――― 493
0499デフォルトの名無しさん05/03/10 01:45:52
-talk:133197に日本人がいないことについて
0500デフォルトの名無しさん05/03/10 01:53:24
日本人は絶滅しますた
0501デフォルトの名無しさん05/03/10 10:40:51
思えば少子化が酷かったしね
0502デフォルトの名無しさん05/03/10 11:43:27
子供のときに川でねずみ食べてる日本人を見たことあるよ
0503デフォルトの名無しさん05/03/10 11:50:04
ttp://shugo.net/ruby/mlsearch.rbx?query=%22%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8+core+%E3%82%92%E5%90%90%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%22
0504デフォルトの名無しさん05/03/10 20:16:57
>>503
w
0505デフォルトの名無しさん05/03/11 23:54:16
http://redhanded.hobix.com/redesign2005/
0506デフォルトの名無しさん05/03/12 02:05:13
Ruby2.0のブロックローカル変数の書き方があんまりきれいじゃない件について
0507デフォルトの名無しさん05/03/12 02:43:56
ブロックのパラメータ変数って、なんで||で囲む必要があるの??
2.0から、()で囲むようにすればいいじゃん。
0508デフォルトの名無しさん05/03/12 03:25:10
>>507
こんなかんじ?
foo do (bar, baz)
...
end
foo {(bar, baz) ... }
0509デフォルトの名無しさん05/03/12 07:51:35
>>507
Smalltalkからアレンジした書き方じゃなかったかな。
0510デフォルトの名無しさん05/03/12 11:39:39
>>507
式はカッコで括れるから、引数一個の時にコンフリクトするんじゃね?
0511デフォルトの名無しさん05/03/12 18:52:52
Windows CEでrubyやりたいんだけど、CE版 ruby見当たらないよ。
0512デフォルトの名無しさん05/03/12 19:05:55
1.8以降ではwinceディレクトリがあるだろ。
バイナリなら……シラネ。
0513デフォルトの名無しさん05/03/13 05:14:52
URI で infoseek なんかでよくあるアンダースコアが付いたホスト名でエラーになるのはどうにかならないかなあ?
0514デフォルトの名無しさん05/03/13 05:51:47
それで正常だと思うが。

どうしてもそういうのを処理する必要があるならuri/common.rbをコピって
アンダースコアを追加して、先にrequireするようにしたらいいんじゃない?
0515デフォルトの名無しさん05/03/13 11:46:33
URI といえば。以下は仕様なのかな。バグなのかな。

URI.extract("http://") #=> ["http//"]
URI.parse("http://") #=> URI::InvalidURIError: bad URI(absolute but no path): http//

気持ち的には extract で返される uri は必ず parse が通って欲しいんだけど。

a = []
URI.extract($_).each { |u| a.push(URI.parse(u)) } while io.gets

みたいのではまるんだよね。
0516デフォルトの名無しさん05/03/13 11:59:25
>アンダースコアが付いたホスト名
RFC違反だからinfoseekに通報白
0517デフォルトの名無しさん05/03/13 12:07:07
>>510
ブロックのパラメータ変数を||で括ってると、
|を含んだ式が中に書けないっていうのは、
そこでブロックのパラメータ変数部分が終わってしまうように見えるからじゃないの?

式の中で出てくる括弧は、(で始まって、)で終わるから、パラメータの終わりと間違うことはない。

つまり、始まりと終了で、違う記号(対応する記号)な記号を使えば、
問題ないと思うけど。
0518デフォルトの名無しさん05/03/13 12:19:39
k「phルウィyvフィvlヴィyvlんんぃうlgんぅgんぅgんぃうgんぅgflgぃうfぅ
0519デフォルトの名無しさん05/03/13 12:51:49
>>517
> 式はカッコで括れる
a = 1
(a) => # 1

> 引数一個
block{(a)} # => パラメータ変数? カッコでくくった式?
0520デフォルトの名無しさん05/03/13 15:23:34
>>519
なるほど。
0521デフォルトの名無しさん05/03/13 20:52:48
こうしてRubyは無計画な構文を作りまくってグダグダになった
0522デフォルトの名無しさん05/03/13 21:12:09
はい、ジャンガジャンガジャンガジャンガ〜
0523デフォルトの名無しさん05/03/13 22:32:11
WebアプリケーションフレームワークのDivって使いたいんですけど、
これって、ドキュメントないみたいですね。

使い方の書いたページも探したけど見つからないんですけど、
どこかにあれば教えてください。
0524デフォルトの名無しさん05/03/13 22:41:33
>>523
↓こっちのスレに多少情報がある

【Ruby】RubyでCGI
http://pc5.2ch.net/test/read.cgi/php/988948655/
0525デフォルトの名無しさん05/03/14 02:21:37
rubyって構文だけじゃなくて意味論も無計画だよね…。

[ruby-list:40519] What is singletonclass.superclass ?や
[ruby-dev:25808] break & retry in blockや
[ruby-dev:25866] Re: conflict method and local variableあたりを見てると、
「オブジェクト指向の中心に近い意味論をそんなフィーリングで実装してたのっ!?」とか
「深遠だと言われていたイテレータの理論もそんなフィーリングでっ!?」とか叫びたくなってくる。

確かに、理論的なモデルそのままに実装したら今以上に遅くなるし、
理論を極めようとしたらHaskellみたいになって一般人には使えなくなるから
どこかで折り合いつけるのは必要なんだろうけど…。

そろそろRuby10年の経験を元に、新しい言語を再設計する神に期待。
052652305/03/14 02:23:08
>>524
サンクス。
dRuby本か、divipのソース、付属のサンプル読むくらいみたいですね。
2003-9のUNIX USERと。古いなぁ〜
0527デフォルトの名無しさん05/03/14 04:31:28
>>525
ttp://www.kmonos.net/alang/d/
0528デフォルトの名無しさん05/03/14 04:47:49
↑ブラクラ
0529デフォルトの名無しさん05/03/14 10:11:20
↑大嘘書くな。
しかし、URLを見たときは、alangという人の日記かと思ってしまった。
0530デフォルトの名無しさん05/03/14 13:44:21
↑グロ
0531デフォルトの名無しさん05/03/14 14:09:01
↑春厨
0532デフォルトの名無しさん05/03/14 18:49:53
            /;;;::::---,::::::::::::::::::::::::::::::ヽ
           /:/    ヽ;;;;;;:::::::::::::::::__:::::ヽ
.          {/  ,..---_   ヽ:::;:-'"r''ヾ、:ヽ  ,_._   
           l   r=''"     `'   }= ノ.l:::::', {.'ヽi __
           ,!,,、  '          ´ ,..ノ:::::::l,.>-‐!l `` ヽ、
.          i r,i  ヽ.._        `'"  l;:-'''ll ,.- !l ヽ--._ヽ,....,
           〉~l  =..ノ`ヽ、     _....-'ニ-t-l"il...--''-.| _,...ニ--'‐''''
.          i ヽイ r、ゥマフ`     '''""´ /-!、/;;;;;;;;;;;;;Y
           ヽ ヽ`f_/ ノ     ,.....,/rァ 〃-、;;;_;;;;;;;`、
            \ヽ  /     /r'ア/ / /| .:::/ |\::::`、
              \       /〃//,..-‐''!::::`、. ヽ ヽ:::::`、
               ヽ .,_    ノ// /   ,..`、‐l  `、 ヽ'"`、
    -==ニ二二二二二二二二二二二二二ニ二 ``'''ー-、-`-‐`'''l'''''"
       `'''''''''''''''ー―==、--...  ______.....>---‐~''=、-....二> [■
  -==三三三三ニニニニニ''-`=-`=-、  ,ニ、'''ー-ニニ=--`'  `ー―┴―
        `~~~''''''''''''ーニニニニー=- ,,,,,,ヽ三三ゝヽ 二二 ̄ ̄~ヾヽ
             ,.../ f;;;;;|  `~~""'''ー、;;;;;;;;;;;;;;;;;`~"'''ー--....-<"ヾ
           /    l;;;;;;;l         `~"ー-:::::__;ヘ;;;;;::::::::::二二
         r'''"     l;;;;;;;l                `ー'    `、
        /        l;;;;;;;l   
0533デフォルトの名無しさん05/03/14 20:50:13
↑だれ?
0534デフォルトの名無しさん05/03/14 21:44:50
↑おまえ
0535デフォルトの名無しさん05/03/14 22:13:00
↑だるだ?
0536デフォルトの名無しさん05/03/14 22:24:30
      //
    / .人
    /  (__)
   / ∩(____)  
   / .|( ・∀・)_
  // |   ヽ/
  " ̄ ̄ ̄"∪
0537デフォルトの名無しさん05/03/14 22:27:42
   ∩∩                 人            V∩              
  (7ヌ) 人       人      (_ )     人    (/ /              
 / / (_ )     (_ )    (__)    (_ )    ||              
/ /  (__)     (__)  _(・∀・ )   (__)   ||              
\ \( ・∀・)―--( ・∀・ ) ̄      ⌒ヽ(・∀・ ) //              
  \       /⌒   ⌒ ̄ヽ、    /~⌒    ⌒ /                
   |      |ー、      / ̄|    //`i     /                  
    |     | |     / (ミ   ミ)  |    |                  
   |    | |     | /      \ |    |                  
   |    |  )    /   /\   \|       ヽ                 
   /   ノ | /  ヽ ヽ、_/)  (\    ) ゝ  |                 
   |  |  | /   /|   / レ   \`ー ' |  |  /                  
0538デフォルトの名無しさん05/03/14 22:29:38
        人      +                                      
       (__)                                            
.  +   (__∧_∧                                        
      (  (     )                                      
    /⌒'/⌒'   ~ `)     +                               
. +  (  く(  く ノ | イ                                       
    ヽ,_'ァヽ,_'ァ   , .|    +                                  
 +    .ノヽ.ノヽ ._λ_ )      +                               
     ./ ./   ノ|  ノ                                      
     (  ( -く  |ー(                                      
     \ \ └,.| .)   +                                  
      / /,┘/ (__)                                      
0539デフォルトの名無しさん05/03/14 22:31:23
         n    人     人     n                        
       (ヨ )  (_ )   (_ )   ( E)                       
       / |  (__)   (__)   | ヽ                      
       \人/( ・∀・)∩(・∀・ )ヽ/  人                      
   _n    (_ )u    ( ⌒)   uu)∩_  (_ )                    
  ( l   (__)    ./,. 人     i ,,E)__)                    
   \ \ (・∀・ )   / /_)   ./ .ノ( ・∀・ )    n               
    ヽ___ ̄ ̄  )   / /____) ,/ ./ ̄    \    ( E)             
    / ̄| .  人 / / ・∀・)  / フ 人  ./ヽ ヽ_//               
    |  |. (__)       /   (__)   \_///               
    |  |. (__)\  人 ヽ    (__)    / /人              
  ,―    \( ・∀・)  (__)    ∩ ・∀・)∩  ./   .(__)             
 | ___)   |  ノ   (__)    〉    _ノ  / ∩(__)             
 | ___)   |)_)  (,,・∀・)   ノ ノ  ノ   / .| ( ・∀・)_            
 | ___)   |      ( O┬O   .し´(_)  .// |    ヽ/            
 ヽ__)_/  ≡ ◎-ヽJ┴◎                               
0540デフォルトの名無しさん05/03/14 22:35:51
        \          人        /                    
      //  \       (__)     /  人                  
    / .人   \     (____)    /  (__)                 
    /  (__)    \   ( ・∀・)  /(祭)(__)                 
   / ∩(____)     \ ∧∧∧∧/  Y ( ・∀・)                 
   / .|( ・∀・)_   <        >   Φ[_ソ__y_lつ                
  // |   ヽ/    <     .   >     |_|_| |                
  " ̄ ̄ ̄"∪     <        >     し'´J ,*′               
 ─────────<        >──────────          
    人     ||||||||||||<        >    人                    
   (__)    |     <        >    (__)                  
  (____)    |      /∨∨∨∨\    (__)  ∩ミ              
  (・∀・,,)     |    /  人      .\ ⊂(・∀・,,⊂⌒ヽつ              
  ( O┬O   |  .../  (__)      .\                        
◎-ヽJ┴◎   | /   (__)       .\                      
          / (>=◎( ・∀・)  (´⌒(´⌒;; \                    
             /_./ 〉⊂_ノ`  (´⌒(´≡                         
           〈/ )/__,ミ ≡≡≡(´⌒;;;≡≡                       
           (_/^´  (´⌒(´⌒;;                             
0541デフォルトの名無しさん05/03/14 22:40:09
曼荼羅
0542デフォルトの名無しさん05/03/14 22:49:02
                                                   
                                                  
                                                  
                                                  
                                                  
                                                   
                                                  
                 おいら「おいすー^^」                   
                                                  
                                                  
                                                  
                                                  
                                                   
                                                  
                                                   
0543デフォルトの名無しさん05/03/14 23:17:56
また鬱期に入ったのか。とりあえずsage進行で。
0544デフォルトの名無しさん05/03/14 23:39:14
もしかしてMF?
0545デフォルトの名無しさん05/03/15 00:24:53
しもんきん 陛下 めどい おちんちんランド 必殺仕事人 ゆめりあ 曙 赤提灯 メイデン系(水銀燈、雛苺、水銀灯… くそみそ、オンドゥル ガンダム ディアッカ 二次裏 マジか ちょいあ 双葉
うほっ 性欲を持て余す 痔悪化、ウホ・・・ 虹裏 仮面ライダー E&E タートルズ img 種 沙耶 としあき プリキュア
Me dat鯖 img鯖 「」 ふたなり ふたば 双葉 わはー むすー ちょいあー 足コキ みさくら 戦隊 やらせて ハリケンジャー
響鬼 アスラン アムロ サスケ ハットリくん スリーサイズ教えて 赤影 下乳 富野 生きろっ リュミーン
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!  童貞 クリボー スパイダーマン ブレイド アージュ最高
誰このじじぃ すっちゃ フェラ 泣くな シャア 若本 通常のザクの3倍 いまか 無職童貞 もう寝なさい  アッガイ ハロワ
ニート 東京プリン キリコ デスノート 中の人 ダディ 剣山尖った NARUTO マリオ ルイージ 添い寝 俺の嫁
スネーク 生きろ GJ ハァハァ マクロス おちんちんランド ドラえもん ホリえもん ライブドア DS PSP ひどい
エヴァ エヴァンゲリオン  2k イデオン 性欲をもてあます 好きだ ユーゼス もへっ orz 若本規夫にも反応したよ
バストは何cm?スパロボ 泣かないで ララァは私のお母さんになった人かもしれんのだ ハンター×ハンター ジオンの残光 キモい
萌え 結婚して シャア 姫さま 月姫 ジオング 緑はいらない子 ゼノサーガ ピッタン♪ ガトー ギレン 好きだ 好き
ソニー ガンキャノン リンファ H ジョジョ 特攻野郎Aチーム マツケンサンバ マツケン けばい カミーユ ジュドー ウッソ

0546デフォルトの名無しさん05/03/15 00:29:16
むーん氏降臨か?
0547デフォルトの名無しさん05/03/15 01:24:33
↓これ、縁起悪いから名前変えた方がいいと思う。
http://raa.ruby-lang.org/project/muravey-web/
0548デフォルトの名無しさん05/03/15 20:27:45
ruby on rails をインストールしました。インストールはすんなりいきましたが、
activerecordのテストをしようとして、
http://jp.rubyist.net/magazine/?0004-RubyOnRails
の ruby -I "connections/native_mysql" base_test.rb
を実行したら以下のようなエラーになりました。
何が駄目?
./../lib/active_record/base.rb:212:
uninitialized constant ActiveRecord::Base::ClassInheritableAttributes (NameError)
0549デフォルトの名無しさん05/03/15 21:42:07
ルヴィって読むのな。なぜか自分でも分からんがラヴィって読んでたよ。
0550デフォルトの名無しさん05/03/15 22:01:43
ルビーだが?
0551デフォルトの名無しさん05/03/15 22:27:07
ルゥビだが?
0552デフォルトの名無しさん05/03/16 00:31:43
Rubyの読み方決定戦が、始まる・・・!
0553デフォルトの名無しさん05/03/16 01:14:15
>>548
RoR 関係のライブラリはバージョンアップが激しいので
4号のプログラムは最新版では動かないんじゃないかな。
こっちじゃだめ?
http://jp.rubyist.net/magazine/?0005-RubyOnRails
0554デフォルトの名無しさん05/03/16 01:25:05
  ∩∩⌒ヽ∩
  (゚x゚)((ノ))ソ         | |
  ソ从i|゚ ヮ゚从 < 天罰!  | |  ドガッ
.    ⊂).合f )         人
.    Zくんl,/         <  >__Λ∩
      し//      // V`Д´)/ >>549
       //             /
.    Z//Z 彡
    (。x。)
    U U
0555デフォルトの名無しさん05/03/16 02:15:28
http://www.yamdas.org/column/technique/wikiphiliaj.html

ドキュメンテーションという雑用に直面した際、最近 Wiki 病に感染した人の典型的な抗弁は、
「おい! そのドキュメント Wiki に置こうよ!それがクールだって!」である。そうして Wiki の
インストール作業が、面白くないドキュメント作成作業を先延ばしにする手になるわけだ。
0556デフォルトの名無しさん05/03/16 09:44:48
>>555
そのページの主張は、至極もっともだと思うけれども
「楽しいからWikiを使う」という観点が抜けているのが気になる。
0557デフォルトの名無しさん05/03/16 15:09:05
Rubyの場合はドキュメント書きたくないってことだからな。
ツールは関係ない。
0558デフォルトの名無しさん05/03/17 01:30:33
Rubyのドキュメント?
PickAxeサイトとrdocがあるじゃん
あれで十分だよ
英語読めないやつはなでしこでも使ってろ
0559デフォルトの名無しさん05/03/17 02:17:55
>PickAxe
王道編ですな。邦訳本があるがな。
0560デフォルトの名無しさん05/03/18 11:09:31
>>553
どうもgemのインストールの仕方か使い方が間違っていたようで、
gemを使わずにインストールしたらあのエラーは出なくなりました。
0561デフォルトの名無しさん05/03/18 20:43:00
WEBrick::HTTPProxyServer を使っているのですが、
* ある特定の URL なら本物のサーバにアクセスせずに別のコンテンツを返す
* URL に応じて上流のプロキシサーバを変える
といったことはできるでしょうか?

ProxyContentHandler より前に handler hook があると良さそうなんですけど。

あと、コンテンツがでかいと危険な気がしなくもないんですが、これは気のせいですね。
0562デフォルトの名無しさん05/03/18 23:07:10
ところで、RAAにgonzuiを採用して、RAAに登録されてるコードを
検索できるようにするという話はないの?
0563デフォルトの名無しさん05/03/19 12:37:33
>>562
そういう発想は出てこないようなんだよねえ。やってもらえるとありがたいんだけど。
CPANにすらあるのに。
0564デフォルトの名無しさん05/03/19 12:58:03
せっかくのアーカイブも勿体ないよね・・・。
0565デフォルトの名無しさん05/03/19 13:41:41
ってかRAAに使うっていうのはgonzuiのようなものなら絶好のアピールでしょ。
bladeのコードを出せ出せというのが時々あるのを見ればわかる。
しょぼかったときはしょぼさ加減もアピールされてしまうけどさ。
0566デフォルトの名無しさん05/03/19 15:18:41
未踏縛りとかあるんかねえ?
あと今のところバージョナップ毎に db 作り直さなきゃいけないとかがちょっと。

つーか、誰か自分の鯖持ってるひとが試験的に上げてみるとかはないの?
0567デフォルトの名無しさん05/03/19 15:59:48
単純にまだベータ版だからじゃないの
0568デフォルトの名無しさん05/03/19 16:37:07
>>567
いいわけだろ。
少しは見習え。
http://cpansearch.bulknews.net/
0569デフォルトの名無しさん05/03/19 20:19:00
>>568
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Could not connect to remote machine: Connection refused

とか出てるよ?だからまだやめといた方がいいんじゃね?
0570デフォルトの名無しさん05/03/19 22:02:52
>>565
そう思うなら自分でやったら。
プログラムより先に言葉が出てくるのは老化の証拠だ。
0571デフォルトの名無しさん05/03/19 22:19:13
はあ?
0572デフォルトの名無しさん05/03/19 23:43:21
MoonWolfがまだ生きていたら同じことを言うだろうなぁ。
(死んでません)
0573デフォルトの名無しさん05/03/19 23:50:15
つか、リソースは確保できるのか?
CPANと違って専用のダウンロードサイトすら用意されていないわけだが。
0574デフォルトの名無しさん05/03/20 00:22:03
馬鹿な質問だったらごめん。
CPANとかRAAとかでgonzui使ってなにか嬉しいことあるの?

ある特定のプロジェクト内でソースコード検索したくなる理由はわかるんだけど、
こういうプロジェクト集めましたってところで
READMEとかだけでなく敢えてソースコード全体の検索をする理由がよくわからない。

従来の検索をなくすわけでないなら、あって困ることはないだろうけどね。
0575デフォルトの名無しさん05/03/20 00:33:26
例えばあるクラスの使い方がわからない時に検索。
そのクラスを実際に使ってるコードが見つかる。
0576デフォルトの名無しさん05/03/20 00:39:11
>>575
それすごくいいなあ
0577デフォルトの名無しさん05/03/20 00:46:15
>>574
リファレンスが糞な事を言い訳できる効果があります
057857405/03/20 03:44:50
つまりCPANやRAAをサンプルプログラム集として使うってこと?
0579デフォルトの名無しさん05/03/20 03:46:20
>>578
こういうやつって必ずいるよな。
0580デフォルトの名無しさん05/03/20 05:11:21
http://moulon.inra.fr/ruby/bdb.html
これのインストールってどうやるんですか?

マシンには Berkeley DB 4.2 が入っているのですけど、REAdMEに書いてあるとおりのコマンドを打つと、
127で途中で終了してしまいます。
0581デフォルトの名無しさん05/03/20 10:39:48
>>561
HTTPProxyServer は HTTPServer のサブクラスなんで
WEBrick::HTTPServer の :RequestCallback が使えると思います。
0582デフォルトの名無しさん05/03/20 11:05:39
>>580
エラーメッセージをコピペすれ。
0583デフォルトの名無しさん05/03/20 18:24:25
>>580
rubyってcvs head?
だとしたらruby extconf.rbで常にえらーメッセージが出るように
なっているんだよねぇ。面倒だから報告してないけど。
それかな?
0584デフォルトの名無しさん05/03/20 23:01:48
>>583
ムカつくextconf.rbだな。
別ディレクトリでコンパイルできんじゃないか。

--- bdb-0.5.4/extconf.rb.orig2004-12-30 19:10:31.000000000 +0900
+++ bdb-0.5.4/extconf.rb2005-03-20 22:57:46.000000000 +0900
@@ -15,6 +15,6 @@
end

-subdirs = Dir["*"].select do |subdir|
- /\Abdbxml/ !~ subdir && File.file?(subdir + "/extconf.rb")
+subdirs = Dir.entries($srcdir).select do |subdir|
+ /\Abdbxml/ !~ subdir && /\A\./ !~ subdir && File.file?(File.join($srcdir, subdir, "extconf.rb"))
end

@@ -60,8 +60,9 @@
test: $(DLLIB)
EOF
- Dir.foreach('tests') do |x|
+ Dir.foreach(testdir = $srcdir + '/tests') do |x|
next if /^\./ =~ x || /(_\.rb|~)$/ =~ x
+ x = File.join(testdir, x)
next if FileTest.directory?(x)
- make.print "\t-#{CONFIG['RUBY_INSTALL_NAME']} tests/#{x}\n"
+ make.print "\t-#{CONFIG['RUBY_INSTALL_NAME']} -C \"$(srcdir)\" tests/#{x}\n"
end
ensure
0585デフォルトの名無しさん05/03/20 23:02:09
@@ -71,6 +72,14 @@
subdirs.each do |subdir|
STDERR.puts("#{$0}: Entering directory `#{subdir}'")
+ Dir.mkdir(subdir) unless File.directory?(subdir)
Dir.chdir(subdir)
- system("#{CONFIG['RUBY_INSTALL_NAME']} extconf.rb " + ARGV.join(" "))
+ if $srcdir == '.'
+ srcdir = ''
+ elsif (srcdir = File.expand_path($srcdir)) == $srcdir
+ srcdir = "#{$srcdir}/#{subdir}/"
+ else
+ srcdir = "../#{$srcdir}/#{subdir}/"
+ end
+ system("#{CONFIG['RUBY_INSTALL_NAME']} #{srcdir}extconf.rb " + ARGV.join(" "))
Dir.chdir("..")
STDERR.puts("#{$0}: Leaving directory `#{subdir}'")
0586デフォルトの名無しさん05/03/21 00:33:41
>>583
> rubyってcvs head?
ruby 1.9.0 (2005-02-16) [i686-linux]

> だとしたらruby extconf.rbで常にえらーメッセージが出るように
> なっているんだよねぇ。面倒だから報告してないけど。
> それかな?

そうかもです。

一応、ログはこんな感じです。

extconf.rb: Entering directory `src'
checking for db_version() in -ldb-4.3... no
checking for db_version_4003() in -ldb-4.3... no
checking for db_version() in -ldb43... no
checking for db_version_4003() in -ldb43... no
checking for db_version() in -ldb-4.2... yes
creating Makefile
extconf.rb: Leaving directory `src'
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
0587デフォルトの名無しさん05/03/21 00:35:45
src/mkmf.logの最後の個所
--------------------

have_library: checking for db_version() in -ldb-4.2... -------------------- yes

"gcc -o conftest -I/usr/lib/ruby/1.8/i686-linux -I/usr/lib/ruby/1.8/i686-linux -I/usr/include
-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -Wall -fno-strict-aliasing -fPIC conftest.c -L"/usr/lib" -L"/usr/lib"
-lruby-static -ldb-4.2 -ldl -lcrypt -lm -lc"
conftest.c: In function `t':
conftest.c:4: warning: implicit declaration of function `db_version'
checked program was:
/* begin */

/*top*/
int main() { return 0; }
int t() { db_version(); return 0; }
/* end */

--------------------
これでmkmf.logは終了
0588デフォルトの名無しさん2005/03/21 03:46:13(月)
>>586
それだね。
Makefileはちゃんとできているから気にせずmakeするべし。
0589デフォルトの名無しさん2005/03/26(土) 22:49:35
http://raa.ruby-lang.org/gonzui/
0590デフォルトの名無しさん2005/03/26(土) 23:25:48
>>589はやまださんなのかな?











gonzuiマジデキタ━━━━━━━━━━(゚∀゚)━━━━━━━━━━!!!!!




 
0591デフォルトの名無しさん2005/03/27(日) 02:09:07
Matz日記より

コードがドキュメントだ
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?CodeAsDocumentation

> 私が常々主張していること。こんなふうに書けたら、誤解されずにすむのになあ。
0592デフォルトの名無しさん2005/03/27(日) 02:57:26
> コードを補完するには、他にもドキュメントが必要なんだ

他のドキュメントはどこよ……matz
0593デフォルトの名無しさん2005/03/27(日) 09:34:53
http://localhost/test/kagemai086/html/user.cgi

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


C:\Inetpub\bin\ruby-1.8.2-i386-mswin32\bin\ruby.exe: No such file to load -- ubygems (LoadError)

WinXPSP2+IIS+kagemai動かすと上のエラーが出るんだけどubygemsって何者?
0594デフォルトの名無しさん2005/03/27(日) 10:16:48
-rubygems => -r ubygems
0595デフォルトの名無しさん2005/03/27(日) 10:26:23
Gonzui 採用!
とてもいいニュースだ。
0596デフォルトの名無しさん2005/03/27(日) 11:39:35
>>593
ruby -rubygems と書けるように
ubygems が rubygems の alias になってる。
0597デフォルトの名無しさん2005/03/27(日) 11:55:14
> ubygems が rubygems の alias になってる。
誰か止めろよ。
0598デフォルトの名無しさん2005/03/27(日) 12:07:10
alias つっても、require 'rubygems' してるだけの
ubygems.rb がインストールされるってことなので。
0599デフォルトの名無しさん2005/03/27(日) 12:16:42
-rubygems なんて間違った指定を救済するためだけに
うびーじぇむず なんて意味不明な名前のライブラリを用意するそのセンスが
ついていけんのよ。
自分の事しか考えていない。
0600デフォルトの名無しさん2005/03/27(日) 12:44:48
間違った指定の救済じゃなくて、
-rrubygems ではなく -rubygems と
あたかも元からあるオプションのように書けるのが目的。
0601デフォルトの名無しさん2005/03/27(日) 13:45:57
groff -man も気に入らんな
0602デフォルトの名無しさん2005/03/27(日) 13:50:30
> あたかも元からあるオプションのように
見えんよ。元からあるなら --rubygems のはずだろ。
0603デフォルトの名無しさん2005/03/27(日) 13:53:16
ハイフンなんて1個でも2個でも変わらん、オプションの長短の区別なんて気にしない、
というそのセンスが、ついていけんのよ。
そのへんに転がってるやくたいもないツールならそれでも構わんが、rubyは言語だぞ?
OSとアプリケーションを支えるインフラなんだぞ?
0604デフォルトの名無しさん2005/03/27(日) 14:51:07
俺もその辺は姑息な対応してるなと思う。
0605デフォルトの名無しさん2005/03/27(日) 14:59:33
このスレに >>601 がわかる香具師がまるでいない罠。
0606デフォルトの名無しさん2005/03/27(日) 15:09:45
ていうかun.rbは?
0607デフォルトの名無しさん2005/03/27(日) 15:18:16
個人的には groff -man みたいな UNIX 的なセンスに馴染みがあるので、
-r ubygems は割とすんなり受け入れられるんだけども。
オプション指定時の「-rubygems」のわかりやすさと、
エラー発生時の「No such file to load -- ubygems」のわかりにくさで、
トレードオフの問題なのかなあ。
0608デフォルトの名無しさん2005/03/27(日) 15:21:08
roffなんて1960年代、まだメモリがビットいくらだった時代の産物だぞ。
んな昔の慣習を真似すんなよ。そういうのが良いと思ってるんなら別だが。
0609デフォルトの名無しさん2005/03/27(日) 15:32:06
64 名前:デフォルトの名無しさん[sage] 投稿日:2005/03/27(日) 09:36:05
http://raa.ruby-lang.org/gonzui/


65 名前:デフォルトの名無しさん[sage] 投稿日:2005/03/27(日) 13:36:52
>>64
日本語が化けてる。
0610デフォルトの名無しさん2005/03/27(日) 15:38:52
バグ?
http://raa.ruby-lang.org/gonzui/markup/bluecloth/install.rb?q=package:bluecloth%20funcall:collect#l108
0611デフォルトの名無しさん2005/03/27(日) 17:11:14
>>608
そういうのが良いと思ってるからやっているわけだが?
0612デフォルトの名無しさん2005/03/27(日) 17:26:45
明示的でないエラーを返すコンベンション。センス悪いよ。
0613デフォルトの名無しさん2005/03/27(日) 22:24:56
gcc -libertyのibertyライブラリとかもあるね。

gem作ってるやつらのセンスが悪いのは
もっと他のところで責められるべきだと思う。
0614デフォルトの名無しさん2005/03/29(火) 21:41:16
現在勉強中なのですが、良いone-liner集みたいなページありますか?
0615デフォルトの名無しさん2005/03/29(火) 23:35:43
>>614
勉強中ならone-linerではない普通のプログラムで勉強したら?
0616デフォルトの名無しさん2005/03/29(火) 23:58:47
うるせーヴォケ
0617デフォルトの名無しさん2005/03/30(水) 00:05:41
>615
614は「one-liner」の勉強中に500ルピー。
0618デフォルトの名無しさん2005/03/30(水) 00:41:00
Windowsでhtmlファイルをデフォルトに指定されているブラウザーから開くにはどうすればできますか?
0619デフォルトの名無しさん2005/03/30(水) 00:46:00
>>618
Win32APIをrequireして、ShellExecuteを呼ぶとか
06206192005/03/30(水) 01:05:58
むー、タブブラウザに関連づけしているはずなのにIEで開いてしまうな・・・
require 'Win32API'
SW_SHOW = 5
def shell_execute_open(file = nil, parameters = nil, directory = nil, showcmd = SW_SHOW)
  shell_exec = Win32API.new('shell32', 'ShellExecute', %w(p p p p p i), 'i')
  shell_exec.call(nil, 'open', file.to_s, parameters.to_s, directory.to_s, showcmd)
end

shell_execute_open("./index.html")
06216142005/03/30(水) 01:14:57
>>615
616は私ではないです。
言葉足らずで申し訳ないです。Cでは大袈裟な規模のものはシェルスクリプトとかで
書くんですが、Rubyも面白そうなので始めてみようかとした際に、普段gawkなんかで
書いてる一行処理がRubyでもっとエレガントに書けるのかなと思ったのです。
そこでそういった「Ruby小技集」みたいのないかなー、と・・・
ひょっとすると、one-linerってこういう意味ではないのでしょうか?
0622デフォルトの名無しさん2005/03/30(水) 03:26:19
>>620
'open'を0だかnilにしてみたら。
0623デフォルトの名無しさん2005/03/30(水) 11:14:54
>>621
いや、そういう意味でいいと思うよ、one-linerは。

でも、one-linerは、俳句みたいなもので、世界全体を一瞬で切り取った上で
その真髄だけを一編にまとめる芸術なわけだから、世界全体を把握する能力が
ないとちんぷんかんぷんになる。
きっと>>615が言ってるのはそういうことだろう。

で、one-linerを集めたページだけど、見当たらないんだよなあ、これが。
もちろん、いろんなページでone-linerを見かけたりはするんだけどね。
The RWikiあたりで探してみるのはどうかな。
0624621=6142005/03/30(水) 13:56:13
>>623
なるほど、理解致しました。単なる実用以上の「内匠の術」というニュアンスのが強いんですね。
RWikiを覗きつつ、通常技を修行して腕を磨くこととします。
お返事ありがとうございました
0625デフォルトの名無しさん2005/03/30(水) 15:54:37
>>624
いやー、単なる実用のやっつけ仕事であることも多いんだけどね。
ただ、短いから簡単ということはなくて、短いからこそ高度な技であることも
多いよ、ということでひとつ。
0626デフォルトの名無しさん2005/03/30(水) 17:25:28
もうだめぽ・・ SAKURAのコントロールパネルなんだけども
これでログイン出来ないのは何が悪いのか教えてぽorz
SSLじゃない普通のPOSTでクッキー使ったセッションのログイン(hikiの管理ページとか)は出来てるのに・・
これで二日くらいつぶれてるぽorz

$KCODE = 'e'
require 'http-access2'
require 'cgi'
id = ""
pw = ""
h = HTTPAccess2::Client.new
h.set_cookie_store("cookie.dat")
h.ssl_config.set_trust_ca('verisign-all.pem')
h.ssl_config.verify_depth = 4
uri = "https://secure.sakura.ad.jp/member/"
q = {}
q['id'] = CGI::escape(id)
q['pw'] = CGI::escape(pw)
q['level'] = '3'
q['url'] = ''
res = ""
res = h.post(uri, q)
h.save_cookie_store

print res.header.dump
print "===\n"
print res.body.content
0627デフォルトの名無しさん2005/03/30(水) 20:22:40
>>626 調べてやるからIDとパスワードよろ。

まあ、あれだ。出来ないことはやらない、でよくね?
そんな事で2日もつぶしてるってことは、
別にスクリプトで回さなきゃいけないほど忙がしいわけじゃないんだろ。
手作業でやりゃいいじゃん。
06286262005/03/31(木) 02:32:58
>>627
ようするに、DDNSのIP設定ツールのような感じで
SAKURAで管理しているgTLDのサブドメインに自宅設定したいんだよね
ゾーン設定を自動でやるためにログインが必要なんだけど
ログインフォームにPOSTしてもまたログインフォームが出てくるorz

ブラウザでログインしたクッキーを使って自前でcookie.datをでっち上げてやれば
一応先に進むことは出来るんだけど、それじゃなぁ・・・orz
0629デフォルトの名無しさん2005/03/31(木) 21:45:15
REXMLでDOMプログラミングしようとしたんだけど、REXMLってDOMじゃなくない?
0630デフォルトの名無しさん2005/03/31(木) 21:56:40
>>629
そもそも REXML が DOM って誰が言ってるの?
0631デフォルトの名無しさん2005/03/31(木) 22:55:31
ドム>>>>>>>>>>グフ>>>>>>>ザク
Ω「ああっ、俺を踏み台(ry」 Ω「ザクとは違(ry」 Ω「連邦の(ry」
0632デフォルトの名無しさん皇紀2665/04/01(金) 08:57:39
RubyOnRails の記事、今回が一番役に立った。
0633デフォルトの名無しさん皇紀2665/04/01(金) 14:50:08
近所のドムドムは数年前にウェンディーズに変わってますが、何か?
0634デフォルトの名無しさん皇紀2665/04/01(金) 15:04:06
今日 cvs update してみたら、なんか面白そうなのがいろいろ追加されてた。
0635デフォルトの名無しさん2005/04/02(土) 17:30:29
Cのincludeみたいにファイルを分割する方法と取り込む方法を
教えてください!!
0636デフォルトの名無しさん2005/04/02(土) 17:34:53
教えてください!!
0637デフォルトの名無しさん2005/04/02(土) 17:44:57
open(file, "r"){|f|
f.each{|x|
exec(x)
}
}
0638 ◆m7YeytgDFE 2005/04/02(土) 18:25:37
>>635
requireとかloadとか?
0639デフォルトの名無しさん2005/04/03(日) 05:26:18
配列のイテレータのなかで、その配列自体にプッシュしつつ、
その付け加えられた要素も評価してみました。

p ar = [1,2,3]
ar.each{ |i|
if i==2 then ar << 4 end
if i==4 then ar << 5 end
}
p ar

ここで each や collect/map を使うと ar = [1,2,3,4,5] となり
collect!/map! では、配列が変になってしまいました。
非破壊/破壊的メソッドとして、こうした挙動でいいのでしょうか?
0640デフォルトの名無しさん2005/04/03(日) 05:36:59
あんたcollect!/map!の意味わかってるか?
ar.map! { |i|
if i == 2 then ar << 4 end
if i == 4 then ar << 5 end
i
}
なら期待通りになると思うよ。
06416392005/04/03(日) 05:49:12
>>640 さん
あっ、そうか。
返す値が、要素を置き換えるかどうか、の話なんですね。
勉強になりました。感謝。
0642デフォルトの名無しさん2005/04/03(日) 15:06:56
長いURLをコンパクトにしてくれるサービス
http://www.rubyurl.com/
0643デフォルトの名無しさん2005/04/03(日) 15:28:37
2chで嫌な使い方されそうなサービスだな・・・
0644デフォルトの名無しさん2005/04/03(日) 17:24:41
オリジナルの http://tinyurl.com/ をお忘れなく。
まあ、Rubyスレだからrubyurlでいいんだけどな。
0645デフォルトの名無しさん2005/04/03(日) 18:56:01
サービス自体はともかくとして、
RoR を使って小一時間で作ったというのが言及すべきとこだろう。
http://www.robbyonrails.com/articles/read/7
0646デフォルトの名無しさん2005/04/03(日) 23:26:09
みんな開発環境は何使ってるの?
Windows + xyzzy + cygwin な俺は既に負けですかね
0647デフォルトの名無しさん2005/04/03(日) 23:29:14
>>646
アリなんじゃないの。
0648デフォルトの名無しさん2005/04/03(日) 23:44:38
またアンケートの時間でつか?
Windows + xyzzy + VC++6
0649デフォルトの名無しさん2005/04/03(日) 23:50:58
主にWindows + NoEditor。Rubyは1.8.2(mswin32)
0650デフォルトの名無しさん2005/04/03(日) 23:51:57
Windows + VC7 + メモ帳 勝ち組み
0651デフォルトの名無しさん2005/04/03(日) 23:53:28
>648
RubyってVCでも開発できるの?
0652デフォルトの名無しさん2005/04/03(日) 23:58:17
>>651
mswin32版。人によってはmswince版。
0653デフォルトの名無しさん2005/04/04(月) 00:03:06
eclipse流用のひよこ組
0654デフォルトの名無しさん2005/04/04(月) 01:30:10
Debian(coLinux) + xyzzy。
RoRをDebian/sargeに入れようとしてるんだけど
Debianのrubyパッケージがごちゃごちゃしててうまく入らない。
誰かうまくいった人いるかな。
RoRもDebianのパッケージにしてくれればいいのになー。
0655デフォルトの名無しさん2005/04/04(月) 01:37:32
Windows + xyzzy + mswin (One-Click Ruby Installer上書き)
rubyでできたエディタ欲しいなぁ。
xyzzyはソース無いからいじくれないし……

0656デフォルトの名無しさん2005/04/04(月) 01:42:54
>654
gemは使えないの?
0657デフォルトの名無しさん2005/04/04(月) 02:15:09
>>655
> xyzzyはソース無いからいじくれないし……
釣りか?ソースあるっつーの。
http://www.jsdlab.co.jp/~kamei/(T^T)/src-0.2.2.234.tar.bz2
0658デフォルトの名無しさん2005/04/04(月) 02:18:37
>>651
プロジェクト管理・ソース管理・ソース編集にVisualStudio使うのは普通にできるよ。
実行は標準入力がないものなら外部ツールとして実行して出力結果を下のペインに出せるし
標準入力が必要なら外部ツールとしてコマンドプロンプトで実行もできる。
0659デフォルトの名無しさん2005/04/04(月) 02:25:01
>657
絶対わからんよ……
あと、ライセンスがどうなっているのかわからんから、何にもできないね。
#怖いのでろくにソース読んでないけど
0660デフォルトの名無しさん2005/04/04(月) 04:13:53
rubyを組み込んだエディタということなら、vimもあるしなあ。
0661デフォルトの名無しさん2005/04/04(月) 04:19:23
xyzzyのソースのURLって直接貼るのは遠慮してほしいなーと言ってたような。
0662デフォルトの名無しさん2005/04/04(月) 04:39:19
エディタとか以前に、安定してて普及しててそれなりにサポートされてて
windowsで動いてrubyらしく使えるGUIライブラリを切望。
0663デフォルトの名無しさん2005/04/04(月) 04:43:48
作者によると、迎合するくらいなら人気なくてもいいらしいな
0664デフォルトの名無しさん2005/04/04(月) 07:06:22
rubyで統合GUIってだけでIPA採択されそうだな
0665デフォルトの名無しさん2005/04/04(月) 07:10:25
金はもらうが、例によってマニュアルはなしだな
0666デフォルトの名無しさん2005/04/04(月) 12:18:52
>>654
apt-get install rails

でダメ? sid ならこれで入るけど……。
0667デフォルトの名無しさん2005/04/04(月) 12:24:54
FreeBSD ports に rails まだー?
0668デフォルトの名無しさん2005/04/04(月) 13:19:45
>667
http://wiki.rubyonrails.com/rails/show/RailsOnFreeBSD

RUN_DEPEND= devel/ruby-gems
してscripts以下で
/usr/local/bin/gem --force install rails
でもするports書けばいいんじゃねぇの?
0669デフォルトの名無しさん2005/04/04(月) 14:18:28
>>668
pkg_delete で問題にならない? ports の作り方わかんないのでそのへんが心配で。
0670デフォルトの名無しさん2005/04/04(月) 15:13:35
FedoraCore3の開発ツールのデフォルトの設定で
Rubyのチェックがはずされている件について
0671デフォルトの名無しさん2005/04/04(月) 15:16:16
>pkg_delete で問題にならない?
scriptでgem -deleteすればいいんじゃない。
0672デフォルトの名無しさん2005/04/04(月) 16:24:04
>>671
むむ、 script がよくわかってないです。
port の作り方を勉強して出直して来ます。
0673デフォルトの名無しさん2005/04/04(月) 19:42:01
普通に
portinstall devel/ruby-gems
gem install rails
でいいんでないの?
0674デフォルトの名無しさん2005/04/04(月) 20:44:24
railsとはどんなものなのか1行から3行程度で説明してくさい
0675デフォルトの名無しさん2005/04/04(月) 21:06:47
線路です。
0676デフォルトの名無しさん2005/04/04(月) 21:14:48
いじわるね
0677デフォルトの名無しさん2005/04/04(月) 23:49:09
「Webアプリのめんどくさいことを抽象化しました」

0678デフォルトの名無しさん2005/04/05(火) 15:39:47
使えないけどとりあえずクラスにしてみました
0679デフォルトの名無しさん2005/04/05(火) 23:14:10
お前の尺度で考えたらあかんよ
0680デフォルトの名無しさん2005/04/06(水) 23:13:51
matz氏の言うmethod_missingプログラムと、
KernelをincludeしないObjectクラスを作ることって、
直接的に関係あります??

そんなクラス作ったからって、method_missingプログラムがやりやすくなるのかなぁ。

誰か教えて。
0681デフォルトの名無しさん2005/04/07(木) 00:19:48
>680
例えば、『equal?というメソッドを呼び出したときもmethod_missingを
実行したい』とかを考えてみればよろし。
Objectを使用すると、すでに定義済のメソッドをさらにoverrideしなきゃ
いかんから面倒なんでしょ。

#たかがそれだけ、と言えるかもしれんが……
0682デフォルトの名無しさん2005/04/07(木) 00:28:12
高橋メソッド
http://www.rubycolor.org/takahashi/
0683デフォルトの名無しさん2005/04/07(木) 01:18:24
おまいらも、Objectの上のクラスの名前を考えてみませんか?
ttp://www.rubyist.net/~matz/20050406.html#p02

0684デフォルトの名無しさん2005/04/07(木) 01:53:30
>>683
A
Core
Primitive
0685デフォルトの名無しさん2005/04/07(木) 07:47:20
>>683
ものすごい勢いで世界中からツッコミが入っている件について
0686デフォルトの名無しさん2005/04/07(木) 08:38:46
Kernelで定義済みのメソッドを取り消すモジュール作れば良いんじゃないの?
0687デフォルトの名無しさん2005/04/07(木) 10:46:28
>>662
WindowsだけでいいならApollo使え
0688デフォルトの名無しさん2005/04/07(木) 12:40:41
Delphi嫌いだからRuby始めたのに・・・
0689デフォルトの名無しさん2005/04/07(木) 13:27:18
指定したディレクトリ以下のサブディレクトリを巡回するのってどうすればいいですか?
0690デフォルトの名無しさん2005/04/07(木) 13:37:08
再帰
0691デフォルトの名無しさん2005/04/07(木) 14:09:41
find.rb
0692デフォルトの名無しさん2005/04/07(木) 14:51:20
巡回もなにも、Dir.glob('n/**/*') { |f| } でいいじゃん
0693デフォルトの名無しさん2005/04/07(木) 17:47:52
"Vanilla" つーのはどのへん由来なの?
0694デフォルトの名無しさん2005/04/07(木) 19:22:55
> vanilla [アメリカにおけるアイスクリームのデフォルト風味から]
> adj. 通常の風味(flavor)の。標準の。
『ハッカーズ大辞典』より。

「何も入ってない」とか「いろんな物を付け加ける前の状態」いう意味で
よく使われる気がする

0695デフォルトの名無しさん2005/04/07(木) 19:44:39
>>694
おお、サンクス。 Jargon に載ってたのね。
真っ先に調べろよ。>自分
0696デフォルトの名無しさん2005/04/07(木) 19:45:09
naidbs
0697デフォルトの名無しさん2005/04/07(木) 20:23:00
>>696
思いついても投稿するほどのものではない、とだいたいの奴がすぐにやめる一例
0698デフォルトの名無しさん2005/04/07(木) 21:29:02
Vanilla はたぶん Flavor からだろう。
Flavor は Lisp の一種で、Mix-in を最初に実装した言語。
そのルートクラスが Vanilla
0699デフォルトの名無しさん2005/04/07(木) 21:59:27
JoJoか?
0700デフォルトの名無しさん2005/04/07(木) 22:26:04
誰か「太一」の英訳をcontributeしてくれまいか
一単語にならんかな?
0701デフォルトの名無しさん2005/04/07(木) 23:25:09
Big One
0702デフォルトの名無しさん2005/04/08(金) 00:09:54
DAO
0703デフォルトの名無しさん2005/04/08(金) 13:48:14
ttp://shugo.net/jit/20050403.html#p01 の
/usr/local/bin/project-name ってどんなコマンドなんだろ?
かなり欲しい。
0704デフォルトの名無しさん2005/04/08(金) 13:55:04
ttp://cvs.m17n.org/cgi-bin/viewcvs/project-name/?cvsroot=ruby
0705デフォルトの名無しさん2005/04/08(金) 14:21:16
なんとなくそんな予感がしてたけど akr さんのでしたか。
0706デフォルトの名無しさん2005/04/08(金) 15:20:09
>>704みたいに即レスしてる人はこのスレずっと見張ってるの?
0707デフォルトの名無しさん2005/04/08(金) 15:22:54
このスレに住んでいる妖精さんです
0708デフォルトの名無しさん2005/04/08(金) 15:49:28
>>707
妖精さん乙
0709デフォルトの名無しさん2005/04/08(金) 15:50:45
project-name project-name
すればわかるよ!

と書こうと思ったのに、そんな風に即レスされると書けないじゃないか!
0710デフォルトの名無しさん2005/04/09(土) 06:11:26
鼻よりruby
0711デフォルトの名無しさん2005/04/10(日) 01:12:01
今魔法言語ルビま!のページ見に行ったらPythonのエラーが出てるんだけどこれは何かのギャグですか?
ttp://jp.rubyist.net/RubiMa/
0712デフォルトの名無しさん2005/04/10(日) 01:31:57
>711
誰も突っ込まなかったけど、MoinMoin使っているんだよね……
0713デフォルトの名無しさん2005/04/10(日) 02:15:47
Planet Ruby on Railsキタ━━━━(゚∀゚)━━━━!!
http://www.planetrubyonrails.org/
0714デフォルトの名無しさん2005/04/10(日) 03:28:36
>>276
亀レスだが、イイ方法思いついたので書いてみる。
#1.6とかの古いRubyだと動かないので注意。

def foo(ary, n=2)
Array.new(ary.size/n){
Array.new(n){ ary.shift }
}
end
p(foo([0,1,2,3,4,5])) #=> [[0,1],[2,3],[4,5]]
p(foo([0,1,2,3,4,5],3)) #=> [[0,1,2],[3,4,5]]
0715デフォルトの名無しさん2005/04/10(日) 03:39:52
RUBYYYYYYYYYYYYYYYYYYYYYY
0716デフォルトの名無しさん2005/04/10(日) 06:01:39
ここで聞いていいのかわからないけど、
RSSをメールで送信するようなサンプルってどこかに無いですか?
探してみたけどPerlのしか見つからない…
0717デフォルトの名無しさん2005/04/10(日) 14:44:11
http://d.hatena.ne.jp/keyword/%b9%e2%b6%b6%a5%e1%a5%bd%a5%c3%a5%c9
0718デフォルトの名無しさん2005/04/11(月) 19:31:47
IDF Japan:PDA感覚で素早くオン/オフできる小型XP機が登場
ttp://nikkeibp.jp/wcs/leaf/CID/onair/jp/comp/369370
米Intel Corp.は、WindowsXPを搭載できる小型パソコンの試作機「Ruby」を公開した
0719デフォルトの名無しさん2005/04/11(月) 23:23:47
うわー……
Rubyって商標とか取ってなかったっけ?
後出しのIntelからいちゃもん付けられそうで嫌だなぁ……
0720 ◆m7YeytgDFE 2005/04/12(火) 00:02:08
>>719
ソフトウェアとハードウェアだと分野(?)が違うから、とか?
複数の分野で取ってるんですかね?
0721デフォルトの名無しさん2005/04/12(火) 00:02:26
たぶんIntelの嫌がらせ
0722デフォルトの名無しさん2005/04/12(火) 00:24:36
うわー……
Rubyで商標取れるわけないだろ……
0723デフォルトの名無しさん2005/04/12(火) 00:43:02
多くの分野に渡って商標を取る事はできるけど、
「Ruby」の場合普通名詞だし、他分野に対する商標は無理じゃないのか?
つうか、IntelがRubyって名前を使っても別にデメリットは無いだろ。
Intelが大ゴケして「Ruby」って名前にネガティブイメージが付かない限りw
0724デフォルトの名無しさん2005/04/12(火) 01:45:53
君のような人を見ると、近年の中学生の語学力低下は本当に目に余るものがあると思うようになりますね。

あと君。自分でスレチガイだから終了だの、あいてもスレチガイだから終了だのほざいておきながら
やっぱり終了せずに書くのは何故なのかね。
あれかね、反論されると悔しいから、最後に発言するのは自分じゃないと気がすまないタイプの人なのかね。(苦笑

ああ、図星を指されたからといって「お前だってそうだろ」的な小学生の水掛け論みたいな返答はよこさなくて
いいです。それこそ馬鹿馬鹿しいですからw
0725デフォルトの名無しさん2005/04/12(火) 06:20:56
まあ「窓」をあらわす普通名詞の複数形は商標とれるんだけどね。
0726デフォルトの名無しさん2005/04/12(火) 09:48:45
Word という名前には震撼した
0727デフォルトの名無しさん2005/04/12(火) 12:14:27
ヲタってこういううんこみたいなネタが大好きだよね
0728デフォルトの名無しさん2005/04/12(火) 15:40:53
企業の基幹部分を担う開発部門にとって、重要なプロジェクト
にも安心して使える言語はわずかしかない。C#とJavaとXML
とSQL、他にもう1〜2の言語だけというのが一般的だ。この点
で言えば、従来、Pythonは「テスト」もしくは「オモチャ」用の
言語として一括りにされてきた。しかし、今回のカンファレンス
の講演は、しばしば、そうした評価を覆すものだった。

そうした講演の中で最も象徴的なのは、カンファレンスの冒頭
に置かれたMicrosoft Common Language Runtimeチ
ームの技術者Jim Huguninによる基調講演だろう。講演で
は、Pythonの.NET完全対応版リリース0.7が発表されただ
けでなく、Pythonに関する Microsoftのビジョンも明らか
にされた。それによると、基本的に、IronPythonプロジェクト
が完了すれば、Pythonは.NET開発で一般に使われているC#
などの言語を補足し生産性を高めるために使われるだろうと M
icrosoftは見ているという。実際、各種の講演では、一般的
な言語に比べてPythonを使えばコーディング時間が半減す
ることを示す実験や事例が紹介されていた。

Microsoftは、開発者にPythonを含むパッケージを提供し
たいと考えているようだ。.NETインフラストラクチャを補強し、
しかも従来のライブラリやデバッグ・ツールが使えるものが欲し
い。そこで目を付けたのが、使いやすく保守もしやすく、手早く
プログラミングができる言語だったのだ。
0729デフォルトの名無しさん2005/04/12(火) 16:06:04
IronPythonはShared Source Licenseになってしまったのが残念。
0730デフォルトの名無しさん2005/04/12(火) 19:59:01
コピペする時はせめて元URLくらい貼ろうぜ。
ttp://japan.linux.com/enterprise/05/04/01/0245247.shtml
0731デフォルトの名無しさん2005/04/13(水) 11:04:37
prefixはドライブレター禁止。
0732デフォルトの名無しさん2005/04/13(水) 12:56:11
コンパイルしてるところと別のドライブにインストールしたいときはどうすれば?
0733デフォルトの名無しさん2005/04/13(水) 13:02:06
matzが事あるごとにPythonを執拗に攻撃してるけど
結局世間の関心は(俺基準による)文法の完成度にはなかったって事だな。
0734デフォルトの名無しさん2005/04/13(水) 14:32:15
>>732
Makefile書き換え。
0735デフォルトの名無しさん2005/04/13(水) 14:34:21
それを理解できる脳がないから宗教なんかに入っているんだと思うよ
0736デフォルトの名無しさん2005/04/13(水) 14:36:13
宗教の話は宗教論争になるぞ
0737デフォルトの名無しさん2005/04/13(水) 14:39:15
>>734
やだもん。
0738デフォルトの名無しさん2005/04/13(水) 19:24:28
>>733
確かに「俺基準」だよなあ。
どこがきれいなのかさっぱりわからん。

特に読む方は最悪だと思う。
大規模プロジェクトではまず使えない。
0739デフォルトの名無しさん2005/04/13(水) 19:29:32
>特に読む方は最悪だと思う。
そりゃPerl.succですから。
0740デフォルトの名無しさん2005/04/13(水) 20:59:14
>>738
お前も「俺基準」でそう判断してるんだから、人のこと言えないって気付こうね。

>>733
何が「結局」なん?話が飛んでるな。大丈夫?
0741デフォルトの名無しさん2005/04/13(水) 21:18:42
松本さん、どうして2chだとそんなに口調が変わるんですか?
0742デフォルトの名無しさん2005/04/13(水) 21:28:31
ダンプ松本
0743デフォルトの名無しさん2005/04/13(水) 21:33:12
角田も見てるくらいだから、ダンプ松本も見てないとはいいきれんな。
0744デフォルトの名無しさん2005/04/13(水) 21:37:50
ダンプ松本とならセックスできる。
よって俺基準ではダンプ松本>>>>>>>Matz
0745デフォルトの名無しさん2005/04/13(水) 21:52:41
正直 >>744 を尊敬する。
漏れには無理だ。立たん。
0746デフォルトの名無しさん2005/04/13(水) 22:09:47
童貞は女ならなんでもいいと思うからねぇ。
0747デフォルトの名無しさん2005/04/13(水) 23:45:00
>>732
DESTDIR
0748デフォルトの名無しさん2005/04/14(木) 08:51:42
>>743
見てたとしても、速攻読み飛ばされてるだろうな。どうでもいいので。
0749デフォルトの名無しさん2005/04/14(木) 18:18:40
松本さん、毎日巡回ご苦労様です。
0750デフォルトの名無しさん2005/04/14(木) 19:35:32
matzが2チャンネラーってのは本人が言ってなかったっけ?
0751デフォルトの名無しさん2005/04/14(木) 20:17:06
>>731
「Postfixでラブレター禁止」
に見えた。
0752デフォルトの名無しさん2005/04/15(金) 09:52:42
PostItでラブレター禁止
0753デフォルトの名無しさん2005/04/15(金) 10:20:39
なんにせよラブレター禁止
0754デフォルトの名無しさん2005/04/15(金) 13:38:23
モジュールなどのパッケージアーカイブ作成の、最近のトレンドってなんでしょうか?
現在は setup.rb を使っているのですが、
make install 前に make test で Test::Unit するようにしようと思ったとき、
ファイル・ディレクトリ構成など、みんなふつーどうやってるのかなと思った次第。
0755デフォルトの名無しさん2005/04/15(金) 13:56:01
恋文と言え、恋文と
0756デフォルトの名無しさん2005/04/15(金) 17:20:19
「職場での繁殖行為禁止」
in 白夜書房の編集部
0757デフォルトの名無しさん2005/04/15(金) 22:38:38
RailsってTMailを含んでいるから、
ActionMailerはLGPLなんだよね?

サービスを提供するだけなら、
「今の」LGPLならソースを渡す必要性は無いんだけど、
ちょっと気になった。

教えてエロイ人。
0758デフォルトの名無しさん2005/04/16(土) 01:52:35
>>757
こっちで訊いた方がよくね?

【GPL】ライセンス問題討論すれ4【BDSL】
http://pc8.2ch.net/test/read.cgi/linux/1107439063/

ていうか、プログラムの複製、頒布、変更以外の行為についてはGPLでも
一切の制限を課していないわけだが。
0759デフォルトの名無しさん2005/04/16(土) 03:32:09
今日はmatzさん来ないねぇ。
0760デフォルトの名無しさん2005/04/16(土) 05:48:23
スクリプトのある場所のフルパスを得るにはどうすればいいんですか?
0761デフォルトの名無しさん2005/04/16(土) 08:08:26
>>760
__FILE__ とか?
0762デフォルトの名無しさん2005/04/16(土) 09:02:50
>>754
gems
0763デフォルトの名無しさん2005/04/16(土) 11:08:53
$0
0764デフォルトの名無しさん2005/04/16(土) 12:03:29
>> 761 >> 763
少なくともcygwin上だとどちらも相対パスになってしまうんですが…
0765デフォルトの名無しさん2005/04/16(土) 12:25:21
じゃあ絶対パスに展開すればいいじゃん
0766デフォルトの名無しさん2005/04/16(土) 12:27:01
File.expand_path

__FILE__や$0は呼ばれ方に依存する。絶対パスで指定して実行すれば絶対パス
になるし、相対パスで指定して実行すれば相対パスになる。
0767デフォルトの名無しさん2005/04/16(土) 15:48:26
これRubyだと何行くらいで書けますか?
http://light.server.ne.jp/member.php
0768デフォルトの名無しさん2005/04/16(土) 17:34:42
うへ、踏んじまった。
ま、面白そうだから請求が来るのを楽しみに待つか。
0769デフォルトの名無しさん2005/04/16(土) 20:07:19
[ruby-list:40779] [ANN] Exerb 3.3.0-preview1

yuyaさん乙。ずーっと待ってました。
0770デフォルトの名無しさん2005/04/16(土) 22:29:16
gem installしたpostgresライブラリがDBIで認識されないらしく、エラーになります。
うまくいってる人いますか?
詳しく説明すると、
gem install --remote postgres
してから
require 'dbi'
dbh = DBI::connect("DBI:Pg:test", "username", "password")
すると
/usr/lib/site_ruby/1.8/dbi/dbi.rb:490:in `load_driver': is not a class/module (
TypeError)
from /usr/lib/site_ruby/1.8/dbi/dbi.rb:392:in `_get_full_driver'
from /usr/lib/site_ruby/1.8/dbi/dbi.rb:372:in `connect'
というエラーがでます。
しかしgem installではなく、ruby extconf.rb; make; make install した場合はうまく動作します。
gem installしたpostgresをDBIでも使うにはどうしたらいいのでしょうか。
0771デフォルトの名無しさん2005/04/17(日) 22:44:07
connectの引数を"DBI:Pg:test"じゃなくて"DBI:pg:test"にしてみたら?

load_driverは、最初に"DBD/#{driver_name}/#{driver_name}"をrequireして
みて、失敗したら$:を順に"DBD/#{driver_name.downcase}"というディレクト
リを探していくようだ。一方gemでインストールされたライブラリはちょっと
特殊なところに置かれるから、$:からは探せない。

ということで、おそらく最初からdowncaseしたドライバ名を使えばいいのでは
ないかと。
0772デフォルトの名無しさん2005/04/24(日) 09:22:05
-talkのあのバカ騒ぎは一体なんでつか?
0773デフォルトの名無しさん2005/04/24(日) 09:54:11
>>772
英語が読めないオレのために詳しく
0774デフォルトの名無しさん2005/04/24(日) 10:23:33
発端は[ruby-talk:136898]あたりかなぁ?
最初は「ri Classで出てくる図はおかしい」という指摘をしてたんだけど、
どっからああなったのやら。よく分からん。

metaobj = class << Object; self; end
p Object < metaobj    # => false
p metaobj === Object   # => true
p metaobj < Class     # => true

たしかに、Object---->(Object)は継承関係じゃなくてインスタンスだ、って
のはあってるんだけど。
0775デフォルトの名無しさん2005/04/24(日) 17:19:20
事情をよく理解してないけど、その挙動とあの図はどこか矛盾してる?

あと、Iliasって人は有名な熱狂的Smalltalkerか、それともただの電波?
いや、metaclassがclassのインスタンスであると認めたくないのかなと思って。
0776デフォルトの名無しさん2005/04/24(日) 17:47:11
熱狂的な電波。
0777デフォルトの名無しさん2005/04/24(日) 18:06:37
777 (*^ー゚)b
0778デフォルトの名無しさん2005/04/24(日) 20:00:33
あるライブラリhogehoge.rbがインストールされているディレクトリを調べる
0779デフォルトの名無しさん2005/04/24(日) 20:50:35
調べてください。
0780デフォルトの名無しさん2005/04/24(日) 22:24:04
>>775
> 事情をよく理解してないけど、その挙動とあの図はどこか矛盾してる?
「矢印は継承関係を表す」って書いてあるのが合ってない。だから
[ruby-talk:139216]では「縦の矢印」と書き加える、という話になってるんだ
けど。

でも「metaclassはオブジェクトじゃない」という主張は根拠も論旨もサパー
リ理解不能。
0781 ◆m7YeytgDFE 2005/04/24(日) 22:50:46
>>778
"hogehoge.rb"なら下記のような方法でも。
"hogehoge.so"には対応してませんが。

> def print_library_path( file_name )
> $LOAD_PATH.each do | x |
> path = x + '/' + file_name
> puts( path ) if File.exist?( path )
> end
> end
>
> print_library_path( 'cgi.rb' )
0782which.rb2005/04/25(月) 08:15:14
#! /usr/bin/ruby

require 'English'
require 'rbconfig'

def File.absolute?(path)
 expand_path(path) == path
end

class << $:
 DLEXT = Config::CONFIG["DLEXT"]
 e = Config::CONFIG["DLEXT2"]
 DLEXTs = [DLEXT]
 unless e.empty?
  DLEXT2 = e
  DLEXTs << DLEXT2
 end
 EXTs = ['rb'] + DLEXTs
 dlexts = DLEXTs.grep(/\A(?!s?o\z)/){|e|Regexp.quote(e)}.join('|')
 DLEXT_Pattern = %r"\.(?:s?o|#{dlexts})\z"
0783which.rb2005/04/25(月) 08:15:41
 def loadable?(path, exts, all = false)
  found = []
  exts.each do |ext|
   begin
    s = File.stat(n = "#{path}.#{ext}")
    if s.file? and s.readable?
     found << n
     break unless all
    end
   rescue
    false
   end
  end
  return *found
 end

 def feature_type(lib)
  case lib
  when /\.rb\z/
   [$PREMATCH, ["rb"]]
  when DLEXT_Pattern
   [$PREMATCH, DLEXTs]
  else
   [lib, EXTs]
  end
 end
0784which.rb2005/04/25(月) 08:16:44
 def find_first(lib)
  feature, exts = feature_type(lib)
  return loadable?(feature, exts) if File.absolute?(feature)
  each do |path|
   return path if path = loadable?(File.expand_path(feature, path), exts)
  end
  nil
 end

 def find_all(lib)
  feature, exts = feature_type(lib)
  return loadable?(feature, exts, true) if File.absolute?(feature)
  list = map do |path|
   path if path = loadable?(File.expand_path(feature, path), exts, true)
  end
  list.compact!
  list unless list.empty?
 end

 def find(*libs)
  libs.collect(&method(:find_first))
 end
end
0785which.rb2005/04/25(月) 08:17:25
if __FILE__ == $0
 require 'optparse'
 cmd = :find
 opt = nil
 ARGV.options do |opt|
  opt.banner << " lib..."
  opt.on("-a", "--all") {cmd = :find_all}
  opt.parse!
 end or abort(opt)
 puts $:.send(cmd, *ARGV)
end
0786デフォルトの名無しさん2005/04/25(月) 18:43:57
>>778
http://raa.ruby-lang.org/project/devel-which/
0787デフォルトの名無しさん2005/04/27(水) 21:41:37
No, Thank YOU!
かっこよすぎ
0788デフォルトの名無しさん2005/04/29(金) 12:25:10
文字入れるときとか、何かというと ' シングルクォーテーション使うの、もうやめないか?
ダブルクォートのほうが見やすいんだよ
0789デフォルトの名無しさん2005/04/29(金) 12:31:30
RubyはDelphiのパクリ言語だからシングルクォートが本流なのは間違いない。
0790デフォルトの名無しさん2005/04/29(金) 12:38:16
世間の標準はダブルクォートだし、
もう世間様に合わせる社会性ある言語になると腹をくくってるんだから、
もうダブルクォートでいいんだよ
シングルクォートはその必要があるときだけ使おう
0791デフォルトの名無しさん2005/04/29(金) 13:01:22
世間の標準はPy(ry
0792デフォルトの名無しさん2005/04/29(金) 18:43:57
RubyはSmalltalkの(ry
0793デフォルトの名無しさん2005/04/30(土) 02:09:24
なんとなくbegin endと{}の話題に近いな。
0794デフォルトの名無しさん2005/05/01(日) 10:42:49
へいわだねぇ…。
~~
旦
0795デフォルトの名無しさん2005/05/01(日) 19:11:06
すなこん
0796デフォルトの名無しさん2005/05/02(月) 01:29:31
なんか「Rubyでつくる人工無脳」って本が出てたけど、
読んだ人どう?面白かった?
0797デフォルトの名無しさん2005/05/03(火) 02:35:21
大変だ!perlという言語を使ってみたのだが
Rubyよりもめちゃくちゃ使いやすい!
こんな素晴らしい言語があったのかと感動した。
Rubyの開発者が言語のスタイルについて色々言っていたけど
それを具現化した物はRubyじゃなくて、
perlだと思えるようになってきたよ。
0798デフォルトの名無しさん2005/05/03(火) 03:15:54
そりゃだいへんだ
0799デフォルトの名無しさん2005/05/03(火) 03:24:06
>>796
人口無能には興味ないんだが一時期の関連本の出版ブームよりはよっぽど面白そうだな。
(たまたま)Rubyを使った〜本が増えればいいんだけど
Rubyでクイックソートしてみるアルゴリズム本なんて需要はないですかそうですか。
0800デフォルトの名無しさん2005/05/03(火) 06:39:45
>>796
ttp://www.kakutani.com/20050430.html#p01
>カバーが「Ruby?」となっていてステキだ。プログラムにさほど親しんでいない人向けに、
>人工無脳をつくる「手段」としてRubyを紹介。あくまでRubyも手段でしかないので、
>記述は簡潔だけれど、本文だけでなくコラムでのフォローもポイントが押さえてあって
>わかりやすい。本文にもさりげなく遊びゴコロがまぶしてあって、バランス感覚を感じる。
>単純なテキストベースのものからGUI、応答のバリエーションと続き、最後はSOAPでググる、
>という展開も自然で興味深く、オブジェクト設計についても、専門用語は一切でてこないけれど、
>SRP(単一責任原則)やOCP(開放/閉鎖原則)を満たすような誘導がしてある。素晴らしい。

絶賛だな。
0801デフォルトの名無しさん2005/05/03(火) 09:23:48
Rubyのブロックって、いわゆるクロージャだと思うのですが、
なぜクロージャと呼ばずブロックと呼ぶのでしょうか。
'{'と'}'で囲っているからといわれればそれまでなんですが、
あきらかにCやJavaのブロックとは違うし紛らわしいので、
なぜクロージャと呼ばないのか不思議です。
0802デフォルトの名無しさん2005/05/03(火) 10:13:24
>>801
smalltalk
0803デフォルトの名無しさん2005/05/03(火) 13:16:21
Rubyとは間接的にしか関係ないとは思うのですが、wema で一般の人がwema.confにアクセスできないようにするには
どう設定すればいいのでしょうか?

素のままだと、パスワードなども丸見えなので。
0804デフォルトの名無しさん2005/05/03(火) 14:25:58
ここをWWWから見えない位置にする
component/ConfigPage/ConfigPage.rb: File.open('./wema.conf','w'){|f|
lib/wemaapp.rb: File.open('wema.conf','r'){|f|
0805デフォルトの名無しさん2005/05/03(火) 21:04:00
一行にいつくかのアイテムが空白でくぎられてあるファイルの、
たとえば、第一列目を抜き出すにはどうしたらいいんでしょう?

いまは、正規表現にマッチさせて、グルーピングさせてから、参照してます。
awk 見たいに、 $1 みたいな感じな方法はないでしょうか??

一列目や最終列なら、^ や $ が使えるのでタイプ量はすくないけど、
他のところだと、タイプするのがだるい。。。
0806デフォルトの名無しさん2005/05/03(火) 21:30:52
普通に split[0] とか?
08078052005/05/04(水) 00:34:29
そうだよね。split があるよね。
頭が腐ってる。。。もうだめだよ、ままん。

ありがとう。
0808デフォルトの名無しさん2005/05/04(水) 00:47:41
railsで使われてる、ActiveRecordって、単体でも使えるんですよね。
この場合って、データベースの設定ファイルはどこに書けばいいんでしょうか??
08098082005/05/04(水) 01:33:39
あらら、るびまに書いてました。失礼しました。

http://jp.rubyist.net/magazine/?0004-RLR
0810デフォルトの名無しさん2005/05/04(水) 05:40:39
ttp://www.users.gr.jp/blogs/haramizu/archive/2005/05/03/13548.aspx
これって結構大きな問題の気がするんだがbladeは大丈夫なんだろうか。
というかこんなに簡単に引っ込めてしまっていいものなんだろうか
# もちろん一人にリスクを負わせたまま、ただ再開しろとはいえないが。
0811デフォルトの名無しさん2005/05/04(水) 06:44:08
単にDQN同士でちちくりあってるだけのように見えるが
0812デフォルトの名無しさん2005/05/04(水) 09:52:00
どこに blade の話題が載ってるの?
0813デフォルトの名無しさん2005/05/04(水) 09:55:28
MLのログつながりだろ。仮に裁判やっても負けるとは思えないが。
0814デフォルトの名無しさん2005/05/04(水) 10:08:28
あぁ、そういう話ですか。

というか、 ruby-* の場合、
ML 案内ページにも過去メール参照ページが紹介されてるわけですから、
ML に登録した時点でログ公開に同意したと思って良いと思いますが。

後付けでログ参照ページを設置する場合は揉めるケースもよくあるようですが。
0815デフォルトの名無しさん2005/05/04(水) 10:13:15
>しかしながら、メーリングリストに投稿したメールにメールアドレスが掲載されており、
>削除しなければ個人情報保護を元に訴えるという旨のメールが来ました。
bladeの存続はMWタソの気分次第ってことかー
0816デフォルトの名無しさん2005/05/04(水) 13:45:51
One-Click Ruby Installer for Windowsの日本語特化バージョン
はどっかでダウンロードできませんかね。
即hiki使えるのが魅力。
0817デフォルトの名無しさん2005/05/05(木) 09:56:02
自己レス
ttp://www1.tf.chiba-u.jp/~shin/tutorial/index.rb?Chapter=00
にリンクがはってるね。
08188012005/05/05(木) 22:04:55
>>802
いみがわかんないんだけど、smalltalkでブロックと呼んでいるから、ということでしょうか。
0819デフォルトの名無しさん2005/05/05(木) 23:13:01
ブロックは 1 メソッドコールに 1 個までだったり、
引数のスコープが怪しかったりするし、
大体表記的に first class とはいいにくいと思う。
あえていうなら closure なのは Proc だろう。
そして手続き型言語の Ruby としては
Closure より Proc のほうがしっくりくる (主観)
0820デフォルトの名無しさん2005/05/06(金) 01:33:32
どこかで「呼び出しメソッドを自由に設定できるProc」というのを見たことある気がするんだが
誰か知らないか?
0821デフォルトの名無しさん2005/05/06(金) 02:54:56
[ruby-dev:24302]
0822デフォルトの名無しさん2005/05/06(金) 23:41:05
[ruby-dev:25772]の方がかっちょええよ
0823& ◆XV7or8STL2 2005/05/07(土) 14:45:59
いま、rails 勉強中で、まだインストールもしていない状況なんですが
railsとamrita2って、そのままで連携できるんでしょうか??
Googleして、メーリングリストを見たりしてると、
rails-amrita2 bridgeのパッチを当てないといけないようにも、
あてなくてもいいようにも見えるんですが、
パッチは必要でしょうか??
0824デフォルトの名無しさん2005/05/08(日) 00:45:19
0.11.1からbridge取り込まれたんじゃなかったっけ?
対応しているテンプレートはAmrita2とKwartz、SikiTemplate
かしらん?他には?
08258232005/05/08(日) 01:04:29
>>824
でも、Viewに何使うかって、どこで指定するんでしょう。。
いきなり、Amritaのtemplateファイルがviewディレクトリに置かれていても
ERBファイルとして認識してエラー出すだけのような気がするのですが。。


あと、script/generate amrita_scaffold Recipe とかあると便利なんだけどなぁ。
0826デフォルトの名無しさん2005/05/08(日) 01:39:15
>>825
> script/generate amrita_scaffold Recipe

なにそれ
0827デフォルトの名無しさん2005/05/08(日) 01:58:15
それと別に、
ERBでいいじゃんと思うのが一つ

テンプレートなんつーものは発展途上だし、
オブジェクトとページのマッピングなんて、かっこつけんな、とも思う

手軽に定義できるスクリプト言語であれば、例えばJavaやC#よりは、
ページとオブジェクトのマッピングしやすい面はあると思うけど
08288232005/05/08(日) 02:21:10
>>826
Railsやったことあります??
Railsって、データベースをCRUDするための画面
(ActiveRecord::Baseクラスに対してCRUDするための画面)を
script/generate scaffold ってコマンドで自動生成してくれるんです。
でも、その画面って、当然ERBで書かれてるから、
せっかく、AmritaをRailsで使えるようにしてくれてるのなら、
script/generate amrita_scaffold なんてのもあれば、もっと楽できる気がした。
(自分で書いても、全然大した量じゃないんだけど。)

あと、
Amritaって、Amrita2で、かなり良くなってますよ。
ERBだと、GoLiveとかでデザインした後に、HTMLにコード書き込む必要あるけど、
Amrita2だと、その必要ないです。ホントに。
たしかに、僕のように、個人レベルならERBでもいいかもしれないけど、
Railsの目標とする使われ方だと、Amrita2の方が有利だと思うけど。
個人レベルでも、GoLive起動して、ちゃちゃっと修正してアップとかできると、かなり楽だと思う。
08298232005/05/08(日) 02:28:13
個人的なAmrita2の使い方というか、理解ですけど、
HTMLから、Rubyスクリプトを呼び出せるって感じで理解しています。

<div id="test"> </div>
だと、Presentaion Object(PO)のtestメソッドを呼び出せて

<div id="test2"><div id="test2_test"></div></div>
だと、Presentation Objectのtest2の指すオブジェクトのtest2_testメソッドが呼び出せるという風に。

これだと、GoLiveとかで、デザインができますよね。
0830SikiTemplateの作者2005/05/08(日) 02:29:10
呼ばれてないけど飛び出てじゃじゃじゃじゃ〜ン

>825
amrita2/sample/rails/readme.txt に使い方書かれているよ。

SikiTemplateでは簡単に導入できるようにちょっとだけ気を使いました。
http://www.fiercewinds.net/siki/cgi/index.cgi?Command=Show;Target=%2FRuby%2FApplication%2FSikiTemplate%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AB%E3%82%88%E3%82%8B%E8%A7%A3%E8%AA%AC%2FRubyOnRails%E3%81%A7%E3%81%AE%E4%BD%BF%E7%94%A8

>827
テンプレートではHTMLだけいじっていたいのよ。
デザインしている時にロジックを考えなきゃいけないのはちょっとムカツク。
08318232005/05/08(日) 02:37:31
SikiTemplateの作者さんがメーリスで聞いてるのを見つけたんですけど
http://www.fdiary.net/ml/rails/msg/122
同じこと考えたみたいですねぇ。

でも、この解決方法って、Controllerの中に、Viewが入ってきて気持ち悪い。。
あんまり解決になってない気がするけど。。
0832の2005/05/08(日) 03:03:23
>831
まあねぇ

ただ、
・Rubyの自然な表記( []演算子 )でテンプレートと対応付けしている。
・Controllerには対応付けのための最低限の情報(変数名/ラベル名……みたいなの)
 しか入っていない
だから、自分としては妥協できる範囲だと思っています。
もともとControllerはModelとViewを制御するためのものだから、Viewのインターフェイス
(変数名)についての情報は持っているはずだし。
08338232005/05/08(日) 03:21:33
Railsが、configディレクトリ以下で使いたいTemplateエンジンを簡単に指定できるようにしてくれればいいのに。。

ちなみに、
http://amrita2.rubyforge.org/rails/todoapp1/
↑ここを見ると、railsにパッチを当てるとamritaは
helperディレクトリにpresentationクラス
viewディレクトリにtemplateクラス
を、controllerに何も書かなくてもできます。

ぼくが聞きたかったのは、最新のrailsでは、こういうことがパッチ無しでできるのかということだったのですが、
どうも無理っぽいですね。。
パッチあてるのって、あんまり気持ちよくないんですね。。
0834デフォルトの名無しさん2005/05/08(日) 03:31:38
「メーリス」って何?
0835デフォルトの名無しさん2005/05/08(日) 09:15:09
テンプレートを使えばGoLiveでデザインできる みたいな話あるけど
それって幻想だと思うんだよね。
どうしたって、自前でのコーディングが絶対必要で、
GoLive使ってデザインするほうが反ってコストがかかったりする。
HTMLコードが崩れたり、どうしてもそうなる。
ならば、コーディングベースで効率のいい方法を考えたほうがいい。

ERBは多少はゴタゴタするけど、単純でいい。
テンプレートのライブラリは、どれも安定感は欠けるね、仕様的な。
まぁ、しばらくは試行錯誤が必要だ。
0836 ◆m7YeytgDFE 2005/05/08(日) 10:32:46
>>834
メーリングリストの略じゃないかな?初めて見ました。
個人的にはMLと表記する方がまだ分かりやすいような。
そもそも、"メーリングリスト"なら略す必要を感じないけど。
0837デフォルトの名無しさん2005/05/08(日) 12:21:04
メリークリスマス
0838デフォルトの名無しさん2005/05/08(日) 12:51:05
>835
>ERBは多少はゴタゴタするけど、単純でいい。
ゴタゴタする時点で単純じゃないと思うけど。
HTMLの中でforループ回したりするんだったら、CGIのHTMLエレメント出力用
メソッドを使うほうがいいな。あるいはAmrita2で作成中の
ttp://amrita.s14.xrea.com/d/?date=20050401#p01
とか。
0839デフォルトの名無しさん2005/05/08(日) 18:58:44
メーリスって、普通に使うぞ。
http://www.google.co.jp/search?hl=ja&q=%E3%83%A1%E3%83%BC%E3%83%AA%E3%82%B9&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0840デフォルトの名無しさん2005/05/08(日) 19:08:07
メーリスっていうML系言語の処理系を書いてますます事態を混沌とさせる人きぼん。
「メーリスってMLだよ」がわけわからなくなります。
0841デフォルトの名無しさん2005/05/08(日) 19:26:45
つまんな〜い
0842デフォルトの名無しさん2005/05/08(日) 21:01:05
ぐぐって高々 8,360 件を「普通」って言われてもなあ。
0843デフォルトの名無しさん2005/05/08(日) 21:37:29
今は 12,700 件みたいだ。たった 30 分で 1.5 倍に増えたなw
メーリスという語感が気持ち悪い。
0844デフォルトの名無しさん2005/05/08(日) 23:49:28
Rails + Amrita, Rails + XTemplate?
http://rails.yanime.org/rssfwd/preview?url=http://www.rubyweeklynews.org%2Findex.xml
↑ここに次のように書いてるんだけど
Greg McIntyre asked “Has anybody thought about putting Amrita/XTemplate support in Rails?”
Jeff Barczewski said that DHH had added templating support to Rails, based on work from Jamis Buck. (As far as he could recall.)
This provides hooks for invoking whatever templating engine you wish to use.
ここに書いてるhookってなんのことでしょうか??
どうやって使うか誰か教えてください。m(_ _)m

なんかrailsややこしいぞ。
0845デフォルトの名無しさん2005/05/09(月) 00:00:16
http://amrita2.rubyforge.org/rails/README.txt
↓ここに書いてることするしかないんですね。。
4) Add the following two lines to your config/environment.rb file:
require 'amrita2_view'
ActionView::Base.register_template_handler "a2html", Amrita2View::Base
これが、hookってことなんですね。
(http://one.textdrive.com/pipermail/rails/2005-February/003322.html)

どうもお騒がせしました。
0846デフォルトの名無しさん2005/05/09(月) 00:12:01
http://JJ079055.ppp.dion.ne.jp/
wwwwwwwwwwwwwwwwwwうはっwwwwww
wwwwwwうぇwwwwwwwwwwwwwww
っうぇおkwwwっっうぇうぇwwwwwwwwwwwwwww
0847デフォルトの名無しさん2005/05/09(月) 21:36:41
http://jp.rubyist.net/magazine/?0006
0848デフォルトの名無しさん2005/05/09(月) 23:03:33
リファレンスマニュアルがわかりづらい&読みづらいのは仕様ですか?
0849デフォルトの名無しさん2005/05/09(月) 23:41:40
どう変えたら分かりやすい&読みやすいか例示希望
0850デフォルトの名無しさん2005/05/09(月) 23:43:02
つ[MSDN]
0851デフォルトの名無しさん2005/05/10(火) 00:03:48
微妙に「ある程度わかってんだろ」的な説明とかあるし(なんていうか端折りすぎ)、
「コード〜と同じ」とか、〜の部分の説明にリンク貼ってあればましだけどそれも無い
所もあるし飛んだ先もわかり辛いし。
0852デフォルトの名無しさん2005/05/10(火) 00:16:02
>>3
http://www.ruby-doc.org/core/

こういうの?
0853デフォルトの名無しさん2005/05/10(火) 00:43:39
るびま復活
http://jp.rubyist.net/magazine/?0006
0854デフォルトの名無しさん2005/05/10(火) 01:05:55
>>852
わかりやすいねぇ〜。っていうか、ruby-lang.orgからのリンクもこれにしてくれればいいのに。
っていうかすべきだろ、おい。
0855デフォルトの名無しさん2005/05/10(火) 07:19:24
論文が書き終わったっていうことは1.8.3に期待してもいいですか。
0856デフォルトの名無しさん2005/05/10(火) 09:48:26
>>854
するとまた英語読めないとか暴れだす奴が出てくる。
0857デフォルトの名無しさん2005/05/10(火) 12:50:30
RDoc ってわかりやすいかなあ?
0858デフォルトの名無しさん2005/05/10(火) 14:33:51
>>854
その「わかりやすい」って言葉が曖昧でわかりづらい。
もうすこし何がどうわかりやすかったか教えてほしい。
お願いします。
0859デフォルトの名無しさん2005/05/10(火) 17:26:15
英語で書いてあったのでわかりやすかったです。
0860デフォルトの名無しさん2005/05/10(火) 17:34:31
結局、ドキュメントにいちゃもんつけてる奴らは、単に煽りたかっただけなのか。
0861デフォルトの名無しさん2005/05/10(火) 18:27:22
そういうことしたいのですかに
0862デフォルトの名無しさん2005/05/10(火) 19:08:38
>>856
英語読めない
空気読めない
0863デフォルトの名無しさん2005/05/10(火) 21:29:02
こういうJavaのマニュアルのような癖だらけリンクだらけのマニュアルは
かえって目的の情報にたどり着きにくくて読みにくい。と思うのは俺だけじゃないはず
0864デフォルトの名無しさん2005/05/10(火) 21:39:48
>>863
どのへんが「癖だらけ」?
というのを解説してくれると役立つのは俺だけじゃないはず
0865デフォルトの名無しさん2005/05/10(火) 21:44:32
話の展開がここの「なぜLinuxは糞なのか」と全く同じだな
http://pc8.2ch.net/test/read.cgi/linux/1115132529/
0866デフォルトの名無しさん2005/05/10(火) 23:53:27
[ruby-list:40817]
Moonwolfたん出番でそ
0867デフォルトの名無しさん2005/05/11(水) 00:05:58
MW!
0868デフォルトの名無しさん2005/05/11(水) 01:45:28
>>864
いろいろあるけど一番嫌なのは、サンプルが載ってないから
必要なメソッドや関係するメソッドを見つけ出すのに謎のカンと経験が必要なこと。

そもそも文章で緻密に説明されるより、簡潔なサンプルをいくつか載せて
「ある程度わかってんだろ」的な説明をしてくれる方がありがたい。と思う派なので
0869デフォルトの名無しさん2005/05/11(水) 03:04:16
>>868
それ、すげーわかる

でも、サンプルありまくりなものもあるんだが
ttp://www.ruby-doc.org/core/classes/Array.html
0870デフォルトの名無しさん2005/05/11(水) 04:05:12
>>869
あ、ほんとだ。思ったより悪くないかも?
現状に不満じゃないから乗り換える気はしないけどね。

RDocやJavaのマニュアルでもう一つ不満なのは、フレームの一覧表示。
クラス一覧に、添付ライブラリのクラスまで含めて
ABC順にずらっとクラス並べられると、なぜか読む気が減退する。
ライブラリ単位での一覧が欲しい。ファイル一覧なんていらないから。
0871デフォルトの名無しさん2005/05/11(水) 09:56:51
そしてMSのHTMLHLEPにいきついた・・
0872デフォルトの名無しさん2005/05/11(水) 12:38:44
>>71
検索機能もついてるしね。
UNIX の man と info はもういいよ…
0873デフォルトの名無しさん2005/05/11(水) 13:01:43
普段 CUI で生活してるのですが w3m で RDoc は辛すぎます。
0874デフォルトの名無しさん2005/05/11(水) 14:18:01
rdoc --one-fileでフレームなしにする事も出来るけど、
微妙だったような記憶がある。
0875デフォルトの名無しさん2005/05/11(水) 14:31:57
RDocの call-seq: に書く -> の右側には戻り値を書くんだけど、
>>869を見てもarray だったりan_arrayだったり書き方が
定まっていないような気がする。
何かこう書くと良い、みたいな情報はありますか?
0876デフォルトの名無しさん2005/05/11(水) 14:34:04
>>875
今よく読んでみたら
array ... selfと同じ意味
an_array ... 新たに生成されたarray
っぽいですね……orz。スレ汚し失礼しました。
0877デフォルトの名無しさん2005/05/11(水) 15:37:20
>>873
普段CUIなら、ri使えばいいじゃない
0878デフォルトの名無しさん2005/05/11(水) 18:16:44
riよりはデフォで日本語のrefe使う
0879デフォルトの名無しさん2005/05/11(水) 23:38:37
質問です。

2つのシーケンスseq1, seq2 があって、seq1の各要素のうち、seq2に含まれていないものをリストで返すには
どうすれば出来るでしょうか?

たとえば
seq1 = [0,1,2,3,4]
seq2 = [1,2]
の場合
[0,3,4]
が求めるものです。

リファレンスを斜め読みしながら
seq1.select{ |x| seq2.all? {|y| y != x}}
見たいなのはかけたのですが、ruby ならもっと簡単にかけるのではないかと。
0880デフォルトの名無しさん2005/05/11(水) 23:42:56
>>879
seq1 - seq2
08818792005/05/11(水) 23:50:46
>>880
ありがと(はぁと

それにしても、めちゃくちゃ簡単ですね。
0882デフォルトの名無しさん2005/05/12(木) 00:17:31
>>879
重複要素が全部消えるから注意な。

[0,0,1,1] - [1] #=> [0, 0]
0883デフォルトの名無しさん2005/05/13(金) 00:33:21
"なんと、Rubyはダントツの一位。ま、しょせんお遊びだけど、それでも嬉しい。"

とか書いておきながら、Pythonが二位のことが他で使われると怒るmatz萌え。
0884デフォルトの名無しさん2005/05/13(金) 07:39:10
matz日記ってFirefoxで表示するとおかしくない?
上の日にちへのリンクのチップヘルプが出るの遅いし
改行が変な文字コードで表示されるし。
IEだと普通に見られる。
0885デフォルトの名無しさん2005/05/13(金) 07:58:21
信仰が足りません。
0886デフォルトの名無しさん2005/05/13(金) 19:16:25
Stringクラスのself=~ otherって
>>正規表現 other とのマッチを行います。マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
ってなってるけど、帰ってきたインデックスってどこを指してんの?マッチしたところの始めの文字?
後、インデックスの説明って何処にあんの?
0887デフォルトの名無しさん2005/05/13(金) 20:15:36
つ http://www.intex-osaka.com/access/index.html
0888デフォルトの名無しさん2005/05/13(金) 20:17:49
>>886
マッチしたところの始めの文字。

インデックスの説明は String クラスの self[first..last] のところにある。
が、後方参照なので確かに不親切だな。
0889デフォルトの名無しさん2005/05/13(金) 20:52:13
>>886
いままで何も気にせず括弧でくくって$1とか使ってた
0890デフォルトの名無しさん2005/05/14(土) 00:34:06
サンキュー
0891デフォルトの名無しさん2005/05/14(土) 00:42:40
Rite(Ruby2.1??)っていつでるんですか??

ロードマップってどこかにあるんですか??
0892日曜プログラマ2005/05/14(土) 00:45:09
Testっていうのをやったことがなくて、
どういうものかも、どうやってするのかも知らないんですが、
なにかいいサイトありますか??

あと、もし良かったら、どういうことをテストするのか、
概念だけでも教えてもらえると嬉しいです。
0893デフォルトの名無しさん2005/05/14(土) 00:50:18
unixのシェルと一緒でファイルがある、属性はどうかってのに使うんじゃね?
0894デフォルトの名無しさん2005/05/14(土) 00:53:39
Rubyも大企業で一括?採用されればドキュメントやライブラリの完成度が高まるんやろか
ttp://japan.cnet.com/news/ent/story/0,2000047623,20083507,00.htm
0895デフォルトの名無しさん2005/05/14(土) 00:58:16
満員電車の中、吊革に手を通して立つ。
車窓越しに、暮れなずむ東京の空を飽かず眺める。

ふと、髪に重みがかかる。
目をおろすと、小さな女の子が、精一杯手を伸ばして、エルルゥの輪につかまっている。
それだけでなく、立つのに疲れたのだろう、こっくりこっくりと船をこぎはじめた。
エルルゥはかわいそうに思って女の子を抱き上げてやる。
辺境の女は子守など苦労のうちに入らない。

あまり大柄でない彼女がそうするのを見て、前のサラリーマンが席を譲ってくれた。

女の子を膝に載せ、抱きしめるようにしながらエルルゥも眠る。
東京は大きい。東京は迷う。東京は何もかも疲れることばかり。
かたんことんと規則正しい音に包まれ眠る。
駅の名が彼女を起こすまで眠る。

おやすみ。
0896デフォルトの名無しさん2005/05/14(土) 01:17:46
>>891
明確な日付は明言されていないと思うけど、どうでしたっけ?
ロードマップも同じく。

>>892-893
Test::Unit? FileTest?

>>894
Ruby Foundationを作るのが先かも。
0897デフォルトの名無しさん2005/05/14(土) 01:20:13
>>892
Test::Unit の前身 (?) の RubyUnit について書かれた本だけどこれおすすめ。
http://www.amazon.co.jp/exec/obidos/ASIN/4756136877
08988922005/05/14(土) 01:30:13
Test::Unitのことです。

Railsはじめたんですけど、Railsって、Testできるのが利点のようなのですが、
普通のプログラムでもTestってやったことがなくて、
全然理解できないです。
それで、普通のプログラムにおけるTestから勉強しようと思ってます。


>>897のRubyUnitを勉強する方針でいいでしょうか??
0899デフォルトの名無しさん2005/05/14(土) 01:32:09
時間はやってきた。
彼は、流れ出る人波に押されつつも、最後まで彼女を見ていた。


「また、逢えるといいですね」


ホームに響き渡るベルの中で、彼はその声を聞き逃さなかった。


ドアが閉まり、電車はゆっくりと動いていった。
彼は電車が見えなくなるまで、ずっと眺めていた。





長い、長い一日が、今日からまた始まろうとしている。

0900デフォルトの名無しさん2005/05/14(土) 01:39:34
●戦中戦後の世代(〜1935)
戦争を経験し日本を見事復興させ今の日本経済を作り上げた最強の世代
戦国時代の武将なみのレベルの高さで感服。一部勘違いあり。

●団塊世代(1945〜1949)
自分達が日本を作り上げたと思ってる"超"勘違い世代。 お前らが作ったのは借金。キチガイ多し。
戦中戦後の世代への反発で左全開。行動力や根性は多少は持ち合わせているがたいした事は無い。
唯一評価できるのは繁殖力の高さ。ただしあまりにも高すぎて未だにエロイ事件を起こすのもこの世代。
日本を滅ぼそうと密かにたくらんでいる。もういいから早く団体で中央線にダイブして欲しい。

●バブル世代(1960〜1969)
未だにバブルもう一回とか言ってるバカや、バブル後の脱力感で魂まで抜けた奴が多く基本的に左率高め。
未だに金銭感覚が狂ってるため消費率は高めなのが救いだがほとんどは無能。企業内でがん細胞化している世代

●団塊Jr(1970〜1974)
親世代の団塊に反発 戦後世代の爺さんに無条件で可愛がられ内緒で小遣いを貰いリアル昔話を
聞かされるなど隔世遺伝で右全開。ただし世代人口が一番多いにもかかわらず出生率を下げていたりと、
繁殖力は極めて低い。団塊の付けを一手に引き受けているのもこの世代。100年後の日本史には悲惨な世代として登場予定
0901デフォルトの名無しさん2005/05/14(土) 01:40:29
●無味無臭世代(1975〜1979)
いたの?

●無気力世代(1980〜1984)
あきらめモード全開。やる気ナッシング。パラサイト多すぎ。 気持ちはわかるが、仕事しろよと。
愚痴らせたり文句言わせたりすると最強な所や、他人に頼りまくるところは団塊そっくり。
近親憎悪なのか団塊への反感で右率高めというかめんどくさいので右。

●DQN世代(1985〜1995)
セックルセックル!小学生のうちから無駄なセックスしすぎ。おまえら大丈夫かよマジで?あんま期待して無いけど頑張って。

●日本終焉を見守る世代(1996〜)
戦後動き出した日本の鼓動がゆっくりと止まるのを見守ることになる世代。彼らの未来は暗く冷たい。
0902デフォルトの名無しさん2005/05/14(土) 11:21:13
waros
0903デフォルトの名無しさん2005/05/14(土) 12:51:33
>●無味無臭世代(1975〜1979)

(・c_・`)ソッカー
0904デフォルトの名無しさん2005/05/14(土) 13:19:26
>>903
自分主義の世代だから、他者から認識され辛いんだろうね
0905デフォルトの名無しさん2005/05/14(土) 13:43:44
DQN世代なのに童貞な人はどうすれば良いですか?
0906デフォルトの名無しさん2005/05/14(土) 17:11:18
>>905
生きている価値がないね。
0907デフォルトの名無しさん2005/05/15(日) 01:07:09
1950〜1959はどんなん?
0908デフォルトの名無しさん2005/05/15(日) 11:48:11
Rubyのスコープが分かりづれえよう。
Perl5みたいに myと { } でスコープ一目瞭然仕様が欲しいよ
なんとかしてくれmatzやん。
0909デフォルトの名無しさん2005/05/15(日) 12:03:02
スコープは気にしない。変数とメソッドの区別もしたくないし。
0910デフォルトの名無しさん2005/05/15(日) 12:12:05
だってほら、結局ローカル変数しか使わないじゃん。
先頭は小文字ばっかりじゃん。
頭に$なんて誰も使わないじゃん。
頭に&があると関数とかいう方がよっぽど便利じゃん。
0911デフォルトの名無しさん2005/05/15(日) 12:29:54
s='yo! '
3.times do
print(s = 'ho! ')
end

外側の変数が優先されるルールって風変わりだと思うんですが
なんでこうなってるんでしょ?
教えてエロい人。
0912デフォルトの名無しさん2005/05/15(日) 12:34:45
>>910=908?
わけわからん
つか、俺は Ruby のスコープも一目瞭然なんだけど
インスタンス変数も定数も使いまくるし
釣りやチラシの裏なら自宅のトイレでお願いします
0913デフォルトの名無しさん2005/05/15(日) 12:37:01
その例では何が言いたいのかわからん。
0914デフォルトの名無しさん2005/05/15(日) 12:37:08
>>911
どういうこと?
# => ho! ho! ho!
ブロック内部の値が出力されるけど?
09159112005/05/15(日) 12:57:44
C言語だと、同名のグローバル変数とブロック内ローカル変数が宣言されている場合
ブロック内では後者が優先されますよね?
だからRubyを始めたときには、>>911の例だと'yo! yo! yo!'と
出力されないことに違和感がありました。
定義とか宣言とかは、最も内側のものが優先される傾向があると思うんですが
上の例はどうしてそうなっていないのかな…と。
09169112005/05/15(日) 13:00:18
うわ!すごい勘違いをしてるみたいです。
忘れてください。失礼しました。
09179112005/05/15(日) 13:14:06
連投すみません。次のような場合を考えていました。

s='yo!'
1.times do
puts(s = 'ho!')
end
puts s

>>915に書いた理由で、2回目のputsで'yo!'とならないことに
違和感があると思ったんです。
0918デフォルトの名無しさん2005/05/15(日) 13:20:54
int s = 0;
for(int i = 0; i < 1; i++) {
printf("%d\n", s = 1);
}
printf("%d\n", s);
0919デフォルトの名無しさん2005/05/15(日) 13:57:57
たまにRubyのスコープについてよく分からないと言う人がいますが
これは「Rubyはグローバル変数のみ使える」という仕様を知らないための
勘違いが原因だと思われます。
そもそもRubyにはローカル変数は実装されていません。
分かりやすさを追求するRubyの変数は全てグローバルです。
その昔、Ruby1.0がリリースされたとき、変数に$をつけないと
場合により値が参照できなくなるというバグが存在しました。
しかしこれを応用してグローバル変数でローカル変数を実現するRubyistが増えたため
バージョン1.3でこのバグを正式な仕様としました。
このような経緯があるため、Rubyにはローカル変数があるという誤解が広まったのですが
基本的にRubyはグローバル変数onlyの言語です。
0920デフォルトの名無しさん2005/05/15(日) 14:15:09
しらじらしい大嘘つく奴がいますな。

0921デフォルトの名無しさん2005/05/15(日) 14:18:59
なかなか書けないネタだ。
0922デフォルトの名無しさん2005/05/15(日) 14:39:47
ruby-coreのIlias見ててMWを思い出しちゃったよ。
0923デフォルトの名無しさん2005/05/15(日) 15:48:20
へー
0924デフォルトの名無しさん2005/05/15(日) 21:09:25
1.8.3って何か大きな変化ある?
0925デフォルトの名無しさん2005/05/15(日) 22:01:16
>>917
CやJavaと違って、Rubyではローカル変数を明示的に宣言することができません。
そのため、>917 の例でいえば
s='yo!'
1.times do
puts(s = 'ho!')
end
puts s
「s='ho!'」の変数sがブロック内だけのローカル変数であることを指定することができません。
Cでも、ブロック内での変数宣言がなければRubyと同じようなスコープになります。
char *s = "yo!";
for(int i = 0; i < 1; i++) {
 char *s;   /* ← これがなければ、ブロックローカルにはならない */
 s = "ho!";
}

という説明でどうでしょう?>>911
09269252005/05/15(日) 22:01:49
ちなみに919ではありません。
0927デフォルトの名無しさん2005/05/16(月) 03:57:59
Ruby 2.0 ではブロックローカル変数回りの仕様が変更される予定だそうだ。
ttp://www.rubyist.net/~matz/20050309.html#p03

これによると、ブロックパラメータのセミコロン以降で
ブロックローカル変数を宣言できる。こんな感じかな?

s='yo!'
1.times do |; s|
 puts(s = 'ho!') #=> 'ho!'
end
puts s #=> 'yo!'
0928デフォルトの名無しさん2005/05/16(月) 04:20:10
読むに、ブロックパラメータ直後に `;' を付けたものが、
ブロックローカル変数になるんじゃまいか?
0929デフォルトの名無しさん2005/05/16(月) 04:47:39
読んだけど、外側の変数と名前が重複するとエラーになるのだから
これはローカル変数の宣言とは、また違う物でしょう。
変数の前方宣言みたいな物だと考えたほうが良いのでは?
0930デフォルトの名無しさん2005/05/16(月) 16:02:49
>>929
確かにローカル変数ではないっぽいけど、
何にどう使う物なのかさっぱりわからない…。

s = nil # <- 適当な代入による変数宣言
ary.each { |x| s = x if ... }
p s
が
1.times do |; s|
 ary.each { |x| s = x if ... }
 p s
end
みたいに書ける…?

ブロックの仮引数のところでしか使えないんじゃ
全然嬉しくないよな、これ…。やっぱり勘違いしてるかな。
0931デフォルトの名無しさん2005/05/16(月) 16:38:36
>>929
俺も前方、ブロック突入時の変数宣言のようなものという印象を受けた

[[1,2],[2,3],[3,4]].each {|a,b; c=0|
c+=a*b
p c
}

これ使い方あってる?
;以降のって何度も評価されるのかそれとも最初の一回だけなのか
0932デフォルトの名無しさん2005/05/16(月) 17:00:00
毎回評価するんじゃないかな。
最初の一回だけならeachの直前でc=0すればいいと思う。
0933デフォルトの名無しさん2005/05/16(月) 17:05:29
いやそれじゃスコープの問題が元に戻るのでは
0934デフォルトの名無しさん2005/05/16(月) 17:18:18
その表記で最初の一回だけ評価ってすごく直感に反するのは俺だけ?

そもそもいまいち用途がわからん。
スコープっつっても、外に同じ名前の変数があったら
エラーにするだけなんでしょ。なんでα変換しないんだろう。
0935デフォルトの名無しさん2005/05/16(月) 17:26:20
従来の挙動との互換性を保つためじゃないの?
その制約を受け入れた上でブロックローカルな変数を明確化したいという
ニーズに応える方策としてありじゃないかと思うけど。
0936デフォルトの名無しさん2005/05/16(月) 17:27:00
firstとかlastとか頻出そうなメソッドを用意させたも全く別の
ブロックを考えるとか

Proc2.new{|a,b|
 at_first{c=0}
 body{c += a*b}
 at_last{p c}
}
0937デフォルトの名無しさん2005/05/16(月) 17:29:50
>>934
同意。最初の要素を参照するときに下みたいなコードが
書きたくなると思う。何かキモイ

(1..10).each do |i ; first=i|
 p [first,i]
end
0938デフォルトの名無しさん2005/05/16(月) 17:33:04
マイナーバージョンアップでも激しく仕様がかわるRubyなんだから、
メジャーバージョンアップでなまじっか互換性とか気にしなくてもいいのに…。
従来のブロックのスコープは本当に残念なんだし。
0939デフォルトの名無しさん2005/05/16(月) 17:42:53
マイナーバージョンアップでも互換性とか気にする方向で考え変えて欲しいんだが
0940デフォルトの名無しさん2005/05/16(月) 17:52:36
マイナーバージョンアップで互換性無視するがアレなのはともかく、
ブロックのスコープの腐った仕様を変えるには絶好の機会なのに、
事態を悪化させようとしてるようにしか見えないです。
0941デフォルトの名無しさん2005/05/16(月) 18:18:32
(a) Rubyにレキシカルスコープを導入する
(b) ブロック変数の初期値を設定できるようにする

多くの人は(a)を求めていたのだが、
実装された運用は(b)だったというオチか。
0942デフォルトの名無しさん2005/05/16(月) 18:38:20
レキシカルスコープって何?
静的スコープとは別物?
0943デフォルトの名無しさん2005/05/16(月) 18:39:43
同じ物
0944デフォルトの名無しさん2005/05/16(月) 18:49:14
じゃあ、Rubyって現状は静的スコープじゃないの?
09459112005/05/16(月) 21:20:39
>>925
Cのブロック内での変数宣言と同じことが、なぜできないのかなと思いまして。
例えば、ブロックの内側と外側とでstrという別の変数を使いたいときにちょっと困ります。
たいした問題じゃないといえばそうなんですが、
このようになっている理由や背景を知りたいと思い、質問しました。

ですが、一連の議論を見ていると頭の中が混沌としてきました…
0946デフォルトの名無しさん2005/05/16(月) 21:40:24
さっさとlet構文を導入しやがれ。
0947デフォルトの名無しさん2005/05/16(月) 21:59:59
matzタソはスコープを指示する宣言子がキライらしーので、それは永遠にありえないよーな気がする。>var, myあるいはlet相当
0948デフォルトの名無しさん2005/05/16(月) 22:11:40
ブロックパラメータだけα変換する、他は現状と同じ、で問題なくね?
0949デフォルトの名無しさん2005/05/16(月) 23:43:34
外部のスコープをもってくる変数に、お得意の頭記号をつければいいじゃないの。

somearray.each{|str|
str = \str + str
}

とか。
0950デフォルトの名無しさん2005/05/17(火) 01:30:41
さらに外の変数を見るときは\\strですか。
そこまでして外部の変数をみる必要はあるんかいな。
でも発想は好きかも。
0951 ◆m7YeytgDFE 2005/05/17(火) 14:05:36
同じ名前だけど場所(スコープ)によって別物という方が分かりにくい気がします。
別の変数なら名前も違えるという、現行Ruby方式に慣れちゃってるのかな?
内側のブロックでうっかり同名の変数を使ってしまい、
外側の値を変えてしまうというのは、確かによろしくないとは思いますが。
スクリプトが長くなったり、入れ子が深くなったりすると、
なるべくメソッドとして分割するようにしてることもあって、
今の仕様で不満を覚えてないんです。今後の仕様が気になる、気になる...。
0952デフォルトの名無しさん2005/05/17(火) 14:21:02
だな。スコープが把握できないほどメソッドがでかいのは危険な匂い、と。
0953デフォルトの名無しさん2005/05/17(火) 14:58:53
規模がでかくなって、複数人で開発を行なうとこまらない?
0954デフォルトの名無しさん2005/05/17(火) 15:08:26
たまに
s = nil; ary.each { |x| s = x }
を
s = nil; ary.each { |s| }
と書くみたいに、(この例に意味はないけど)
ブロックパラメータは束縛じゃなく代入だという仕様を
意図して使うやつがいるんだよね。
これさえなければ現状でもいいんだけどね。
0955デフォルトの名無しさん2005/05/17(火) 15:09:09
コーディング規約レベルで、でかいメソッド作るな、とか。
0956デフォルトの名無しさん2005/05/18(水) 09:26:55
たまにRubyのスコープについてよく分からないと言う人がいますが
これは「Rubyはグローバル変数のみ使える」という仕様を知らないための
勘違いが原因だと思われます。
そもそもRubyにはローカル変数は実装されていません。
分かりやすさを追求するRubyの変数は全てグローバルです。
その昔、Ruby1.0がリリースされたとき、変数に$をつけないと
場合により値が参照できなくなるというバグが存在しました。
しかしこれを応用してグローバル変数でローカル変数を実現するRubyistが増えたため
バージョン1.3でこのバグを正式な仕様としました。
このような経緯があるため、Rubyにはローカル変数があるという誤解が広まったのですが
基本的にRubyはグローバル変数onlyの言語です。
0957デフォルトの名無しさん2005/05/18(水) 09:29:03
ローカル変数を隠匿することもできんのか
このクソ言語は?
もうオブジェクト指向以前の問題だな。
0958デフォルトの名無しさん2005/05/18(水) 10:53:10
gonzuiでruby検索したいので、
1.9のありかを教えてください。
ttp://www.ruby-lang.org/ja/20020102.html
には見あたりませんでした。
0959デフォルトの名無しさん2005/05/18(水) 10:58:02
メソッドに入れてしまえばいいんだよ

そもそも外でごちゃごちゃやっててローカルも何もないもんだ
0960デフォルトの名無しさん2005/05/18(水) 11:10:41
>>958
そのページの「CVS最新版スナップショット」ってヤツが 1.9 相当だよ。
0961デフォルトの名無しさん2005/05/18(水) 15:25:34
>>957
>ローカル変数を隠匿する
どういう意味?
09629582005/05/18(水) 16:58:04
>>960
どもです。
0963デフォルトの名無しさん2005/05/19(木) 23:22:36
rubyって,自分で定義したクラスの配列ってできないのですか?

class hoge
 def initialize
  @hoge = 0
 end
end

hoge = Array.new
hoge[hoge.size] = hoge.new

こんな感じで,自分が定義したクラスのインスタンスの配列を
作って使おうとしたのですができません
ぐぐってみたのですが,なかなか情報が見つけられませんでした
やり方,もしくは情報へのポインタを教えていただけないでしょうか
0964デフォルトの名無しさん2005/05/19(木) 23:27:39
クラス名は必ず大文字で始めること。
また、君は自分の作ったクラスのインスタンスを生成してない。

class Hoge
 def initialize
  @hoge = 0
 end
end

hoge = Array.new
hoge[hoge.size] = Hoge.new
0965 ◆Ruby2gguGE 2005/05/19(木) 23:30:16
Rubyサイコウ
0966デフォルトの名無しさん2005/05/19(木) 23:33:10
>>964
レスありがとうございます.
すいません.これは例なので,本当に書いてたコードでは,
クラス名は大文字で始まっています

>また、君は自分の作ったクラスのインスタンスを生成してない。
どういうことですか?僕は,
hoge = Array.new
これで配列ですよって宣言して,
hoge[hoge.size] = Hoge.new
この部分で,配列の要素が自分で定義したHogeというクラスのインスタンスだと
初期化しているつもりなのですが…
0967デフォルトの名無しさん2005/05/19(木) 23:39:55
hoge[hoge.size] = Hoge.new
やりたいことがよくわからん
EnumerableとかとMix-inしたいとか?
0968デフォルトの名無しさん2005/05/19(木) 23:48:22
実際はそこの処理を何回かループさせて,
配列の最後尾にどんどんインスタンスを追加していきたいのです
hoge.sizeは最初ゼロで要素が追加されるたびに1ずつ増えていきますよね

ループ

hoge[hoge.size] = Hoge.new
hoge[hoge.size].setHoge(1)

ループend

こんな感じです

もしくはループとか関係なくて,ただ単純に自分が定義したクラスの
配列を作りたいのです.WEB調べたのですが,情報が見つからなくて…
EnumerableとかMix-inというのは分からないです…
0969デフォルトの名無しさん2005/05/20(金) 00:01:27
> 自分が定義したクラスのインスタンスの配列を作って使おうとしたのですができません
もちろんできる。
どうやってできないことを確かめたのか書いてくれ。

hoge[hoge.size] = Hoge.new
hoge[hoge.size].setHoge(1)
2行目のhoge.sizeは1行目より1大きいぞ。
0970デフォルトの名無しさん2005/05/20(金) 00:05:41
基本的にはその通りで動くはず。実際にどういうコードで、なぜ動かないと判
断したかがわからないな……。クラスの方に問題はないのか?
0971デフォルトの名無しさん2005/05/20(金) 00:06:56
>>969
>hoge[hoge.size] = Hoge.new
>hoge[hoge.size].setHoge(1)
>2行目のhoge.sizeは1行目より1大きいぞ。
ああ,そういうことですか!
では,

hoge = Array.new

hoge[0] = Hoge.new
hoge[0].setHoge(1)
hoge[1] = Hoge.new
hoge[1].setHoge(1)

ならOKってことですか?
明日確かめてみます.どうもありがとうございました.
また,明日確かめてみてできなかったら質問します.
短時間に何度もレスしていただきありがとうございました.
0972デフォルトの名無しさん2005/05/20(金) 00:08:03
>>970
明日,>>969さんの言う通りにやってみます
まずは,配列のとこだけテストする簡単なコード書いてみます

できなかったら,そのコードを持って帰ってきて,
また質問します.

色々とありがとうございます
09739702005/05/20(金) 00:09:10
あ、そうかそうか。

それと971のような場合は、
x.times { |i| hoge[i] = Hoge.new; hoge[i].setHoge(1) }
とか、
Array.new(x) { ... }
とかいった書き方をした方がわかりやすいよ。たぶん。
0974デフォルトの名無しさん2005/05/20(金) 00:09:35
最後に足すだけなら push とか << 使えば余計な混乱しないだろうに。
0975デフォルトの名無しさん2005/05/20(金) 02:38:50
>>963 の言う「hogeの配列」は C++ の
hoge_class hoge[N];
みたいなのを指してるんだと思われ。
予め初期化されたインスタンスが用意されてるようなもの。
0976デフォルトの名無しさん2005/05/20(金) 02:54:42
>>975
なるほど、お前頭いいな。
しかし上の議論で、
hoge[hoge.size] = Hoge.new
hoge[hoge.size - 1].setHoge(1)
と来るかと思ったら>>971だったから
失礼ながら正直ワラタ。
09779632005/05/20(金) 21:53:47
アドバイスを元にやり直してみたらできました.
どうもありがとうございました

ちなみにrubyってphpで言う可変変数ってないんですか?
今日色々探したのですが見つからなかったもので...
知ってる方がいらっしゃったら教えてください
連続質問に答えると教えて君がわいて出そうだから
答えたくないYOって感じならばスルーしてください
0978デフォルトの名無しさん2005/05/20(金) 22:10:32
そのようなものが特別に用意されているわけではないが、そういうことをした
い場合はたいてい eval する。

a = "hello"
eval %Q(#{a} = "world")
puts a # => hello
puts hello # => world
0979デフォルトの名無しさん2005/05/20(金) 22:15:14
>978
ありゃ? 手元の1.8.2(mswin32)だと
4: undefined local variable or method `hello' for main:Object (NameError)
って言われちまったよ(´・ω・`)

てか、Hash使えばいいような気がするのは漏れだけですかそうですか
0980デフォルトの名無しさん2005/05/20(金) 22:18:36
> てか、Hash使えばいいような気がするのは漏れだけですかそうですか
いや待て、漏れを忘れるな。
09819632005/05/20(金) 22:54:23
sample1 = sample[1]
sample2 = sample[2]
sample3 = sample[3]
sample4 = sample[4]
以下10まで続く

こんなんをループでサクっと片づけたいのです
0982デフォルトの名無しさん2005/05/20(金) 23:00:49
Ruby入門者用の書籍はなにがいいかな?
友人が教えてくれというんだが最近忙しいんで・・・。
0983デフォルトの名無しさん2005/05/20(金) 23:26:01
>>981

その代入に何の意味があるんだ。
0984デフォルトの名無しさん2005/05/20(金) 23:29:14
まあ意味無いけど evalで可能だな
09859792005/05/20(金) 23:50:25
a = "hello"
の前に
hello = nil
入れたら動いた。まぁそりゃそーだ罠 orz
スレ汚し失礼。
0986デフォルトの名無しさん2005/05/21(土) 00:53:34
trueclassとfalseclassに分かれてるのは、あれはいったい何の意味があるんだ?
実はif文の条件分岐は、それぞれのクラスの多態性を利用してるとか?
0987デフォルトの名無しさん2005/05/21(土) 01:53:26
>>986
> trueclassとfalseclassに分かれてるのは、あれはいったい何の意味があるんだ?
同じクラス(たとえば BooleanClass)のインスタンスの方がいい/自然、ってこと?

zero-one-infinity じゃないけど、インスタンスが二種類しか存在しない
クラスってのは、個人的にちょっと座りが悪く感じる。
それよりも、二つクラスがあってそれぞれの singleton instance の方が自然かと。

TrueClass と FalseClass に共通するスーパークラスとして
BooleanClass が欲しい、と思うことはたまにある。テスト書く時とか。
0988デフォルトの名無しさん2005/05/21(土) 07:45:27
>>981
俺も昔同じことを悩んだなぁ
eval の他にも local_variables や instance_variable_get, instance_variable_set なんかを使った記憶がある
リファレンスマニュアルの Object のページに書かれてる

なんか回答に辿り着きにくいネタなのかな
定期的にこの話題は出てくる気がするし
0989デフォルトの名無しさん2005/05/21(土) 08:31:09
>>987
> zero-one-infinity じゃないけど、インスタンスが二種類しか存在しない
> クラスってのは、個人的にちょっと座りが悪く感じる。

singletonを持ち出すなら、インスタンスが2つだけ、
というのもsingletonの一種だから、個人的にはそれでも違和感はない。
というか、わざわざ別クラス化する意味がわからない。
0990デフォルトの名無しさん2005/05/21(土) 08:33:35
>>988
981 のようなコードを書かずとも、
もっとわかりやすい他の方法があると思う。
0991デフォルトの名無しさん2005/05/21(土) 11:00:35
>>981
状況がよくわかってないが、その場合ならわざわざsample1,sample2,...を使うまでもなく、sample[1],sample[2],....を使えばいいのでは?
0992デフォルトの名無しさん2005/05/21(土) 11:53:45
>>989
というか、そんなこと拘る意味がわからない。
0993デフォルトの名無しさん2005/05/21(土) 12:02:42
>>986
実装上の都合じゃないかな。
かつてはnil,true,false(当時はTRUE,FALSE)はクラスを持たない値だった(らしい)。
実装上では今でもかなり特異な存在。
でもすわりが悪いからやっぱりクラスを持たせようと言うことになって、
どういうクラス構造にするか、「いかに実装しやすいか」の視点で話し合って決めたみたい。
0994デフォルトの名無しさん2005/05/21(土) 12:04:51
あと、nilとfalse以外は真扱いのRubyでは
BoolClassにあまり意味はないかも。
0995デフォルトの名無しさん2005/05/21(土) 12:06:42
MW再起動
0996デフォルトの名無しさん2005/05/21(土) 12:20:22
>>991
たぶん、ループ内にカウンタを仕込んで、
sample1 というような変数を動的に生成して代入したいという話だと思われる。
試してみれば解るが、変数を評価させずに作成するのは、ちと厄介。
0997デフォルトの名無しさん2005/05/21(土) 12:47:47
で、わざわざ変数を動的に作成して代入する意味がわかんねえよ、って話じゃないの?
0998デフォルトの名無しさん2005/05/21(土) 13:03:14
わかんねえなら黙ってろよ、ばか
0999デフォルトの名無しさん2005/05/21(土) 13:09:21
evalばっか使ったウンコrubyソフトが多すぎるよね
1000デフォルトの名無しさん2005/05/21(土) 13:11:50
1000ならMWがxrbの新バージョンをリリース!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。