Rubyについて Part 15
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
05/02/12 06:58:04Ruby 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/
00051
05/02/12 07:17:060006デフォルトの名無しさん
05/02/12 07:25:180007デフォルトの名無しさん
05/02/12 08:44:230008デフォルトの名無しさん
05/02/12 09:34:310009デフォルトの名無しさん
05/02/12 09:58:09=関連リンク
Ruby のバグ(勝手に)トラッカー
http://mput.dip.jp/rubybugs/
=関連スレ
RUBYの宿題教えてください。
http://pc5.2ch.net/test/read.cgi/tech/1106572657/
0010デフォルトの名無しさん
05/02/12 10:02:23=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すっかり各出版社の扱いが冷えきってしまっている」(by ムトゥ神)件について。
0012デフォルトの名無しさん
05/02/12 10:09:260013デフォルトの名無しさん
05/02/12 10:23:59>>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白井さん、おつかれさまです!
0016デフォルトの名無しさん
05/02/12 10:34:000017デフォルトの名無しさん
05/02/12 11:13:280018デフォルトの名無しさん
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<dl>
<dt id="text">foo</dt>
<dd id="desc">bar</dd>
</dl>
これで<dt>と<dd>だけ繰り返したい。ダミータグでも使うのかな。
0020デフォルトの名無しさん
05/02/12 12:00:520021デフォルトの名無しさん
05/02/12 12:03:54どっちも外人orz
0022デフォルトの名無しさん
05/02/12 12:19:590023デフォルトの名無しさん
05/02/12 12:55:03http://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ダミータグだろうねぇ
テンプレートがHTMLに準拠しなくなるけど。
0025デフォルトの名無しさん
05/02/12 14:36:50<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オブジェクト指向言語Ruby
たのしいRuby
Rubyソースコード完全解説
ぐらいかなぁ。安心して勧められるのは。
0027928
05/02/12 15:12:31ウソツクナ
よりによって「オブジェクト指向言語Ruby 」かよ……
0028デフォルトの名無しさん
05/02/12 15:17:34<dl> <dt>foo1</dt><dd>bar1</dd> </dl>
<dl> <dt>foo2</dt><dd>bar2</dd> </dl>
となりますな……
0029デフォルトの名無しさん
05/02/12 15:41:17RHGはrubyの本じゃないよ。Cとかインタプリタの本じゃん
おすすめは256本の極道編と言ってみるテスト(XPだけに)
0030前スレ928
05/02/12 15:55:24そう言えばそんなのもあったなぁ
オレテンプレートでもWeb::Templateみたいに
独自マークアップを使えるようにしとくかな
0031デフォルトの名無しさん
05/02/12 16:45:47それでそのオレテンプレートはいつ公開されるんですか
0032デフォルトの名無しさん
05/02/12 17:57:07しかし本音はわかるやつだけ使えればいいような発言。
その辺りが出版にも現れてるのかも
0033デフォルトの名無しさん
05/02/12 18:11:52名前欄 (の元レス) にばっちり書かれてるような気がするのは俺の気のせいか?
0034前928
05/02/12 20:57:49ああ、ごめん。
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:24thx。すでに公開してたのね
>>33
そんなとこみてなかったよ ヽ(`Д´)ノウワーン
0036デフォルトの名無しさん
05/02/12 21:58:35属性値の命名規則がややこしくて書く気がおこりません…
0038デフォルトの名無しさん
05/02/12 22:05:33いや、RHGはRubyの本としてこれ以上のものは無いくらい良い本だよ。
0039前928
05/02/12 22:28:29確かになぁ。ただAmritaでサポートしていない
・XHTML、XMLに準拠(id属性以外を使用して指定できる)
・デフォルト値を指定できる
・要素と属性を等価に処理する
・テンプレートからのフィルター処理指定をサポート
:
:
とか高度化してったら、あんな風になっちゃった。
……まあ、あれでも「良くあのルールであの機能を押し込めたなぁ」と
自分で感心しているぐらいだしね……
でも、簡単に使うのなら、
・要素を変更するときは、適当な属性の値を“$(Rubyで指定するラベル)”にする
・属性を変更するときは、その属性の値を“@(Rubyで指定するラベル)”にする
・それ以外はオマケ
ぐらいで大丈夫だよ。
0040デフォルトの名無しさん
05/02/12 23:09:19Amritaでも
テンプレート内のマーキングを"id"以外に変更することは可能
Amrita alteredなら
要素と属性を等価に処理することも可能
0041デフォルトの名無しさん
05/02/12 23:13:23いいというか、定数のスコープの話とかちゃんと書いてあるのって RHG くら
いな気がするね。特異メソッドとか特異クラスの話もそう。
でも Ruby の本として、というとちょっと違うよな。やっぱり C についての本だと思う。
0042前928
05/02/12 23:28:56へぇ、どうやるの?……というか、ドキュメントどこよ……
http://amrita.sourceforge.jp/docs/Tour.ja.html
には大したこと書いていないし。
Amrita alteredはここですな。
http://www.nslabs.jp/amrita-altered.rhtml
0043デフォルトの名無しさん
05/02/13 00:48:51amrita_id
0044前928
05/02/13 01:25:50なんだ……テンプレートごとに1つだけか……
class, title属性で指定できるのは進歩だけど、痛し痒しだなぁ
0045デフォルトの名無しさん
05/02/13 02:04:53テンプレートに複数指定できてなにかメリットがあるの?
そもそも、classやtitleとか正規な属性を使っちゃうのはまずいと思うんだが
0046前928
05/02/13 02:42:26>テンプレートに複数指定できてなにかメリットがあるの?
全てのタグで(必要に応じて)デフォルト値を設定できる、とかかな。
あと、(validにこだわるなら)要素の種類によって使える属性が違うから、
複数指定できると柔軟性が上がるよね。
#まあ、class, title, idあたりなら、ほとんど全ての要素にあるけどね……
>そもそも、classやtitleとか正規な属性を使っちゃうのはまずいと思うんだが
まあねぇ。
ただ、テンプレートをvalidなものにすることにこだわるなら、これぐらいしか使えないのよ。
#classはelementの属するクラスを、titleはelementの付加情報を示すための
#ものだから、idよりはまだ安全に使えるよね。
0047デフォルトの名無しさん
05/02/13 05:35:45リンク先より。
> <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という技があったのな。参考になった。さんくす。
004945
05/02/13 08:58:40>HTMLじゃあ「ツールが自由に使ってよい属性」がない
んなら、テンプレート用のマーカーなんて埋める時点で、
validなHTMLではないか、validであっても変なHTMLにはなっちゃうわけだろ?
じゃあ、どのへんに落としどころを作るのが現実的なのか、ってのが気になってる。
ひとつの現実的な基準はブラウザで正常に表示されるかどうかだと思うんだが、、
適当にくっつけた変な属性(例えばhogeとか)がはいってるだけで、変になっちゃうもん?
idやらclassやらに記述するほうがよほどまずいことが起こりそう。
styleだと、まずい処理は起こらなくてもstyle属性を使えなくなるデメリット結構でかいでしょ。
HTML規格外の適当な属性値でっちあげて一つ決め打つほうがすっきりしそーなもんだけど。
で、そーゆーこと考えてると、>>46の
>あと、(validにこだわるなら)要素の種類によって使える属性が違うから、
>複数指定できると柔軟性が上がるよね。
の柔軟性ってほんとに使いどころあんのか?という疑問もわくんだよね。
ブラウザの挙動とかオーサリングツールの挙動とかに詳しくないんで、
おかしなこと言ってるかもしれんが、どうよ?
0050デフォルトの名無しさん
05/02/13 10:29:55Rubyを薦められました。わたしはOSX10.3.7ユーザーですが、最初からRuby
がインストールされているのにも、驚きました。
初歩的な質問で恐縮ですが、Rubyの言語自体を開発、保守している中心的な
メンバーは、何人程度なのでしょうか? 中心となるような研究機関などはご
ざいますか?
0051デフォルトの名無しさん
05/02/13 10:49:410052デフォルトの名無しさん
05/02/13 11:12:04Just Another RD Site http://www2.pos.to/~tosh/ruby/rdtool/ja/ って今でも管理されてるの?
"rd ruby" で検索すると google で先頭に出てくるんだけど、
リンク切れだらけでどうなっているのか分からない。
0053デフォルトの名無しさん
05/02/13 12:48:42irb(main)000:0> help :inject
なんてのがあるのか、便利になったものだなあ〜と思ってやってみたら、
それ以降のエコーバックが消えちゃうんですが、どうすりゃいいんだろ。
rdoc/ri/rI_display.rbがpopenとreopenで端末制御やってんのはわかるけど、そのへん詳しく知らないんだよね。
誰かわかる人いる?
0054前928
05/02/13 13:07:42>これがよくわからん。
確かに……これはわからんな……ちょっとバラして&コメント入れて書くと、
<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:53OCamlとか言ってみるテスト(実用的かなぁ)。
0057デフォルトの名無しさん
05/02/13 13:38:36Hashじゃないオブジェクトをモデルデータにすることはできるの?
0058前928
05/02/13 13:40:31そういやXHTMLだとnamespaceが使えるね。
XHTML前提にしているならnamespace使えばいいのか
……DTDが使いものにならなくなるけど
>49
落としどころは難しいよね。
結局、デザイナーの使うブラウザとかオーサリングツールによって
決まってくる話で、ライブラリ実装者(プログラマ)が決めることは
できないんだよね。
ある程度妥協せざるをえないけど、できるだけ決定する自由を
デザイナーに残しとかないとね。
ちなみにSikiTemplateでは独自タグを実装して
[[[{{{ class="$$@title@$id" /}}}]]]
[[[{{{ class="$$title" /}}}]]]
[[[{{{ class="$$@title" /}}}]]]
#^スペース重要
<title id="test_title" class="test_title"></title>
とすりゃ良くなったので、どうでも良くなったけどね。
0059前928
05/02/13 13:58:52Template.use_execute = true
とすることで、Executeというクラスデータを使えるようになります。
ただ、セキュリティの問題があるので、
・モデルデータでは、Hashで明示的に指定する必要がある
・テンプレートでは、「キー.コマンド」というように指定する必要がある
というふうにAmritaよりも制限が強いです。
0060デフォルトの名無しさん
05/02/13 14:33:131. http://www.ruby-lang.org/
2. ruby-dev にはいる
3. 同じ質問を投げる
006148
05/02/13 15:59:56> んなら、テンプレート用のマーカーなんて埋める時点で、
> 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どっかの日記で見たんだけど、どこだったっけ?
リストが見たきゃ
$ 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日記つうか matz 氏が ruby-dev に。
006445
05/02/13 19:14:34>>規格外の適当な属性をでっちあげてDWとかGLが使えなくなると、大変問題なの。
そういうオーサリングツールやブラウザの挙動に詳しくないので、
なにをするとどう使えなくなるのか具体的なところが知りたい。
デザイナーがどこに文句いうか、でもいいや。
つまり正規属性をテンプレートにつかって変な文字列つっこんじゃうのと、
hoge属性をテンプレートに使うのと、どちらのほうがオーサリングツールに優しいのか。
あ、そんなのオーサリングツール依存なんだから、選択肢ふやしとけよってだけの話?
だれもそのへん真面目に検証してないの?
深い考察をキボンヌ
006563
05/02/13 19:31:34これね。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25627
0066デフォルトの名無しさん
05/02/13 19:52:22HTMLの仕様書よめ。それにはんするものはエラーがでる。それだけだ。
・id属性やclass属性に「@」とか記号いれる → エラー
・style属性に記号 → セーフ
・独自属性→とうぜんエラー
・独自タグ→とうぜんエラー
ただしDWはPHPやJSPに対応しているので、そのモードでやれば<?php ... ?>や${...}がエラーにならん。くやしい。
つか、DWの体験版ダウンロードして自分で検証しろ。
0067デフォルトの名無しさん
05/02/13 19:59:48> ・独自属性→とうぜんエラー
> ・独自タグ→とうぜんエラー
このへんは単に無視されるってのは最近のHTMLでは成り立たなくなったの?
0068デフォルトの名無しさん
05/02/13 20:07:580069前928
05/02/13 20:25:12class属性はCDATAじゃなかったっけ?
id属性は確かに記号が使えないな……
http://www.w3.org/TR/html401/index/attributes.html
0070デフォルトの名無しさん
05/02/13 22:13:58そりゃブラウザのはなしだろ。デザインツールは違うわい。
0071デフォルトの名無しさん
05/02/13 22:37:59学生で趣味プログラマの僕から見ると、なんかすごく不安。
0072デフォルトの名無しさん
05/02/13 22:50:110073デフォルトの名無しさん
05/02/13 23:04:31テキストレベルで予想できないというか。
0074前928
05/02/13 23:07:30>あとはHTMLコメントを使う方式かどっちか。
それいいね。
[[[{{{タグ}}}]]]だけじゃなくて<!--[[[{{{タグ}}}]]]-->にも対応するようにしました。
0075デフォルトの名無しさん
05/02/13 23:59:27Macromedia Dreamweaverのことかな?
0076デフォルトの名無しさん
05/02/14 00:00:10vmware で socket 関数が使えないことって
ありますか?
エラーメッセージが
`initialize': getaddrinfo: Name or service not known (SocketError)
と出ます。
0077デフォルトの名無しさん
05/02/14 00:01:440078デフォルトの名無しさん
05/02/14 01:16:57ゲストOSが何かしらんが、うちのFreeBSD5.3-STABLEでは使えてるよ。
0079デフォルトの名無しさん
05/02/14 01:20:24シェルアカウント持ってる別のところにこいつでproxy作ってやったらすぐに動いた。
こんなに簡単にできちゃうのね。
うちのIPからしかリクエスト受け付けないからopen proxyでもないし、便利便利。
0080デフォルトの名無しさん
05/02/14 01:25:07スクリプト希望
0081デフォルトの名無しさん
05/02/14 02:14:39殆どるびまに載ったまんまなんだけど、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つまり、
/usr/bin/foo_1.2.3
/usr/bin/foo -> foo_1.2.3
みたいなこと。
setup.rbに手をいれないとだめ?
0084デフォルトの名無しさん
05/02/14 17:42:30というかリファレンスマニュアルが欲しい。切実に。
未知のメソッドがあまりにも多すぎる。
過去にリファレンスがあったような形跡はあるのに……
0085デフォルトの名無しさん
05/02/14 18:18:380086デフォルトの名無しさん
05/02/14 20:19:38個人的にはプレゼンテーションロジックが独自言語じゃなかったら理想に近い気がする
独自言語で萎えるんでオレは試してないが、試した人いる?
008784
05/02/14 23:55:44もちろん使ってはみたが、せいぜいメソッドの一覧止まり。
解説が少なすぎて、クラスやメソッドの把握にはほとんど役に立たなかった(安定版で確認)。
もしかして「ソースがドキュメントだ。バグも完全に記述されている」の体現なのか
>>86
ロジックが(見た目)CSSっぽいな。
ちょっと興味がわいたので、これから試してみます。
0089デフォルトの名無しさん
05/02/15 01:35:08「オレはRubyで加工したいんだ!!」とか言いたくなるよね……
Kwartzのどのへんが気に入った?
0090デフォルトの名無しさん
05/02/15 01:43:40何動かしてる?ソース晒したら?
とりあえず考えついた可能性を確率高そうな順に並べると、
1. スクリプトに問題がある
2. VMWareかゲストOSの設定に問題がある
3. rubyのSocketライブラリがバグってる
4. ruby本体がバグってる
5. VMWareかゲストOSがバグってる
少なくともVMWareであるがゆえにrubyが動かないってことは
あんまないんじゃないかな。
0091デフォルトの名無しさん
05/02/15 04:44:48まあソースから入れりゃいいんだけど。
0092デフォルトの名無しさん
05/02/15 05:59:57http://www.itmedia.co.jp/enterprise/articles/0502/14/news016.html
Rubyの名前がないよぉう
0093デフォルトの名無しさん
05/02/15 06:10:54正直すまんかった。
独自言語やめてJavaScriptライクな文法にしたバージョンを、ちょうどきのうリリースした。
つーか、タイミングよすぎる。ジサクジエンかと思った。
>>89
プレゼンテーションロジックをRubyで書けるバージョンも作っていたが、ポリシーにあわんと判断してやめた。
> Kwartzのどのへんが気に入った?
そりゃこっちがききたい質問じゃ。
>>91
Finkとかのパッケージなら、すでに1.8はあったと思う。
0094デフォルトの名無しさん
05/02/15 06:15:48これだ
http://fink.sourceforge.net/pdb/package.php/ruby
ほかのパッケージはしらん。
そういや、MacOS Xはgccが入っていなくて、DeveloperKitをいれないとだめなんだっけ。
じゃあ一般人に「ソースからコンパイルしろ」とはいいにくいな。
0095デフォルトの名無しさん
05/02/15 08:48:05> そういや、MacOS Xはgccが入っていなくて、DeveloperKitをいれないとだめなんだっけ。
インストーラがハードディスクに入ってるし、パッケージ版OSの
CDにも収録されているから、ダブルクリック一発で入りますよ。
0096デフォルトの名無しさん
05/02/15 12:38:080098デフォルトの名無しさん
05/02/15 15:08:40コンパイルといってもキーボード打つだけじゃん。
打たなくても展開先に移動してから./configure && make && make installをコピペしてくれでもいいし。
別にソース読めと言っているわけじゃなし。
まあインストーラがあるに越したことはない気はするが。
でもインストーラがあってもDLLのバージョンせいで動かないとか辛すぎ。
MinGWのデフォルトランタイムライブラリがmsvcr71になれば直るが、今のone-click installerと
ebanさんとこの拡張ライブラリに互換性がないのはちょっと気が遠くなるな。
0099デフォルトの名無しさん
05/02/15 16:56:450100デフォルトの名無しさん
05/02/15 17:23:140101デフォルトの名無しさん
05/02/15 18:03:080102デフォルトの名無しさん
05/02/15 18:25:090103デフォルトの名無しさん
05/02/15 18:37:42甘やかしすぎだ。
だいたいconfigure && make installも出来ないのにone-click installerでRubyをインストールしたところで
Ruby製のアプリケーションを使えるとは全く思えないのだが。
0104デフォルトの名無しさん
05/02/15 18:40:53010586
05/02/15 21:09:58> 独自言語やめてJavaScriptライクな文法にしたバージョンを、ちょうどきのうリリースした。
> つーか、タイミングよすぎる。ジサクジエンかと思った。
いや新しいバージョンが RAA に登録されてたので見に行って、独自言語か〜と思った。
最近ここでテンプレートライブラリが話題になってたしね。
以前のバージョンでも良さそうだけど独自言語が・・・と思った記憶はある。
新しいバージョンは、いわれてみれば確かに Javascript ライクだけど、どうせなら Ruby で完結して欲しい。
> >>89
> プレゼンテーションロジックをRubyで書けるバージョンも作っていたが、ポリシーにあわんと判断してやめた。
>
> > Kwartzのどのへんが気に入った?
> そりゃこっちがききたい質問じゃ。
RubyでWebアプリを書いてる視点から見て Kwartz の良さそうなところは、テンプレートが eruby 形式に展開されるので
それなりの速度が期待できるところとか、ドキュメントが整備されているところとか、テンプレートとプレゼンテーションロジック
を容易に分けれるところとかかなあ。
010686
05/02/15 21:10:21テンプレートとプレゼンテーションロジックの分離は意識すれば自分でできるけど、あらかじめその仕組みが
用意されているのは嬉しい。Presentation Pattern Catalog なんかがまとめられているのも素晴らしい。まあ、
コンテキストとか適用範囲とかの説明がないのでパターンというよりイディオムっぽい気もするが。
プレゼンテーションロジックを独自言語でやってるのは、いくつかの点でメリットがあるのは確かだと思う。
でも、Ruby で Web アプリを作っていて、Java や PHP を使う予定のない俺からすれば、独自言語を使う
のは余計なコストでしかない。いや、独自言語といっても十分すぎるほど簡単だけど、頭のモードを切り替え
ないといけないからね・・・
コロンとかつけ忘れそうだし。
Java とか PHP で Web アプリを作る人も同じように感じるんじゃないかな。
0107デフォルトの名無しさん
05/02/15 22:33:54俺は独自言語でもいいと思っているけど。
テンプレートに特化してるなら覚えなければならないことはたかが知れてるし。
それに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:29011086
05/02/15 23:27:46> それにKwarzの場合はJava版やPHP版もあるから、独自言語にしておけば例えば
> PHPからJavaに乗り換えるなんて場合にコストがかからなくて済むでしょ。
そういったメリットがあることは確かだし、それを否定するつもりはないよ。
ただ、その乗り換えがどの程度発生するのかかなり疑問でもある。
独自言語のほかに、Ruby や Java や PHP でプレゼンテーションロジックが
書けるといいんだけど。そうすれば、1つの言語で閉じたいやつはその言語
を使えばいいし、将来の乗換えを気にするやつは独自言語を使えばいい。
たとえば、Ruby でプロトタイピングして、製品は Java で作る場合とかなら
独自言語は嬉しいかもしれない。でも、それ以外なら YAGNI ってこと
0111デフォルトの名無しさん
05/02/15 23:56:11[ruby-list:40616]
0112前928
05/02/16 00:42:53XSLTチックなのはどうなのかな……
まあ、イビツだと思うけどね。
0113デフォルトの名無しさん
05/02/16 00:45:24出てこない方が気味が悪い気がするけど?
0114前928
05/02/16 01:06:33Kwartz
−デザイン−− |−−ロジック−−|−−データ
プレゼンデータ |プレゼンロジック | コード
プログラム側にデータしか任せないのは珍しいよね。
0115デフォルトの名無しさん
05/02/16 01:13:040116デフォルトの名無しさん
05/02/16 01:28:15拝見しましたがMWさんのインパクトには到底敵いませんな。
0117前928
05/02/16 01:38:12プレゼンロジックとデータが(テンプレートの仕組みとして)
分離しているのって便利だと思う? > ALL
SikiWikiでも仕組みを用意しようかねぇ……
0118デフォルトの名無しさん
05/02/16 02:37:47Ruby でアルゴリズム
0119デフォルトの名無しさん
05/02/16 07:05:07なんだ、内部関係者かと思ったのだが違うようだな。
> 独自言語を使うのは余計なコストでしかない。
> いや、独自言語といっても十分すぎるほど簡単だけど、頭のモードを切り替えないといけないからね・・・
おまえは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> 独自言語のほかに、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:310125デフォルトの名無しさん
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けんかにみえたらすまん。知り合いのデザイナーの愚痴がうつっただけだ。というか、デザイナーの気持ちの代弁?
0127デフォルトの名無しさん
05/02/16 08:06:40ですます調にして、語尾をたまに伸ばすと
受ける印象が柔らかくなりますよー。
0128デフォルトの名無しさん
05/02/16 09:31:340129デフォルトの名無しさん
05/02/16 09:44:19rubyスレだと共感は得られにくいのは仕方ない。
基本的にここ(というかruby界隈全部なんだけど)は他の言語と比べても信者の割合が高いからね。
どうでもいいけど、
kwartz -l eruby -p example1.plogic example1.html > example1.rhtml
これをするのがめんどくさい。なんとかならん?
0130デフォルトの名無しさん
05/02/16 11:57:04力説乙。こーいう本気汁たっぷりなのは大歓迎だ。
自分が知らん現場での様子が観れて楽しいしな。(御苦労は察するに余りあるが)
0131デフォルトの名無しさん
05/02/16 13:23:05make
0132デフォルトの名無しさん
05/02/16 14:24:19ant
0133デフォルトの名無しさん
05/02/16 14:54:26ほのぼのrake
0134デフォルトの名無しさん
05/02/16 16:02:16外部の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--remote でインストールしようとすると
Updating Gem source index for: http://gems.rubyforge.org
から先に進んでくれません。
何が起こっているのでしょうか?
一度、Ctrl-C したときは
yaml/baseemitter.rb:175:in `map' : Interruput ....
てなことになりました。
013686
05/02/16 20:23:44>>119
SQLは使うけど、それはしかたないから使ってるのであって好きで使ってるわけでもない。
本当は PStore ですむならそれだけにしておきたいよ。
目的を達成するのに必要なら SQL でも Java でも PHP でも C++ でも C# でも使う。
そんなのあたりまえだよね。kwartz の独自言語も kwartz が必要なら使うと思う。
でも、それが嬉しいかというと、嬉しくないといってるだけ。
> 独自言語でも、メジャーになれば使われる。
だから独自言語でもいい、というのはおかしいと思うけど。
Velocity や JSTL や Smarty を使ってるプログラマな人たちは、みんな喜んで使ってるの?
HTML を直接出力するのに比べればはるかに楽だけど、もっと楽な方法を求めてははだめなの?
よく使われてるというのと、使ってて気持ちがいいのとは違うんじゃないかな。
メジャーだっていうのを選択基準にするなら、そもそも Ruby は使ってないよ。
013786
05/02/16 20:24:47まったくだね。
でもそんなことを言われると、なんでデザイナの都合にプログラマがあわせないといけないんだよ、っていいたくなるよ。
そんな対立こそバカバカしいんだから、kwartz の良さをアピールしたいなら、そんな言いかたは避けたほうがいいような気がする。
未踏でやったからしかたなく公開してるっていうならともかく。
プログラマがあわせるほうがコストが低いというのは現実的な解だと思うよ。
でも、あわせる必要がないときまであわせなくてもいいという選択肢を用意するのも、現実的な解の1つじゃないかな。
難しいから無理っていうわけでもないみたいだし。
> amritaのように素のHTMLが使えるテンプレートシステムを使ってくれりゃいいのに
amrita を使う場合はプレゼンテーションロジックは Ruby で書くことになるよね。ここで amrita を
引き合いに出すなら、それこそ、プレゼンテーションロジックは Ruby でいいじゃんって思ってしまうわけですが。
もちろん、amrita はプレゼンテーションロジックのコードをビジネスロジックのコードと簡単に
混ぜることができるので、そのへんはいまいち。テンプレートと、>121 みたいな不自然なコードじゃなくて、
普通の *.rb から eruby 形式を生成できるのが理想なんだけど。
eruby 形式を生成できれば、オーサリングツールでテンプレートを作って Ruby on Rails とかでも使える嬉しさがあるしね。
013886
05/02/16 20:25:25ただ、俺にはそのメリットの大半はいらないから Ruby で書ければなってだけで。
まあ、kwartz の中の人がいろいろ書いてくれたおかげで、少なくとも、kwartz はデザイナ優先で
プログラマは妥協しないとだめっていうポリシーだというのはわかった。それはそれでありだと思う。
独自言語を気にしない人とか、妥協の結果得られるものが嬉しい人も少なからずいると思うし。
個人的には、デザイナ優先だけじゃなくて、デザイナとプログラマの両方が妥協せずに
もっと幸せになれる方法はないのかなって思うけどね。
0139デフォルトの名無しさん
05/02/16 20:30:55はじめて gems で何かをインストールしたときは、かなり待たされた記憶がある。
マシンのスペックとかにもよるのかもしれないけど。
0140前928
05/02/16 20:33:23Application-Oriented Languageの利点はわかるけど……
−デザイン−− |−−ロジック−−|−−データ
プレゼンデータ |プレゼンロジック | コード
デザイナー | プログラマー
という守備範囲のうちは、ロジックとデータを別の言語体系で
扱うのは面倒だなぁ
−デザイン−− |−−ロジック−−|−−データ
プレゼンデータ |プレゼンロジック | コード
デザイナー | プログラマー
というのなら、ロジックを扱うのにシンプルな言語体系を採用しても
仕方無いかな、と思う。
いっそのこと全然雰囲気の違う(&XMLベースの)XSLTチックな
方が使う気になるけど、デザイナーはXSLTよりもJavaScriptの
方が慣れてるかな……
0141デフォルトの名無しさん
05/02/16 20:45:40One-Click Ruby Installerの最新版が出たばかりの頃にダウソして、
gemを使ったことがあるけど、特に問題はなかったよ。
0142デフォルトの名無しさん
05/02/16 20:56:27> 俺には
これが全てを物語ってる気がした。
俺には、この話題は興味ないからどうでも良いけど。
0143デフォルトの名無しさん
05/02/16 21:08:05kwartz が提供するといっているメリットをすべての人が欲しいわけじゃないってだけだろ
0144デフォルトの名無しさん
05/02/16 21:22:390145デフォルトの名無しさん
05/02/16 22:16:24>>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にやらせることができるんだよね。
だから今まで困ってなかったのか。
ちょっと考えてみる。
014886
05/02/16 23:08:55> 最初はすばらしいアイデアだと思ったが、デザイナーのことを考えて結局やめた。
素晴らしいアイディアだったのに (´Д⊂ヽ
別に理想に燃えてはいないが、気がむいたらやってみるよ
0149デフォルトの名無しさん
05/02/17 02:20:44ということですよね。なんかそういう考えもちょっとどうかなあと思うけど。
0150デフォルトの名無しさん
05/02/17 03:38:000151デフォルトの名無しさん
05/02/17 04:26:29どうやったらそんなまとめになるのか。
「デザイナーはプログラマーの都合を押し付けられて困ってる」とか
「デザイナーはRubyやPHPを使いたがらない。それはプログラマーがJavaScript使いたがらないのと同じ」とかは書いているが。
馬鹿がいるとしたら勝手な解釈するやつのことだろ。
0152デフォルトの名無しさん
05/02/17 09:44:54> いや、2ちゃんでそんなこといわれても・・・
「便所の落書き」だからといって、どんな口調(論調?)でもいいというわけではない
丁寧語を使えとは言わないが、見る人間のことを考えた書き方は大事だよ。
0153デフォルトの名無しさん
05/02/17 10:00:580154デフォルトの名無しさん
05/02/17 22:36:330155デフォルトの名無しさん
05/02/17 23:23:340156デフォルトの名無しさん
05/02/17 23:31:47仕様を考えてみた。
まずページ全体のデザインを担当するテンプレートを用意する。
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プレゼンテーションデータの統合なら、SSIを真似して
<!--#include kwartz_file="パス" -->
とかの方が理解しやすいと思います。
0160デフォルトの名無しさん
05/02/18 01:48:46http://coolnamehere.com/products/pagetemplate/
0161134
05/02/18 05:33:41<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> <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:44Railsはまだ試してないが、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:200166デフォルトの名無しさん
05/02/18 22:00:01過去ログ読め。それらの意見に対する返答は一通り書かれた。
kwartzはDWとかの吐いたテンプレートを使う状況を
主なターゲットにしてる(んだと思う)。
しかしスレタイ変えた方がいいな。
0167デフォルトの名無しさん
05/02/18 22:39:13Jamisタソ(Needleとかやってる人)がRails-Amritaブリッジを作ったらしい。
ttp://dev.rakusui.jp/diary/?date=20050217#p03
0168前928
05/02/18 23:16:58>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来週らしい。
http://one.textdrive.com/pipermail/rails/2005-February/003186.html
0170前928
05/02/18 23:59:52来週か……プログラムの構造はHackしやすくなっているかな?
passive template APIはおもしろそうだね。
0171デフォルトの名無しさん
05/02/19 00:26:35最新版は自分でswin.soをコンパイルしないといけないっぽい。
だれか、コンパイルしてアップしてくださいm( __ __ )m
0172デフォルトの名無しさん
05/02/19 00:52:00http://rubyforge.org/projects/amrita2/
0173デフォルトの名無しさん
05/02/19 01:15:310174デフォルトの名無しさん
05/02/19 01:21:23> 独自にテンプレート言語をつくるのが楽しいのはわかるんだけど、
> 実務上は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前928
05/02/19 01:43:57おお、そういうスレあったのね。
では皆さん、さようなら〜
Amrita2のベンチは向こうに貼り付けます。
0176デフォルトの名無しさん
05/02/19 02:35:08>おまえはRDBを使うか?もし使うなら、SQLを使うだろ。あれこそ本当に頭のモードを切り替えなきゃいけないぐらい
Kwartzを独自言語じゃなくてSQLにしろってことね。
>独自言語でも、メジャーになれば使われる。Kwartzはマイナーだから使われない。それだけだ。
0177デフォルトの名無しさん
05/02/19 11:10:04こういう怠惰な現状肯定を認めてしまうと、
技術者は予め与えられた道具を黙って使っていればいい
ということになって、イノベーションの可能性を阻害する。
0178デフォルトの名無しさん
05/02/19 12:53:44いつまで創業期黎明期じゃまずいだろ
0179デフォルトの名無しさん
05/02/20 00:39:340180デフォルトの名無しさん
05/02/20 03:01:18ないみたいだねえ
ユーザML なら自分で作るという手もある
0181デフォルトの名無しさん
05/02/20 07:30:07そのまま () をつけたら関数呼び出しになる変更を検討中だそうだ。
ttp://www.rubyist.net/~matz/20050218.html#p01
0182デフォルトの名無しさん
05/02/20 08:04:47現状を述べたまで。努力を放棄したとはどこにも書いてないだろ。
しかしどうやったらこんな解釈をするのか。
0183デフォルトの名無しさん
05/02/20 13:32:34かなり影響大きそう。
ところで、ツッコミにもある野分さんの案はどうよ?
ruby的にはこっちのほうが合ってるような気もするんだが…
0184前928
05/02/20 13:51:12なんだよ、こっちに戻ってきてるの?
誘導するならサマリの作成&誘導をちゃんとやりなさい。
>174
>id属性は「HTMLファイルで重複してはいけない」から、オーサリングツールで
>容易にチェックできるため、かえって向いていると思うのだが。
複数箇所に同じデータを代入するようなケースに対応できませんが……
#ページのタイトルと大見出しを同じにするとか
>コメントを使う方式では、ほんとうにHTMLタグをコメントするときに困る
タグのコメントもリスク高いですな(合法だけど)
HTMLタグをコメントするケースって多いのかしらん?
>177
>こういう怠惰な現状肯定を認めてしまうと、
手間をかける以上のイノベーションがあるのが前提だけどね。
JavaScriptライクなの作成中とのことだけど、そっちの方がデザイナーの
学習コストが少なくていいかもね。繰り返しになるけど、XSLTもいいと思う
#デザイナーにロジックをいじらせるつもりならだけど
0185デフォルトの名無しさん
05/02/20 13:53:43|複数箇所に同じデータを代入するようなケースに対応できませんが……
|#ページのタイトルと大見出しを同じにするとか
alias
0186の
05/02/20 13:55:46前にruby-devに投稿したときは
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24302
あまり芳しい反応はなかったからなぁ。
ClosureとObjectを等価に扱えるようになって便利なんだけどね。
RubyからProcを修正できるけど、Quick Hackの感は否めないし……
0187前928
05/02/20 14:01:52それはプログラム側で対応しろということかな?Kwartzには無いよね?
「同じデータを使いたい」というのは、デザイン側の問題であることが
多々あるので(上記の例とか)、プレゼンテーションデータ側で処理したい
ケースとかあると思うけど。
0188デフォルトの名無しさん
05/02/20 15:29:51lambdaに対して何らかのメソッド呼び出しするのが違和感あるんだよね。
「.callだから嫌」というわけじゃないと思う。
でも、
>関数的呼出しの関数名部分がローカル変数のときには、そのローカル変数の値に「call」メソッドを適用する
って解決はすごくださいなぁ…。
0189デフォルトの名無しさん
05/02/20 18:08:55テンプレートシステムと関係ない点へのつっこみだから、こっちに書いたまでだ。よくよめ。
0190デフォルトの名無しさん
05/02/20 20:09:04[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:19schemeなんかだと変数と呼び出しは構文的に分かれてるからいいけど、
rubyじゃそうもいかないし。
どういう感じがいいわけ?
0192デフォルトの名無しさん
05/02/21 00:42:39f = lambda{|x| p x}
f(12)
どういうアプローチで実現するのが綺麗かは思いつかない。
()を[]同様メソッドにするのがいいと思うんだけど、
引数無しメソッドの扱いが困るのもわかる。
0193デフォルトの名無しさん
05/02/21 01:21:37何とかなるんだろうが仕様変更が大きすぎるだろうね。
0194デフォルトの名無しさん
05/02/21 02:10:260195デフォルトの名無しさん
05/02/21 03:44:45いくつか、プログラムのソースを読もうと思うのですが、
Rubyらしく書いてあるプログラムって、どんなのがありますか?
webrickとか、tDiaryとか、どうなんでしょうか?
0196デフォルトの名無しさん
05/02/21 05:37:09レシピブック。
著者の青木さんのWikiも漁ってみんさい。ttp://i.loveruby.net/w/RubyPages.html
0197デフォルトの名無しさん
05/02/21 06:41:280198デフォルトの名無しさん
05/02/21 06:49:560199デフォルトの名無しさん
05/02/21 12:02:31アルゴリズムをパクる、、,じゃ無くて、真似る(学ぶ)。
この人のソースも結構きれいだとおもうんだけど。
http://cgi.2lbox.org/
各種言語(RubyをはじめPerl,PHPなど)のBBSプログラムを比較検討したりと、けっこう私は勉強させてもらっています。
あれ、既出?
0200デフォルトの名無しさん
05/02/21 13:33:00なんか特に見るところもないソースだな
つーか配布するならライセンスくらい書こうぜ
0201195
05/02/21 16:25:36初心者が、リファレンスみたいに使うのかと思ったら、
よく考えたら、これをサラッと書けるようになれば、
中級者くらいになれそうですね。
レシピブックやってみます。
ありがとうございました。
0202デフォルトの名無しさん
05/02/21 16:38:230203デフォルトの名無しさん
05/02/21 16:49:250204デフォルトの名無しさん
05/02/21 18:19:05それはattr_readerで困る。
0205デフォルトの名無しさん
05/02/21 19:37:24既存のコードが動かなくなったりする?
0206デフォルトの名無しさん
05/02/21 20:33:08Perlからtieを借りてくればいい。
0207デフォルトの名無しさん
05/02/21 23:02:09全体的に良くまとまってて、きれいなソースだとは思う
だが、parse_tagtokatext(タグとかテキスト)というメソッドの命名はどうなんだ
0208デフォルトの名無しさん
05/02/22 01:16:54...........まぁ、いいんじゃなかろか。わかりやすいし。
0209デフォルトの名無しさん
05/02/22 01:18:35どうせなら
yomotoru_tagu_toka_tekisuto
くらいテッテ的にやってもらいたい
0210デフォルトの名無しさん
05/02/22 02:07:57みんな忘れてると思うが、Ruby は日本語の識別子が使える
だから、
def タグとかテキストを解析(文字列)
end
でいこうぜ
0211デフォルトの名無しさん
05/02/22 02:24:21やだ。
0212デフォルトの名無しさん
05/02/22 02:27:35だから漢字とかで識別子をはじめると定数扱いになったような。
0213デフォルトの名無しさん
05/02/22 02:36:34きもち悪いことに、本当にできた。試してみるもんだ。
#!/usr/bin/ruby -Ke
def こんな場合の気分って(こんなとき)
case こんなとき
when "恋したとき"
return "もんもん"
when "デスマーチ","阪神が負けた"
return "てんぱってる"
when "猫にそっぽを向かれた"
return "それはないよね"
end
end
print こんな場合の気分って('阪神が負けた')
exit
なにもここまで自由度が高く無くても(*_*;;)、と。
呆れるやら、..待て、なんかこれ結構使い道あるんじゃねぇか?と企ててみたり。
0214デフォルトの名無しさん
05/02/22 02:48:35ちゃうよ。小文字と同じ。だから直接こういうのはできない。
class くらす; end
0215デフォルトの名無しさん
05/02/22 03:02:10VBでもJavaでも使えるぞ。
0216デフォルトの名無しさん
05/02/22 03:50:49逆だったか。サンキュー。
とは覚えていても使わない豆知識だなこれはw
0217デフォルトの名無しさん
05/02/22 03:51:48printもaliasしようよー
0218デフォルトの名無しさん
05/02/22 10:31:11動かなくなるのもある。
method = method(arg)
みたいなの。
添付ライブラリにも2,3ヵ所あるが、一般にどの程度影響があるかまでは調べてない。
0219デフォルトの名無しさん
05/02/22 12:08:07本末転倒のような。
0220デフォルトの名無しさん
05/02/22 12:34:22うーん、それで既存のコードが動かなくなることは無いように思えるのですが、
添付ライブラリの2,3ヶ所ってどこらへんでしょうか?
0221192
05/02/22 13:46:58class << 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:28ttp://iorcc.dyndns.org/
0223デフォルトの名無しさん
05/02/23 00:53:25代入の左辺でmethodという変数ができるから、右辺のmethod()はその変数への
呼び出しと見なされてしまう。
> 添付ライブラリの2,3ヶ所ってどこらへんでしょうか?
sample/test.rbとtest/ruby/test_iterator.rbの
lambda = lambda{44} とか marity_test あたり。
0224デフォルトの名無しさん
05/02/23 02:40:05f.call(2)と同義とするとかで、いいんじゃないか
にんげんだもの
0225初心者
05/02/23 10:23:36なんか、微妙に使いにくいというか、何をエスケープしたら十分なのかよくわからん。
%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の例のように括弧を含む文字列をわざわざ%Q()や%q()で書こうとするのは
はっきり言って無意味。
0228デフォルトの名無しさん
05/02/23 11:21:54p "s" =~ /\n/
p "s" =~ /$/
0229デフォルトの名無しさん
05/02/23 11:51:350230デフォルトの名無しさん
05/02/23 13:00:390231デフォルトの名無しさん
05/02/23 15:44:32%Q(abc(def))はエラーにならんのだけど。
カッコの対応が取れてないのはtypoではなくソースでもそう書いたのか?
>何をエスケープしたら十分なのかよくわからん。
気持ちわかる。俺もあまり自信ないが、
%qはシングルクォートを書きたいとき\'ではなく'と書く(書かなくてはならない)、ほかは''と同じ、
\Qはダブルクォートを書きたいとき\"ではなく"と書ける(\記法が有効なので\"と書いてもいい)、ほかは""と同じ、
じゃないかな。
>>227
#{}って関係ある?
0232デフォルトの名無しさん ◆m7YeytgDFE
05/02/23 15:50:07下記のような違いがあるということかな?
%Q( #{ Time.now } ) # => " Wed Feb 23 15:48:08 JST 2005 "
%q( #{ Time.now } ) # => " \#{ Time.now } "
0233デフォルトの名無しさん ◆m7YeytgDFE
05/02/23 15:53:58あ、これは"〜"と'〜'の違いっていうだけか。
良く分かってませんでした。失礼しました...。
0234デフォルトの名無しさん
05/02/23 16:12:09ただ単に文字列中に " を入れたいなら ' でくくればいいのだが、
文字列中に #{} と " の両方を入れたいなら " でくくるのはちょっと、
という話ではないだろうか。
0235デフォルトの名無しさん
05/02/23 16:26:33%Q(abc(def) が通らないっていうのはすごくヘンだと思うぞ。なんで文字列の
中でカッコのマッチングをわざわざ取ってるんだ?
%Q|abc(def| とか、他の記号を使うとオーケーなのにね。
%記法をつかうなら中に入らない文字を使えってことかな。
0236デフォルトの名無しさん
05/02/23 16:33:46つーか、
> %記法をつかうなら中に入らない文字を使えってことかな。
という認識は、きっと逆で、
中でかぶらない任意の文字を区切り文字として使いたい、
という場合に%記法を使うのが正しい使い方と思われ。
0237231
05/02/23 18:09:39確かに不思議な仕様ではあるね。
なんとなく%Q(()) => "()"としたかったのかな。
他の言語(Perlとか)からごっそり取り込んだだけの仕様だったりする?
ところでもし>>225==>>235なら、
>%Q(abc(def)はエラーで、%q(abc(def))は通るんですよね。
でわざわざ%Qと%qを使った理由を教えてくれ。
0238226
05/02/23 18:34:01$が、改行の前か、文字列の最後ってことは、色々調べて書いてあったんですが、
その上で、226を実行すると、/\n$/っていうのがabc\nにマッチしてしまう理由がわからないのです。
$が改行の前なら、マッチして欲しくないんですが。
0239225
05/02/23 18:37:54あ、今知ったんですが、%qとか%Qって、括弧()じゃなくてもつかえるんですね!!
これなら、便利かも。
ところで、やっぱり、変な仕様である気はしますね。%q(()のエラー。
0240デフォルトの名無しさん
05/02/23 18:56:47/\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それを知らなかったのなら仕方ないか。
%記法は、括弧のときだけ特別に中身の対応をチェックするようになっている。
親切なような、余計なお世話のような。
%Q'文字列中に"をエスケープなしで'
%q"文字列中に'をエスケープなしで"
とか書いたりもするなあ。
0243デフォルトの名無しさん
05/02/23 19:41:51# Perl では $ は改行の前と文字列末尾にマッチする
とあるけど
print "true\n" if "\n" =~ /$\n/;
はperlでマッチしないのね。
でもrubyだとマッチする。
0244デフォルトの名無しさん
05/02/23 20:06:460245デフォルトの名無しさん
05/02/23 20:15:27Perlでは$は、改行文字そのものとマッチするが後方参照しても文字列が取り
出せないもの、としているということなのかな。
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"\na" =~ /^a/は複数行モードの問題じゃね?
"\na" =~ /^a/mにすればperlもrubyもマッチする
0248デフォルトの名無しさん
05/02/23 20:28:51["a", "b"].inspect
0249デフォルトの名無しさん
05/02/23 20:32:49Ruby はデフォルトで複数行モードがセットされてるってこと?
0251デフォルトの名無しさん
05/02/23 20:43:39http://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マジで?
Ruby には s なんて無い (Shift_JIS モードになるオプションに当てられてる) わけだけど、
どうやって単行モードにするの?
0253デフォルトの名無しさん
05/02/23 21:15:45/usr/local/bin/ruby が存在しなくてエラーになりまくりなのですが。
0254デフォルトの名無しさん
05/02/23 21:37:47日本語は?
0255デフォルトの名無しさん
05/02/23 21:39:10-K オプションを指定すれば?
0256デフォルトの名無しさん
05/02/23 21:47:12・・・知らなかった、サンクスorz
$KCODE= = 'SJIS'にしてみた
0257デフォルトの名無しさん
05/02/23 21:55:230258デフォルトの名無しさん
05/02/23 23:16:33そんなモードいらん
0259226
05/02/24 00:05:30p "abc\n" =~ /$$$\n$$$/ #=> 3
なるほど。
0260デフォルトの名無しさん
05/02/24 00:59:19http://pc5.2ch.net/test/read.cgi/tech/1107799347/
0261デフォルトの名無しさん
05/02/24 01:10:19むしろNオプションでネコミミモード
……どんなモードやねん、と自分で突っ込んでおく
0262デフォルトの名無しさん
05/02/24 01:11:56http://www.rubyist.net/~matz/20050222.html#p01
これ、だれかやるの?
0263デフォルトの名無しさん
05/02/24 09:49:34されてないんだけど、ruby-talk の間違い?
0264デフォルトの名無しさん
05/02/24 10:33:09http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/40638
これ?
0265デフォルトの名無しさん
05/02/24 11:18:140266デフォルトの名無しさん
05/02/24 11:45:27をインストールして、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でみなさん、使えてるのでしょうか??
0267266
05/02/24 11:53:06やはり、パスにスペースが入ってるとうまくいかないようです。>gems
デフォルトで、RubyGems添付になって、
RAAに登録されているのは、Gem形式で配布されればいいのに。。
0268266
05/02/24 12:00:09updating gem source index for: http://gems.rubyforge.org
ってところから進まないぞぉー
0269266
05/02/24 13:17:41るびま見たら、actionmailとか必要みたいなので、インストールしようと思ったら、
RAAにないし。。
RAAからrailsだけとってきて、インストールしたらいいのかな??
0270デフォルトの名無しさん
05/02/24 13:43:37updating gem source index for: http://gems.rubyforge.org
と表示されてから完了するまでかなりの時間(2、3分)かかるので、
すぐにやめずに少し待ってみては。
0271266
05/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翻訳してくれ。
0273デフォルトの名無しさん
05/02/24 20:52:020274デフォルトの名無しさん
05/02/24 22:16:41http://one.textdrive.com/pipermail/rails/2005-February/003444.html
0275デフォルトの名無しさん
05/02/24 22:18:55インストールマニュアルというか、
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:10Hash[*[1, a, 2, b, 3, c]).to_a
0278デフォルトの名無しさん
05/02/24 23:07:15Hash[*ary].to_a # => [[1, a], [2, b], [3, c]]
0279277
05/02/24 23:07:520280278
05/02/24 23:12:14もういっちょ。
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]]}
美しくないですが。
0281277
05/02/24 23:20:51ary2 << [a, ary.shift] while a = ary.shift
0282276
05/02/25 01:00:55ありがとうございました。Rubyならwhileやfor文を使わなくても
きれいに書けるかなと思ったんですが、なかなか難しいみたいですね。
0283デフォルトの名無しさん
05/02/25 01:06:560284デフォルトの名無しさん
05/02/25 01:16:47> Rubyならwhileやfor文を使わなくても
そーいや、ここしばらくイテレータ以外で繰り返し処理かけてないな。
0285Py厨
05/02/25 01:42:31>>> zip(ary[::2], ary[1::2])
[(1, 'a'), (2, 'b'), (3, 'c')]
0286デフォルトの名無しさん
05/02/25 01:43:53汚すぎる
0287デフォルトの名無しさん
05/02/25 08:14:11Pythonだと 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>Rubyでは a[1,a.size-1] と書かなければいけない
a[1..-1]
0289デフォルトの名無しさん
05/02/25 18:12:100290デフォルトの名無しさん
05/02/25 18:39:52うまいやり方とかあるでしょうか。
proc = Proc.new do |foo|
...
end
みたいな proc があったとき、
proc.to_s
#=> "Proc.new do |foo|
...
end
みたいにソースコードをそのまま取り出したいんですが・・・
0291デフォルトの名無しさん
05/02/25 19:25:12eval
>>290
無理。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/40330
0293デフォルトの名無しさん
05/02/25 21:20:53ary.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:245行がいやならメソッドに切り出せばいいし
0295デフォルトの名無しさん
05/02/26 02:16:040296デフォルトの名無しさん
05/02/26 02:20:18でもプリプロセッサの個々の機能に対応するRubyの機能はないとは限らない。
0297デフォルトの名無しさん
05/02/26 02:47:510298294
05/02/26 03:54:04array = [1, 'a', 2, 'b', 3, 'c']
result = []
while e = array.shift do
result << [e, array.shift]
end
まあ、やってることは >281 とかわらんが。
0299デフォルトの名無しさん
05/02/26 03:58:06array = [1, 'a', 2, 'b', 3, 'c']
result = []
while e = array.shift do
result << [e, array.shift]
end
0300デフォルトの名無しさん
05/02/26 10:52:59>>299
Nice post!!
トリッキーなのも
「一行書き捨て、今後もう使わんだろー」っていうスクリプトならいいけど、
プログラムとして継続的につかい、しかも他人との共同作業であればなおさら、
ちょっとわかりやすすぎるし、ちょっと長いけど、単純な記述のほうが
あとあとうれしいもんだ〜ね。
........聞いてるかっ福沢!<だれやねん。
0301デフォルトの名無しさん
05/02/26 10:54:580302デフォルトの名無しさん
05/02/26 11:09:34自分突っ込みは痛いんで、もう死んだほうがいいと思うよ?
0303デフォルトの名無しさん
05/02/26 12:01:09empty_array = []
empty_hash = {}
みたいな空データを作ってから、そのあと
<< で要素を追加していくところ。
0304デフォルトの名無しさん
05/02/26 12:16:130305デフォルトの名無しさん
05/02/26 12:31:47ary2 = ([[,]])ary
0306デフォルトの名無しさん
05/02/26 12:42:31バカが往くのひとはどこの誰に切れたんですか?
0307デフォルトの名無しさん
05/02/26 12:49:41def 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:260309デフォルトの名無しさん
05/02/26 13:44:130310デフォルトの名無しさん
05/02/26 13:53:350311デフォルトの名無しさん
05/02/26 13:58:15それはあなたの思い込みでしょう。
そもそもそんな風潮なんてないし、
そもそも詰めて書いたら汚いなんてこともないし、
そもそも勝ち負けなんてないし。
0312デフォルトの名無しさん
05/02/26 14:45:55def 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>>312
どちらも
[[[1, 'a']], [[2, 'b']], [[3, 'c']]]
こうなってしまいませんか?
0314デフォルトの名無しさん
05/02/26 16:15:01実行してみると、きちんと [[1, "a"], [2, "b"], [3, "c"]] が出てくるけど。
0315デフォルトの名無しさん
05/02/26 20:26:37祥子お姉さま、お呼びになりましたか?
0316デフォルトの名無しさん
05/02/26 21:59:35たとえば変数aを1秒間に10回監視しa=1の時、正方形の中身を赤
2の時は青、それ以外の時黒に塗るというのはどう書けばいいのでしょうか?
0317デフォルトの名無しさん
05/02/27 00:52:28ごきげんよう。
0318デフォルトの名無しさん
05/02/27 05:37:53pythonや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:49tkに限らず、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なっている(売りにしている)のかがよくわからん。
慣れれば書きやすいとは思うが読みやすいとは全然思わない。
0323デフォルトの名無しさん
05/02/27 10:52:070324デフォルトの名無しさん
05/02/27 12:27:24普通に書いてる分にはきれいで読みやすいと思うけどね。
0325デフォルトの名無しさん
05/02/27 13:31:17イテレータって問題なの?
Rubyを知らない人にはわからんだろうけど。
>>322
じゃあ例えば何なら読みやすい?
0326デフォルトの名無しさん
05/02/27 13:34:030327デフォルトの名無しさん
05/02/27 14:51:25「ん、 なんだ この識別子は・・」 ->defってるところを探す
「ふむ・・ ここか・・ なになに?・・」
ここで思考停止になるパターン多そうな気がしない?
yield、イテレータの引数、渡されるブロック、ブロックパラメータ・・・
「んん?? これが・・ こうなって・・あれれ?」
0328デフォルトの名無しさん
05/02/27 15:12:46適切な名前をつける
0329デフォルトの名無しさん
05/02/27 15:43:04例えば、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言いたいことが全然伝わってこない。
例が""じゃString.newを書き足しても冗長なだけに見える。
さらに変数名がstr_だったら普通Stringだと伝わるだろう。
これはまさに>>328の言うとおり。
多分例が悪いんだと思う。それともまた型の話か?
0332デフォルトの名無しさん
05/02/27 16:22:21> 名前: デフォルトの名無しさん Mail: sage 投稿日: 05/02/26 12:01:09
> Rubyでヘンだと思うところは
> empty_array = []
> empty_hash = {}
> みたいな空データを作ってから、そのあと
> << で要素を追加していくところ。
え? Hashって、<< で要素を追加できたっけ?
0333デフォルトの名無しさん
05/02/27 18:58:350334デフォルトの名無しさん
05/02/27 19:47:28ケースによるけど、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:24Java で
ArrayList arrayList = new ArrayList();
arrayList.add("java");
とやるのが変じゃないと思うなら、
[] とか << を使うのが変ってことなんだろうね。
0336デフォルトの名無しさん
05/02/27 21:02:17http://rubyforge.org/forum/forum.php?forum_id=2474
0337デフォルトの名無しさん
05/02/27 21:34:49純関数型言語的書き方でない?
0338デフォルトの名無しさん
05/02/27 22:10:30お前もうずっとCOBOL使っとけ。
「お前の望むような形での誰が見てもわかりやすい」言語だぞ。
まともなプログラマは吐き気を覚えるけど。
0339デフォルトの名無しさん
05/02/27 22:26:010340デフォルトの名無しさん
05/02/27 23:13:29require 'enumerator'
p array.enum_for(:each_slice,2).to_a
# => [[1, "a"], [2, "b"], [3, "c"]]
0341デフォルトの名無しさん
05/02/27 23:21:17まぁ、いらいらするだろうなぁ。
http://dictionary.goo.ne.jp/search.php?MT=irritate&kind=ej
0342デフォルトの名無しさん
05/02/28 00:53:110343デフォルトの名無しさん
05/02/28 01:04:01COBOL-Rubyのブリッジを作ったら松江の会社に雇ってもらえるかも。
0344デフォルトの名無しさん
05/02/28 02:25:07イテレータの使用はわかりやすいとして
定義は わかりやすい、見やすい書式だ と思うか?
0345デフォルトの名無しさん
05/02/28 02:39:37yieldというキーワードがちょっとわかりにくいのをのぞけば、
十分わかりやすいと思うよ。
0346デフォルトの名無しさん
05/02/28 02:41:27Rubyに初心者が寄り付かないのはHSPが大盛況である理由と正反対の理由だから。
0347デフォルトの名無しさん
05/02/28 02:47:180348デフォルトの名無しさん
05/02/28 04:22:53yield 様様だな。
0349デフォルトの名無しさん
05/02/28 08:19:220350デフォルトの名無しさん
05/02/28 10:42:43変数のスコープがちょっと変な無名高階関数だと思ってるけど間違ってる?
手続き型言語と関数型言語のいいとこどりをめざした感じで
個人的には結構好き。この2つの制限がなければもっと嬉しいけど。
0351デフォルトの名無しさん
05/02/28 13:41:26これは文法的に動かないだろうな。
> 変数のスコープ
こっちはたぶんRuby2で変わるはず。
0352デフォルトの名無しさん
05/02/28 14:24:280353デフォルトの名無しさん
05/02/28 15:17:250354デフォルトの名無しさん
05/02/28 15:20:200355デフォルトの名無しさん
05/02/28 15:30:45ポインタきぼん。
どう渡してどう区別するんだ?
hoge() foo:{...} bar:{...}
def hoge
foo:yield
end
0356デフォルトの名無しさん
05/02/28 15:38:26クロージャ1つに特化したイテレータ文法はそれなりに成功してると思うけどなあ。
複数わたすなら明示的に普通の引数の一つとした方がよいだろうね。
ブロックとProcオブジェクトの微妙過ぎな違いもなくして統一し、
{ |a,b| ... } をRubyにおけるlambda式の表現としてどこにでも書けるように
するのがいいと思う。
0357デフォルトの名無しさん
05/02/28 17:59:33今のparse.yで実装できるかなぁ。
0358デフォルトの名無しさん
05/02/28 18:12:160359デフォルトの名無しさん
05/02/28 18:58:300360デフォルトの名無しさん
05/02/28 22:24:08ん? >>356は1.9じゃなくてRuby2での話?
0361デフォルトの名無しさん
05/02/28 23:05:350362デフォルトの名無しさん
05/02/28 23:40:20アリゲータ
ヴッ!
0363デフォルトの名無しさん
05/03/01 09:47:22>>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なかださん?
0366デフォルトの名無しさん
05/03/01 23:12:56そういうこと聞かないの。
0367デフォルトの名無しさん
05/03/01 23:14:22聞かなくても分かることは聞かないの。
0368デフォルトの名無しさん
05/03/01 23:19:250369デフォルトの名無しさん
05/03/01 23:45:47次は 1.a.0 になります。
0370デフォルトの名無しさん
05/03/02 14:22:46100行越えてたぞ。
0371デフォルトの名無しさん
05/03/03 12:15:580372デフォルトの名無しさん
05/03/03 15:50:28あんなのはPerlの悪習さ!(負け惜しみ)
0373デフォルトの名無しさん
05/03/03 15:52:51しかし、packとunpackでレシーバの型を悩む理由がよくわからん…
0374デフォルトの名無しさん
05/03/03 16:01:39バイナリ文字列の生成/パースと簡易Marshalくらいの用途しか考えてなかった。
素人でスマソ
0375デフォルトの名無しさん
05/03/03 17:21:190376デフォルトの名無しさん
05/03/03 17:26:47だっけ。
どうしてpackがArrayのメソッドなんだろうって、変換する要素がひとつの時に悩む。
>>374
自分も同じ。型ってこの場合chatとかbyteの事だと思う。
データ構造定義するときに一度wrapper method定義してしまえば、
あとは、pack/unpackを直接呼ぶ事は少ないけどね。
0377デフォルトの名無しさん
05/03/03 19:39:110378デフォルトの名無しさん
05/03/03 19:59:21意図された動作だと思う。例外を出すコードも見当たらないし。
Time.parseはParseDate.parsedateの結果を元にTimeオブジェクトを
用意するけど、足りない部分は第二引数(省略時はTime.now)で補われる。
ParseDate.parsedate("aaaaa")
# => [nil, nil, nil, nil, nil, nil, nil, nil]
この結果から、結局Time.nowと同じ結果が得られる。
これが望まれた動作かどうかは別の話だけど。
0379278
05/03/03 20:20:22"aaaa".to_i が 0 になったりするあたり、 Ruby ではこのテのメソッドは原
則的に「パースできるとこまでパースして、その結果をもとに値を決定する」
というポリシなのでは。
0380デフォルトの名無しさん
05/03/03 20:29:400381デフォルトの名無しさん
05/03/03 20:40:280382デフォルトの名無しさん
05/03/03 20:46:19Integer("aaaa")
# => ArgumentError: invalid value for Integer: "aaaa"
0383デフォルトの名無しさん
05/03/03 20:53:500384デフォルトの名無しさん
05/03/03 21:44:03いつも悩む。rfc2822メソッドはどれだっけとか。
0385デフォルトの名無しさん
05/03/03 22:59:07基本的に同意。まるで外部プロセスを起動するかのような使い方がもにょって仕方がない。
こないだから半分冗談でJcode.pmをRubyにベタ移植したらどうだろうとかやってるが
仕事がしんどくて10%の進捗のまま半月放置中さ´`,、(´∀`)´`,、
……誰かがんがってくれぇ(つ´д`;)
0386デフォルトの名無しさん
05/03/03 23:09:11いや、界面の設計は割とどうでもいいと思ってるのよ。
問題はもっと別のところにあるわけなのだが・・・
0387デフォルトの名無しさん
05/03/03 23:49:330388デフォルトの名無しさん
05/03/03 23:59:59そうなのか。ヘタレな同意でスマンカッタ
0389デフォルトの名無しさん
05/03/04 00:52:39どんな問題?
個人的にはインタフェース(と動作)がまともなら中身はどうだっていいんだが
・・・いや、nkf のインタフェースがいけてるという意味じゃないよ?
0390デフォルトの名無しさん
05/03/04 01:46:250391デフォルトの名無しさん
05/03/04 04:13:16chat型 ハァハァ
0392デフォルトの名無しさん
05/03/04 09:31:36中身もまともじゃない、ということでは。
念のために言うと、nkfをライブラリとして使ってることによる問題なのであって、
コマンドとしてのnkfがどうこう、という話ではないよ。
0393デフォルトの名無しさん
05/03/04 10:53:230394デフォルトの名無しさん
05/03/04 19:15:560395デフォルトの名無しさん
05/03/04 19:18:39YAML::StoreみたいなXML::Storeってあったっけ?
あるならそちらに乗り換えたい。
0396デフォルトの名無しさん
05/03/04 20:35:14YAML のほうがあってるってことかな。
Rubyist はこういうやつが多いと思ってたけどそうでもないんだな。
個人的には結構 YAML 使ってるけどまだ妙な仕様にはまったことはない。
使い方が足りないだけか。
0397デフォルトの名無しさん
05/03/04 20:53:330398デフォルトの名無しさん
05/03/04 21:33:18俺も使っているし自分で書いたりもするけど、
Ruby 1.8.2までに少しずつ出力結果や入力時の解釈が変わってきているので、
YAML(syck)のバージョンを跨いで同じデータを扱う時には
注意が必要だった。なかなか気付けない事が多いけどorz
0399デフォルトの名無しさん
05/03/04 22:18:53具体的にきぼん。
0400デフォルトの名無しさん
05/03/05 03:49:46これ見て思ったんですが、
__FILE__
と
File.expand_path(__FILE__)
これって、違いってあります??
どちらも、絶対pathの気がするんでうすが。
0401デフォルトの名無しさん
05/03/05 04:41:55__FILE__の仕様読み返せヴォケ。
0402デフォルトの名無しさん
05/03/05 13:15:590403デフォルトの名無しさん
05/03/05 14:15:130404デフォルトの名無しさん ◆m7YeytgDFE
05/03/05 19:42:13実際に試しましたか?
カレントディレクトリに下記のスクリプトを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例えば5万件以上含まれているとき、古い方から1万件削除、とかそういうことをやりたいのですが
marshal使うのやめてテキストにはき出して処理するしか方法がないんですかね
0406デフォルトの名無しさん
05/03/05 22:24:18テキストかmarshalかは関係ないと思うけど?
更新した時刻のデータが入ってるならそれ見ればいいし、入ってないなら無理だ。
具体的にmarshalをどんな使い方してるのかが分からないと何とも。
0407デフォルトの名無しさん
05/03/05 22:48:32hashに単語の登場回数を1対1で記録しています
処理させるデータの変遷によって、最近は見なくなったな〜
というような単語に関しては古い方に回していって消えてくれる
といった処理をさせたいのですが。
どうしたものでしょ
0408デフォルトの名無しさん
05/03/05 23:13:480409デフォルトの名無しさん
05/03/05 23:17:05hashをmarshalにdumpしてるのです
0410デフォルトの名無しさん
05/03/05 23:20:330411デフォルトの名無しさん
05/03/05 23:31:06> 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:510414デフォルトの名無しさん
05/03/05 23:42:01所詮戦争に負けた国だ。
0415デフォルトの名無しさん
05/03/05 23:52:360416デフォルトの名無しさん
05/03/05 23:54:390417デフォルトの名無しさん
05/03/06 00:06:00わざわざ日本語で書く理由が分からない
0418デフォルトの名無しさん
05/03/06 00:12:14ちゃんと読める英語を書ければね。
もはやネタに近いが、お米の国の人との交渉の席で
「マイ・フェイス、ドント・スタンド!!」
とのたまったお役人が居たそうで……
0419デフォルトの名無しさん
05/03/06 00:20:370420デフォルトの名無しさん
05/03/06 00:23:28三単現は理不尽だから止めて欲しいけど……
0421デフォルトの名無しさん
05/03/06 00:28:220422デフォルトの名無しさん
05/03/06 00:31:23ん。だから、藻前さんのように、ちゃんと読める英語を書ける香具師なんて
日本にそうそういねーよ、って話。
0423デフォルトの名無しさん
05/03/06 00:36:300424デフォルトの名無しさん
05/03/06 00:57:250425デフォルトの名無しさん
05/03/06 01:15:090426デフォルトの名無しさん
05/03/06 01:28:080427デフォルトの名無しさん
05/03/06 01:30:000428デフォルトの名無しさん
05/03/06 01:32:59つ[http://www.rubycentral.com/book/]
0429デフォルトの名無しさん
05/03/06 01:36:11とりあえず気楽に読み書きできるようになりたいだけなら、
ある程度 C とか他言語の知識があれば Web で十分じゃないかな。
0430デフォルトの名無しさん
05/03/06 01:38:02256本では遂に出なかった「王道編」ですな。
0431デフォルトの名無しさん
05/03/06 01:38:340432425
05/03/06 01:40:20おすすめの言語みたいなので勉強しようと。
0433デフォルトの名無しさん
05/03/06 01:40:330434430
05/03/06 01:40:43>428ならフリーだぞ。
0435デフォルトの名無しさん
05/03/06 01:57:39各出版社がRubyに関する本を出すのに躊躇するようになったって話だ
0436デフォルトの名無しさん
05/03/06 01:57:410437デフォルトの名無しさん
05/03/06 03:09:53たくさん釣れてよかったね。>>412
0438デフォルトの名無しさん
05/03/06 04:04:44で,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で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エスペラントという選択肢もあるぞ
>>425
プログラミングに馴染みがないなら、とりあえず「たのしいRuby」で。
他には上で挙がってた「プログラミングRuby」なんかもお薦め。
256倍シリーズはお薦めできない。いい本と悪い本がごちゃ混ぜになってるから
0441デフォルトの名無しさん
05/03/06 10:17:17ありがとうございます。プログラミングRubyでやってみます。
0442デフォルトの名無しさん
05/03/06 12:32:120443442
05/03/06 12:47:230444デフォルトの名無しさん
05/03/06 12:54:040445デフォルトの名無しさん
05/03/06 13:18:400446デフォルトの名無しさん
05/03/06 13:43:14それを釣りというならお前も釣られてんな
0447デフォルトの名無しさん
05/03/06 14:47:40変数と値の対応関係とか(スコープ)が実行時ではなく、コンパイル時に決定さ
れていること。 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>れていること。
この説明ってよく見るけど不正確じゃない?
動的スコープの言語がコンパイルできないみたいな印象を受けるよ。
0449444
05/03/06 20:10:00すごいよくわかった。さんくす。
つまり、Procオブジェクトlの中で変数aが現れたとき、それがコンパイル時点で決まっていれば静的スコープ、コンパイル時には決まっていなくて実行時に探索するのが動的スコープなのね。
447の説明ではlambdaというかProcオブジェクトを使っていて、この話はブロックでも同じことだとおもうけど、メソッド定義内でのローカル変数でも似たような話になるのかな。
あと、静的スコープと動的スコープはどっちがいいの?直感的には、動的スコープはわかりづらくデバッグしにくいように思うんだけど。
0451447
05/03/07 00:10:45メソッド定義内でも同じように議論もできるんだけど、 Ruby の現在の実装だ
とメソッド内は完全に別世界だから例として上手くないかな、と思ったので
Proc にした。たとえば、
a = 10
def x()
a
end
っていう時の a は Ruby だとエラーになっちゃうからね。 Scheme みたいな
レキシカルスコープな言語で似たようなことを書くと、 a は 10 を指してエ
ラーにならない。とはいえ、後ろの m をメソッドじゃなくて Proc にした方
が簡単だったかな。
ちなみに、動的スコープだと、たとえば再帰関数で毎回同じ引数を渡したりと
かいったことを省略して大域的に書いたり、ということを比較的容易に書ける
らしい。実は漏れもよくは知らない。でも、現状で動的スコープ言語が今では
ほとんどないということからして、やっぱりわかりづらいんだと思う。
0452デフォルトの名無しさん
05/03/07 04:28:450453デフォルトの名無しさん
05/03/07 04:47:39>>448 でも指摘されているが
>>447 の説明と >>449 の理解は間違っていると思うぞ。
コンパイルがどうこうは定義じゃない。
そういう実装が多い (気がする) だけ。
今更だがこういう話をするのに Ruby は不適切じゃないか?
そもそもかなりのスレ違いだと思うが…。
0454449
05/03/07 07:48:40じゃあ正しく説明してくれ。「コンパイル時」を「構文解釈時」にすりゃOKなんて逃げはなしで。
>そもそもかなりのスレ違いだと思うが…。
某松日記にでてたんで。
0455デフォルトの名無しさん
05/03/07 14:27:03例をあげられるくらいには理解できてるつもりだけど、
人に説明できるほど理解できてないので参照だけ。
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:040457デフォルトの名無しさん
05/03/07 14:49:160458デフォルトの名無しさん
05/03/07 15:04:170459デフォルトの名無しさん
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:370462デフォルトの名無しさん
05/03/07 21:05:090463デフォルトの名無しさん
05/03/07 21:48:380464デフォルトの名無しさん
05/03/07 22:39:520465デフォルトの名無しさん
05/03/07 23:21:060466デフォルトの名無しさん
05/03/08 00:14:530467デフォルトの名無しさん
05/03/08 00:30:140468デフォルトの名無しさん
05/03/08 02:45:540469デフォルトの名無しさん
05/03/08 07:28:54> Matz once told me that "matz" is Japanese for "pine"!
0470デフォルトの名無しさん
05/03/08 08:49:190471デフォルトの名無しさん
05/03/08 09:22:03辞書ひけ無脳。
0472デフォルトの名無しさん
05/03/08 10:16:100473デフォルトの名無しさん
05/03/08 11:02:420474デフォルトの名無しさん
05/03/08 12:40:370475デフォルトの名無しさん
05/03/08 12:40:56あと、pp.rbのInspectKeyが古いまんま。
つーか、スレッドローカル変数いじっただけで[BUG]ってのは、
厳しすぎるんでは。
0476デフォルトの名無しさん
05/03/08 12:52:16いろんな環境でコンパイルできなくなると思うが、なんか意味あんの?
0477デフォルトの名無しさん
05/03/08 14:00:15eval.cについては、そういうことじゃなくて、単なるバグでは。
もう直されたみたいだけどね。
0478デフォルトの名無しさん
05/03/08 16:11:38関係ないけど、関数定義(の引数)のスタイルはいい加減、C89にならんもんかいね。1.9とかで。
何かにつけては結局規格を頼りにしてんのだから、そろそろやめません?
0479デフォルトの名無しさん
05/03/08 16:13:120480デフォルトの名無しさん
05/03/08 16:16:030481デフォルトの名無しさん
05/03/08 16:17:30Rubyネタの振りをしたspamだと思えばよいかと
0482デフォルトの名無しさん
05/03/08 16:35:090483デフォルトの名無しさん
05/03/08 17:07:160484デフォルトの名無しさん
05/03/08 17:14:260485デフォルトの名無しさん
05/03/08 18:14:020486デフォルトの名無しさん
05/03/08 18:32:200487デフォルトの名無しさん
05/03/08 20:27:280488デフォルトの名無しさん
05/03/08 21:29:24規格を頼りにするのと関数定義スタイルを変えるのになんの関係が。
K&Rスタイルが規格違反になったわけでもないのに。
0489デフォルトの名無しさん
05/03/08 22:11:12ANSI-Cを頼りにする→処理系の前提としてANSI-Cがある→K&Rスタイルを貫くことに互換性の面では意味がない→ANSIスタイルにしたってええやん
ってつもりでした。
0490デフォルトの名無しさん
05/03/08 22:16:430491デフォルトの名無しさん
05/03/09 01:20:10> | 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誤爆どんまい…
0495デフォルトの名無しさん
05/03/09 19:58:410496デフォルトの名無しさん
05/03/09 21:23:50ハァ?
何がチミの心の琴線に触れて瞬間沸騰してしまったのかは知らないが
ちっとは落ち着けよwwwwwww
0497デフォルトの名無しさん
05/03/09 22:26:470498デフォルトの名無しさん
05/03/10 01:10:09「何がチミの心の琴線に触れて瞬間沸騰してしまったのかは知らないが
ちっとは落ち着けよ」 ――― 493
0499デフォルトの名無しさん
05/03/10 01:45:520500デフォルトの名無しさん
05/03/10 01:53:240501デフォルトの名無しさん
05/03/10 10:40:510502デフォルトの名無しさん
05/03/10 11:43:270503デフォルトの名無しさん
05/03/10 11:50:040504デフォルトの名無しさん
05/03/10 20:16:57w
0505デフォルトの名無しさん
05/03/11 23:54:160506デフォルトの名無しさん
05/03/12 02:05:130507デフォルトの名無しさん
05/03/12 02:43:562.0から、()で囲むようにすればいいじゃん。
0508デフォルトの名無しさん
05/03/12 03:25:10こんなかんじ?
foo do (bar, baz)
...
end
foo {(bar, baz) ... }
0509デフォルトの名無しさん
05/03/12 07:51:35Smalltalkからアレンジした書き方じゃなかったかな。
0510デフォルトの名無しさん
05/03/12 11:39:39式はカッコで括れるから、引数一個の時にコンフリクトするんじゃね?
0511デフォルトの名無しさん
05/03/12 18:52:520512デフォルトの名無しさん
05/03/12 19:05:55バイナリなら……シラネ。
0513デフォルトの名無しさん
05/03/13 05:14:520514デフォルトの名無しさん
05/03/13 05:51:47どうしてもそういうのを処理する必要があるならuri/common.rbをコピって
アンダースコアを追加して、先にrequireするようにしたらいいんじゃない?
0515デフォルトの名無しさん
05/03/13 11:46:33URI.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:25RFC違反だからinfoseekに通報白
0517デフォルトの名無しさん
05/03/13 12:07:07ブロックのパラメータ変数を||で括ってると、
|を含んだ式が中に書けないっていうのは、
そこでブロックのパラメータ変数部分が終わってしまうように見えるからじゃないの?
式の中で出てくる括弧は、(で始まって、)で終わるから、パラメータの終わりと間違うことはない。
つまり、始まりと終了で、違う記号(対応する記号)な記号を使えば、
問題ないと思うけど。
0518デフォルトの名無しさん
05/03/13 12:19:390519デフォルトの名無しさん
05/03/13 12:51:49> 式はカッコで括れる
a = 1
(a) => # 1
> 引数一個
block{(a)} # => パラメータ変数? カッコでくくった式?
0520デフォルトの名無しさん
05/03/13 15:23:34なるほど。
0521デフォルトの名無しさん
05/03/13 20:52:480522デフォルトの名無しさん
05/03/13 21:12:090523デフォルトの名無しさん
05/03/13 22:32:11これって、ドキュメントないみたいですね。
使い方の書いたページも探したけど見つからないんですけど、
どこかにあれば教えてください。
0524デフォルトの名無しさん
05/03/13 22:41:33↓こっちのスレに多少情報がある
【Ruby】RubyでCGI
http://pc5.2ch.net/test/read.cgi/php/988948655/
0525デフォルトの名無しさん
05/03/14 02:21:37[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年の経験を元に、新しい言語を再設計する神に期待。
0526523
05/03/14 02:23:08サンクス。
dRuby本か、divipのソース、付属のサンプル読むくらいみたいですね。
2003-9のUNIX USERと。古いなぁ〜
0527デフォルトの名無しさん
05/03/14 04:31:28ttp://www.kmonos.net/alang/d/
0528デフォルトの名無しさん
05/03/14 04:47:490529デフォルトの名無しさん
05/03/14 10:11:20しかし、URLを見たときは、alangという人の日記かと思ってしまった。
0530デフォルトの名無しさん
05/03/14 13:44:210531デフォルトの名無しさん
05/03/14 14:09:010532デフォルトの名無しさん
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:130534デフォルトの名無しさん
05/03/14 21:44:500535デフォルトの名無しさん
05/03/14 22:13:000536デフォルトの名無しさん
05/03/14 22:24:30/ .人
/ (__)
/ ∩(____)
/ .|( ・∀・)_
// | ヽ/
" ̄ ̄ ̄"∪
0537デフォルトの名無しさん
05/03/14 22:27:42(7ヌ) 人 人 (_ ) 人 (/ /
/ / (_ ) (_ ) (__) (_ ) ||
/ / (__) (__) _(・∀・ ) (__) ||
\ \( ・∀・)―--( ・∀・ ) ̄ ⌒ヽ(・∀・ ) //
\ /⌒ ⌒ ̄ヽ、 /~⌒ ⌒ /
| |ー、 / ̄| //`i /
| | | / (ミ ミ) | |
| | | | / \ | |
| | ) / /\ \| ヽ
/ ノ | / ヽ ヽ、_/) (\ ) ゝ |
| | | / /| / レ \`ー ' | | /
0538デフォルトの名無しさん
05/03/14 22:29:38(__)
. + (__∧_∧
( ( )
/⌒'/⌒' ~ `) +
. + ( く( く ノ | イ
ヽ,_'ァヽ,_'ァ , .| +
+ .ノヽ.ノヽ ._λ_ ) +
./ ./ ノ| ノ
( ( -く |ー(
\ \ └,.| .) +
/ /,┘/ (__)
0539デフォルトの名無しさん
05/03/14 22:31:23(ヨ ) (_ ) (_ ) ( 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:090542デフォルトの名無しさん
05/03/14 22:49:02おいら「おいすー^^」
0543デフォルトの名無しさん
05/03/14 23:17:560544デフォルトの名無しさん
05/03/14 23:39:140545デフォルトの名無しさん
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:160547デフォルトの名無しさん
05/03/15 01:24:33http://raa.ruby-lang.org/project/muravey-web/
0548デフォルトの名無しさん
05/03/15 20:27:45activerecordのテストをしようとして、
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:070550デフォルトの名無しさん
05/03/15 22:01:430551デフォルトの名無しさん
05/03/15 22:27:070552デフォルトの名無しさん
05/03/16 00:31:430553デフォルトの名無しさん
05/03/16 01:14:15RoR 関係のライブラリはバージョンアップが激しいので
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ドキュメンテーションという雑用に直面した際、最近 Wiki 病に感染した人の典型的な抗弁は、
「おい! そのドキュメント Wiki に置こうよ!それがクールだって!」である。そうして Wiki の
インストール作業が、面白くないドキュメント作成作業を先延ばしにする手になるわけだ。
0556デフォルトの名無しさん
05/03/16 09:44:48そのページの主張は、至極もっともだと思うけれども
「楽しいからWikiを使う」という観点が抜けているのが気になる。
0557デフォルトの名無しさん
05/03/16 15:09:05ツールは関係ない。
0558デフォルトの名無しさん
05/03/17 01:30:33PickAxeサイトとrdocがあるじゃん
あれで十分だよ
英語読めないやつはなでしこでも使ってろ
0559デフォルトの名無しさん
05/03/17 02:17:55王道編ですな。邦訳本があるがな。
0560デフォルトの名無しさん
05/03/18 11:09:31どうもgemのインストールの仕方か使い方が間違っていたようで、
gemを使わずにインストールしたらあのエラーは出なくなりました。
0561デフォルトの名無しさん
05/03/18 20:43:00* ある特定の URL なら本物のサーバにアクセスせずに別のコンテンツを返す
* URL に応じて上流のプロキシサーバを変える
といったことはできるでしょうか?
ProxyContentHandler より前に handler hook があると良さそうなんですけど。
あと、コンテンツがでかいと危険な気がしなくもないんですが、これは気のせいですね。
0562デフォルトの名無しさん
05/03/18 23:07:10検索できるようにするという話はないの?
0563デフォルトの名無しさん
05/03/19 12:37:33そういう発想は出てこないようなんだよねえ。やってもらえるとありがたいんだけど。
CPANにすらあるのに。
0564デフォルトの名無しさん
05/03/19 12:58:030565デフォルトの名無しさん
05/03/19 13:41:41bladeのコードを出せ出せというのが時々あるのを見ればわかる。
しょぼかったときはしょぼさ加減もアピールされてしまうけどさ。
0566デフォルトの名無しさん
05/03/19 15:18:41あと今のところバージョナップ毎に db 作り直さなきゃいけないとかがちょっと。
つーか、誰か自分の鯖持ってるひとが試験的に上げてみるとかはないの?
0567デフォルトの名無しさん
05/03/19 15:59:480568デフォルトの名無しさん
05/03/19 16:37:07いいわけだろ。
少しは見習え。
http://cpansearch.bulknews.net/
0569デフォルトの名無しさん
05/03/19 20:19:00Proxy 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そう思うなら自分でやったら。
プログラムより先に言葉が出てくるのは老化の証拠だ。
0571デフォルトの名無しさん
05/03/19 22:19:130572デフォルトの名無しさん
05/03/19 23:43:21(死んでません)
0573デフォルトの名無しさん
05/03/19 23:50:15CPANと違って専用のダウンロードサイトすら用意されていないわけだが。
0574デフォルトの名無しさん
05/03/20 00:22:03CPANとかRAAとかでgonzui使ってなにか嬉しいことあるの?
ある特定のプロジェクト内でソースコード検索したくなる理由はわかるんだけど、
こういうプロジェクト集めましたってところで
READMEとかだけでなく敢えてソースコード全体の検索をする理由がよくわからない。
従来の検索をなくすわけでないなら、あって困ることはないだろうけどね。
0575デフォルトの名無しさん
05/03/20 00:33:26そのクラスを実際に使ってるコードが見つかる。
0576デフォルトの名無しさん
05/03/20 00:39:11それすごくいいなあ
0577デフォルトの名無しさん
05/03/20 00:46:15リファレンスが糞な事を言い訳できる効果があります
0578574
05/03/20 03:44:500579デフォルトの名無しさん
05/03/20 03:46:20こういうやつって必ずいるよな。
0580デフォルトの名無しさん
05/03/20 05:11:21これのインストールってどうやるんですか?
マシンには Berkeley DB 4.2 が入っているのですけど、REAdMEに書いてあるとおりのコマンドを打つと、
127で途中で終了してしまいます。
0581デフォルトの名無しさん
05/03/20 10:39:48HTTPProxyServer は HTTPServer のサブクラスなんで
WEBrick::HTTPServer の :RequestCallback が使えると思います。
0582デフォルトの名無しさん
05/03/20 11:05:39エラーメッセージをコピペすれ。
0583デフォルトの名無しさん
05/03/20 18:24:25rubyってcvs head?
だとしたらruby extconf.rbで常にえらーメッセージが出るように
なっているんだよねぇ。面倒だから報告してないけど。
それかな?
0584デフォルトの名無しさん
05/03/20 23:01:48ムカつく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:09subdirs.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> 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--------------------
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(月)それだね。
Makefileはちゃんとできているから気にせずmakeするべし。
0589デフォルトの名無しさん
2005/03/26(土) 22:49:350590デフォルトの名無しさん
2005/03/26(土) 23:25:48gonzuiマジデキタ━━━━━━━━━━(゚∀゚)━━━━━━━━━━!!!!!
0591デフォルトの名無しさん
2005/03/27(日) 02:09:07コードがドキュメントだ
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?CodeAsDocumentation
> 私が常々主張していること。こんなふうに書けたら、誤解されずにすむのになあ。
0592デフォルトの名無しさん
2005/03/27(日) 02:57:26他のドキュメントはどこよ……matz
0593デフォルトの名無しさん
2005/03/27(日) 09:34:53CGI 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:480595デフォルトの名無しさん
2005/03/27(日) 10:26:23とてもいいニュースだ。
0596デフォルトの名無しさん
2005/03/27(日) 11:39:35ruby -rubygems と書けるように
ubygems が rubygems の alias になってる。
0597デフォルトの名無しさん
2005/03/27(日) 11:55:14誰か止めろよ。
0598デフォルトの名無しさん
2005/03/27(日) 12:07:10ubygems.rb がインストールされるってことなので。
0599デフォルトの名無しさん
2005/03/27(日) 12:16:42うびーじぇむず なんて意味不明な名前のライブラリを用意するそのセンスが
ついていけんのよ。
自分の事しか考えていない。
0600デフォルトの名無しさん
2005/03/27(日) 12:44:48-rrubygems ではなく -rubygems と
あたかも元からあるオプションのように書けるのが目的。
0601デフォルトの名無しさん
2005/03/27(日) 13:45:570602デフォルトの名無しさん
2005/03/27(日) 13:50:30見えんよ。元からあるなら --rubygems のはずだろ。
0603デフォルトの名無しさん
2005/03/27(日) 13:53:16というそのセンスが、ついていけんのよ。
そのへんに転がってるやくたいもないツールならそれでも構わんが、rubyは言語だぞ?
OSとアプリケーションを支えるインフラなんだぞ?
0604デフォルトの名無しさん
2005/03/27(日) 14:51:070605デフォルトの名無しさん
2005/03/27(日) 14:59:330606デフォルトの名無しさん
2005/03/27(日) 15:09:450607デフォルトの名無しさん
2005/03/27(日) 15:18:16-r ubygems は割とすんなり受け入れられるんだけども。
オプション指定時の「-rubygems」のわかりやすさと、
エラー発生時の「No such file to load -- ubygems」のわかりにくさで、
トレードオフの問題なのかなあ。
0608デフォルトの名無しさん
2005/03/27(日) 15:21:08んな昔の慣習を真似すんなよ。そういうのが良いと思ってるんなら別だが。
0609デフォルトの名無しさん
2005/03/27(日) 15:32:06http://raa.ruby-lang.org/gonzui/
65 名前:デフォルトの名無しさん[sage] 投稿日:2005/03/27(日) 13:36:52
>>64
日本語が化けてる。
0610デフォルトの名無しさん
2005/03/27(日) 15:38:52http://raa.ruby-lang.org/gonzui/markup/bluecloth/install.rb?q=package:bluecloth%20funcall:collect#l108
0611デフォルトの名無しさん
2005/03/27(日) 17:11:14そういうのが良いと思ってるからやっているわけだが?
0612デフォルトの名無しさん
2005/03/27(日) 17:26:450613デフォルトの名無しさん
2005/03/27(日) 22:24:56gem作ってるやつらのセンスが悪いのは
もっと他のところで責められるべきだと思う。
0614デフォルトの名無しさん
2005/03/29(火) 21:41:160615デフォルトの名無しさん
2005/03/29(火) 23:35:43勉強中ならone-linerではない普通のプログラムで勉強したら?
0616デフォルトの名無しさん
2005/03/29(火) 23:58:470617デフォルトの名無しさん
2005/03/30(水) 00:05:41614は「one-liner」の勉強中に500ルピー。
0618デフォルトの名無しさん
2005/03/30(水) 00:41:000619デフォルトの名無しさん
2005/03/30(水) 00:46:00Win32APIをrequireして、ShellExecuteを呼ぶとか
0620619
2005/03/30(水) 01:05:58require '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")
0621614
2005/03/30(水) 01:14:57616は私ではないです。
言葉足らずで申し訳ないです。Cでは大袈裟な規模のものはシェルスクリプトとかで
書くんですが、Rubyも面白そうなので始めてみようかとした際に、普段gawkなんかで
書いてる一行処理がRubyでもっとエレガントに書けるのかなと思ったのです。
そこでそういった「Ruby小技集」みたいのないかなー、と・・・
ひょっとすると、one-linerってこういう意味ではないのでしょうか?
0622デフォルトの名無しさん
2005/03/30(水) 03:26:19'open'を0だかnilにしてみたら。
0623デフォルトの名無しさん
2005/03/30(水) 11:14:54いや、そういう意味でいいと思うよ、one-linerは。
でも、one-linerは、俳句みたいなもので、世界全体を一瞬で切り取った上で
その真髄だけを一編にまとめる芸術なわけだから、世界全体を把握する能力が
ないとちんぷんかんぷんになる。
きっと>>615が言ってるのはそういうことだろう。
で、one-linerを集めたページだけど、見当たらないんだよなあ、これが。
もちろん、いろんなページでone-linerを見かけたりはするんだけどね。
The RWikiあたりで探してみるのはどうかな。
0624621=614
2005/03/30(水) 13:56:13なるほど、理解致しました。単なる実用以上の「内匠の術」というニュアンスのが強いんですね。
RWikiを覗きつつ、通常技を修行して腕を磨くこととします。
お返事ありがとうございました
0625デフォルトの名無しさん
2005/03/30(水) 15:54:37いやー、単なる実用のやっつけ仕事であることも多いんだけどね。
ただ、短いから簡単ということはなくて、短いからこそ高度な技であることも
多いよ、ということでひとつ。
0626デフォルトの名無しさん
2005/03/30(水) 17:25:28これでログイン出来ないのは何が悪いのか教えてぽ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まあ、あれだ。出来ないことはやらない、でよくね?
そんな事で2日もつぶしてるってことは、
別にスクリプトで回さなきゃいけないほど忙がしいわけじゃないんだろ。
手作業でやりゃいいじゃん。
0628626
2005/03/31(木) 02:32:58ようするに、DDNSのIP設定ツールのような感じで
SAKURAで管理しているgTLDのサブドメインに自宅設定したいんだよね
ゾーン設定を自動でやるためにログインが必要なんだけど
ログインフォームにPOSTしてもまたログインフォームが出てくるorz
ブラウザでログインしたクッキーを使って自前でcookie.datをでっち上げてやれば
一応先に進むことは出来るんだけど、それじゃなぁ・・・orz
0629デフォルトの名無しさん
2005/03/31(木) 21:45:150630デフォルトの名無しさん
2005/03/31(木) 21:56:40そもそも REXML が DOM って誰が言ってるの?
0631デフォルトの名無しさん
2005/03/31(木) 22:55:31Ω「ああっ、俺を踏み台(ry」 Ω「ザクとは違(ry」 Ω「連邦の(ry」
0632デフォルトの名無しさん
皇紀2665/04/01(金) 08:57:390633デフォルトの名無しさん
皇紀2665/04/01(金) 14:50:080634デフォルトの名無しさん
皇紀2665/04/01(金) 15:04:060635デフォルトの名無しさん
2005/04/02(土) 17:30:29教えてください!!
0636デフォルトの名無しさん
2005/04/02(土) 17:34:530637デフォルトの名無しさん
2005/04/02(土) 17:44:57f.each{|x|
exec(x)
}
}
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:59ar.map! { |i|
if i == 2 then ar << 4 end
if i == 4 then ar << 5 end
i
}
なら期待通りになると思うよ。
0642デフォルトの名無しさん
2005/04/03(日) 15:06:56http://www.rubyurl.com/
0643デフォルトの名無しさん
2005/04/03(日) 15:28:370644デフォルトの名無しさん
2005/04/03(日) 17:24:41まあ、Rubyスレだからrubyurlでいいんだけどな。
0645デフォルトの名無しさん
2005/04/03(日) 18:56:01RoR を使って小一時間で作ったというのが言及すべきとこだろう。
http://www.robbyonrails.com/articles/read/7
0646デフォルトの名無しさん
2005/04/03(日) 23:26:09Windows + xyzzy + cygwin な俺は既に負けですかね
0647デフォルトの名無しさん
2005/04/03(日) 23:29:14アリなんじゃないの。
0648デフォルトの名無しさん
2005/04/03(日) 23:44:38Windows + xyzzy + VC++6
0649デフォルトの名無しさん
2005/04/03(日) 23:50:580650デフォルトの名無しさん
2005/04/03(日) 23:51:570651デフォルトの名無しさん
2005/04/03(日) 23:53:28RubyってVCでも開発できるの?
0652デフォルトの名無しさん
2005/04/03(日) 23:58:17mswin32版。人によってはmswince版。
0653デフォルトの名無しさん
2005/04/04(月) 00:03:060654デフォルトの名無しさん
2005/04/04(月) 01:30:10RoRをDebian/sargeに入れようとしてるんだけど
Debianのrubyパッケージがごちゃごちゃしててうまく入らない。
誰かうまくいった人いるかな。
RoRもDebianのパッケージにしてくれればいいのになー。
0655デフォルトの名無しさん
2005/04/04(月) 01:37:32rubyでできたエディタ欲しいなぁ。
xyzzyはソース無いからいじくれないし……
0656デフォルトの名無しさん
2005/04/04(月) 01:42:54gemは使えないの?
0657デフォルトの名無しさん
2005/04/04(月) 02:15:09> xyzzyはソース無いからいじくれないし……
釣りか?ソースあるっつーの。
http://www.jsdlab.co.jp/~kamei/(T^T)/src-0.2.2.234.tar.bz2
0658デフォルトの名無しさん
2005/04/04(月) 02:18:37プロジェクト管理・ソース管理・ソース編集にVisualStudio使うのは普通にできるよ。
実行は標準入力がないものなら外部ツールとして実行して出力結果を下のペインに出せるし
標準入力が必要なら外部ツールとしてコマンドプロンプトで実行もできる。
0659デフォルトの名無しさん
2005/04/04(月) 02:25:01絶対わからんよ……
あと、ライセンスがどうなっているのかわからんから、何にもできないね。
#怖いのでろくにソース読んでないけど
0660デフォルトの名無しさん
2005/04/04(月) 04:13:530661デフォルトの名無しさん
2005/04/04(月) 04:19:230662デフォルトの名無しさん
2005/04/04(月) 04:39:19windowsで動いてrubyらしく使えるGUIライブラリを切望。
0663デフォルトの名無しさん
2005/04/04(月) 04:43:480664デフォルトの名無しさん
2005/04/04(月) 07:06:220665デフォルトの名無しさん
2005/04/04(月) 07:10:250666デフォルトの名無しさん
2005/04/04(月) 12:18:52apt-get install rails
でダメ? sid ならこれで入るけど……。
0667デフォルトの名無しさん
2005/04/04(月) 12:24:540668デフォルトの名無しさん
2005/04/04(月) 13:19:45http://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:28pkg_delete で問題にならない? ports の作り方わかんないのでそのへんが心配で。
0670デフォルトの名無しさん
2005/04/04(月) 15:13:35Rubyのチェックがはずされている件について
0671デフォルトの名無しさん
2005/04/04(月) 15:16:16scriptでgem -deleteすればいいんじゃない。
0672デフォルトの名無しさん
2005/04/04(月) 16:24:04むむ、 script がよくわかってないです。
port の作り方を勉強して出直して来ます。
0673デフォルトの名無しさん
2005/04/04(月) 19:42:01portinstall devel/ruby-gems
gem install rails
でいいんでないの?
0674デフォルトの名無しさん
2005/04/04(月) 20:44:240675デフォルトの名無しさん
2005/04/04(月) 21:06:470676デフォルトの名無しさん
2005/04/04(月) 21:14:480677デフォルトの名無しさん
2005/04/04(月) 23:49:090678デフォルトの名無しさん
2005/04/05(火) 15:39:470679デフォルトの名無しさん
2005/04/05(火) 23:14:100680デフォルトの名無しさん
2005/04/06(水) 23:13:51KernelをincludeしないObjectクラスを作ることって、
直接的に関係あります??
そんなクラス作ったからって、method_missingプログラムがやりやすくなるのかなぁ。
誰か教えて。
0681デフォルトの名無しさん
2005/04/07(木) 00:19:48例えば、『equal?というメソッドを呼び出したときもmethod_missingを
実行したい』とかを考えてみればよろし。
Objectを使用すると、すでに定義済のメソッドをさらにoverrideしなきゃ
いかんから面倒なんでしょ。
#たかがそれだけ、と言えるかもしれんが……
0682デフォルトの名無しさん
2005/04/07(木) 00:28:12http://www.rubycolor.org/takahashi/
0683デフォルトの名無しさん
2005/04/07(木) 01:18:24ttp://www.rubyist.net/~matz/20050406.html#p02
0684デフォルトの名無しさん
2005/04/07(木) 01:53:30A
Core
Primitive
0685デフォルトの名無しさん
2005/04/07(木) 07:47:20ものすごい勢いで世界中からツッコミが入っている件について
0686デフォルトの名無しさん
2005/04/07(木) 08:38:460687デフォルトの名無しさん
2005/04/07(木) 10:46:28WindowsだけでいいならApollo使え
0688デフォルトの名無しさん
2005/04/07(木) 12:40:410689デフォルトの名無しさん
2005/04/07(木) 13:27:180690デフォルトの名無しさん
2005/04/07(木) 13:37:080691デフォルトの名無しさん
2005/04/07(木) 14:09:410692デフォルトの名無しさん
2005/04/07(木) 14:51:200693デフォルトの名無しさん
2005/04/07(木) 17:47:520694デフォルトの名無しさん
2005/04/07(木) 19:22:55> adj. 通常の風味(flavor)の。標準の。
『ハッカーズ大辞典』より。
「何も入ってない」とか「いろんな物を付け加ける前の状態」いう意味で
よく使われる気がする
0695デフォルトの名無しさん
2005/04/07(木) 19:44:39おお、サンクス。 Jargon に載ってたのね。
真っ先に調べろよ。>自分
0696デフォルトの名無しさん
2005/04/07(木) 19:45:090697デフォルトの名無しさん
2005/04/07(木) 20:23:00思いついても投稿するほどのものではない、とだいたいの奴がすぐにやめる一例
0698デフォルトの名無しさん
2005/04/07(木) 21:29:02Flavor は Lisp の一種で、Mix-in を最初に実装した言語。
そのルートクラスが Vanilla
0699デフォルトの名無しさん
2005/04/07(木) 21:59:270700デフォルトの名無しさん
2005/04/07(木) 22:26:04一単語にならんかな?
0701デフォルトの名無しさん
2005/04/07(木) 23:25:090702デフォルトの名無しさん
2005/04/08(金) 00:09:540703デフォルトの名無しさん
2005/04/08(金) 13:48:14/usr/local/bin/project-name ってどんなコマンドなんだろ?
かなり欲しい。
0704デフォルトの名無しさん
2005/04/08(金) 13:55:040705デフォルトの名無しさん
2005/04/08(金) 14:21:160706デフォルトの名無しさん
2005/04/08(金) 15:20:090707デフォルトの名無しさん
2005/04/08(金) 15:22:540708デフォルトの名無しさん
2005/04/08(金) 15:49:28妖精さん乙
0709デフォルトの名無しさん
2005/04/08(金) 15:50:45すればわかるよ!
と書こうと思ったのに、そんな風に即レスされると書けないじゃないか!
0710デフォルトの名無しさん
2005/04/09(土) 06:11:260711デフォルトの名無しさん
2005/04/10(日) 01:12:01ttp://jp.rubyist.net/RubiMa/
0712デフォルトの名無しさん
2005/04/10(日) 01:31:57誰も突っ込まなかったけど、MoinMoin使っているんだよね……
0713デフォルトの名無しさん
2005/04/10(日) 02:15:47http://www.planetrubyonrails.org/
0714デフォルトの名無しさん
2005/04/10(日) 03:28:36亀レスだが、イイ方法思いついたので書いてみる。
#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:520716デフォルトの名無しさん
2005/04/10(日) 06:01:39RSSをメールで送信するようなサンプルってどこかに無いですか?
探してみたけどPerlのしか見つからない…
0717デフォルトの名無しさん
2005/04/10(日) 14:44:110718デフォルトの名無しさん
2005/04/11(月) 19:31:47ttp://nikkeibp.jp/wcs/leaf/CID/onair/jp/comp/369370
米Intel Corp.は、WindowsXPを搭載できる小型パソコンの試作機「Ruby」を公開した
0719デフォルトの名無しさん
2005/04/11(月) 23:23:47Rubyって商標とか取ってなかったっけ?
後出しのIntelからいちゃもん付けられそうで嫌だなぁ……
ソフトウェアとハードウェアだと分野(?)が違うから、とか?
複数の分野で取ってるんですかね?
0721デフォルトの名無しさん
2005/04/12(火) 00:02:260722デフォルトの名無しさん
2005/04/12(火) 00:24:36Rubyで商標取れるわけないだろ……
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:560726デフォルトの名無しさん
2005/04/12(火) 09:48:450727デフォルトの名無しさん
2005/04/12(火) 12:14:270728デフォルトの名無しさん
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:040730デフォルトの名無しさん
2005/04/12(火) 19:59:01ttp://japan.linux.com/enterprise/05/04/01/0245247.shtml
0731デフォルトの名無しさん
2005/04/13(水) 11:04:370732デフォルトの名無しさん
2005/04/13(水) 12:56:110733デフォルトの名無しさん
2005/04/13(水) 13:02:06結局世間の関心は(俺基準による)文法の完成度にはなかったって事だな。
0734デフォルトの名無しさん
2005/04/13(水) 14:32:15Makefile書き換え。
0735デフォルトの名無しさん
2005/04/13(水) 14:34:210736デフォルトの名無しさん
2005/04/13(水) 14:36:130737デフォルトの名無しさん
2005/04/13(水) 14:39:15やだもん。
0738デフォルトの名無しさん
2005/04/13(水) 19:24:28確かに「俺基準」だよなあ。
どこがきれいなのかさっぱりわからん。
特に読む方は最悪だと思う。
大規模プロジェクトではまず使えない。
0739デフォルトの名無しさん
2005/04/13(水) 19:29:32そりゃPerl.succですから。
0740デフォルトの名無しさん
2005/04/13(水) 20:59:14お前も「俺基準」でそう判断してるんだから、人のこと言えないって気付こうね。
>>733
何が「結局」なん?話が飛んでるな。大丈夫?
0741デフォルトの名無しさん
2005/04/13(水) 21:18:420742デフォルトの名無しさん
2005/04/13(水) 21:28:310743デフォルトの名無しさん
2005/04/13(水) 21:33:120744デフォルトの名無しさん
2005/04/13(水) 21:37:50よって俺基準ではダンプ松本>>>>>>>Matz
0745デフォルトの名無しさん
2005/04/13(水) 21:52:41漏れには無理だ。立たん。
0746デフォルトの名無しさん
2005/04/13(水) 22:09:470747デフォルトの名無しさん
2005/04/13(水) 23:45:00DESTDIR
0748デフォルトの名無しさん
2005/04/14(木) 08:51:42見てたとしても、速攻読み飛ばされてるだろうな。どうでもいいので。
0749デフォルトの名無しさん
2005/04/14(木) 18:18:400750デフォルトの名無しさん
2005/04/14(木) 19:35:320751デフォルトの名無しさん
2005/04/14(木) 20:17:06「Postfixでラブレター禁止」
に見えた。
0752デフォルトの名無しさん
2005/04/15(金) 09:52:420753デフォルトの名無しさん
2005/04/15(金) 10:20:390754デフォルトの名無しさん
2005/04/15(金) 13:38:23現在は setup.rb を使っているのですが、
make install 前に make test で Test::Unit するようにしようと思ったとき、
ファイル・ディレクトリ構成など、みんなふつーどうやってるのかなと思った次第。
0755デフォルトの名無しさん
2005/04/15(金) 13:56:010756デフォルトの名無しさん
2005/04/15(金) 17:20:19in 白夜書房の編集部
0757デフォルトの名無しさん
2005/04/15(金) 22:38:38ActionMailerはLGPLなんだよね?
サービスを提供するだけなら、
「今の」LGPLならソースを渡す必要性は無いんだけど、
ちょっと気になった。
教えてエロイ人。
0758デフォルトの名無しさん
2005/04/16(土) 01:52:35こっちで訊いた方がよくね?
【GPL】ライセンス問題討論すれ4【BDSL】
http://pc8.2ch.net/test/read.cgi/linux/1107439063/
ていうか、プログラムの複製、頒布、変更以外の行為についてはGPLでも
一切の制限を課していないわけだが。
0759デフォルトの名無しさん
2005/04/16(土) 03:32:090760デフォルトの名無しさん
2005/04/16(土) 05:48:230761デフォルトの名無しさん
2005/04/16(土) 08:08:26__FILE__ とか?
0762デフォルトの名無しさん
2005/04/16(土) 09:02:50gems
0763デフォルトの名無しさん
2005/04/16(土) 11:08:530764デフォルトの名無しさん
2005/04/16(土) 12:03:29少なくともcygwin上だとどちらも相対パスになってしまうんですが…
0765デフォルトの名無しさん
2005/04/16(土) 12:25:210766デフォルトの名無しさん
2005/04/16(土) 12:27:01__FILE__や$0は呼ばれ方に依存する。絶対パスで指定して実行すれば絶対パス
になるし、相対パスで指定して実行すれば相対パスになる。
0767デフォルトの名無しさん
2005/04/16(土) 15:48:26http://light.server.ne.jp/member.php
0768デフォルトの名無しさん
2005/04/16(土) 17:34:42ま、面白そうだから請求が来るのを楽しみに待つか。
0769デフォルトの名無しさん
2005/04/16(土) 20:07:19yuyaさん乙。ずーっと待ってました。
0770デフォルトの名無しさん
2005/04/16(土) 22:29:16うまくいってる人いますか?
詳しく説明すると、
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:07load_driverは、最初に"DBD/#{driver_name}/#{driver_name}"をrequireして
みて、失敗したら$:を順に"DBD/#{driver_name.downcase}"というディレクト
リを探していくようだ。一方gemでインストールされたライブラリはちょっと
特殊なところに置かれるから、$:からは探せない。
ということで、おそらく最初からdowncaseしたドライバ名を使えばいいのでは
ないかと。
0772デフォルトの名無しさん
2005/04/24(日) 09:22:050773デフォルトの名無しさん
2005/04/24(日) 09:54:11英語が読めないオレのために詳しく
0774デフォルトの名無しさん
2005/04/24(日) 10:23:33最初は「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:110777デフォルトの名無しさん
2005/04/24(日) 18:06:370778デフォルトの名無しさん
2005/04/24(日) 20:00:330779デフォルトの名無しさん
2005/04/24(日) 20:50:350780デフォルトの名無しさん
2005/04/24(日) 22:24:04> 事情をよく理解してないけど、その挙動とあの図はどこか矛盾してる?
「矢印は継承関係を表す」って書いてあるのが合ってない。だから
[ruby-talk:139216]では「縦の矢印」と書き加える、という話になってるんだ
けど。
でも「metaclassはオブジェクトじゃない」という主張は根拠も論旨もサパー
リ理解不能。
"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.rb
2005/04/25(月) 08:15:14require '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.rb
2005/04/25(月) 08:15:41found = []
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.rb
2005/04/25(月) 08:16:44feature, 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.rb
2005/04/25(月) 08:17:25require '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:57http://raa.ruby-lang.org/project/devel-which/
0787デフォルトの名無しさん
2005/04/27(水) 21:41:37かっこよすぎ
0788デフォルトの名無しさん
2005/04/29(金) 12:25:10ダブルクォートのほうが見やすいんだよ
0789デフォルトの名無しさん
2005/04/29(金) 12:31:300790デフォルトの名無しさん
2005/04/29(金) 12:38:16もう世間様に合わせる社会性ある言語になると腹をくくってるんだから、
もうダブルクォートでいいんだよ
シングルクォートはその必要があるときだけ使おう
0791デフォルトの名無しさん
2005/04/29(金) 13:01:220792デフォルトの名無しさん
2005/04/29(金) 18:43:570793デフォルトの名無しさん
2005/04/30(土) 02:09:240794デフォルトの名無しさん
2005/05/01(日) 10:42:49~~
旦
0795デフォルトの名無しさん
2005/05/01(日) 19:11:060796デフォルトの名無しさん
2005/05/02(月) 01:29:31読んだ人どう?面白かった?
0797デフォルトの名無しさん
2005/05/03(火) 02:35:21Rubyよりもめちゃくちゃ使いやすい!
こんな素晴らしい言語があったのかと感動した。
Rubyの開発者が言語のスタイルについて色々言っていたけど
それを具現化した物はRubyじゃなくて、
perlだと思えるようになってきたよ。
0798デフォルトの名無しさん
2005/05/03(火) 03:15:540799デフォルトの名無しさん
2005/05/03(火) 03:24:06人口無能には興味ないんだが一時期の関連本の出版ブームよりはよっぽど面白そうだな。
(たまたま)Rubyを使った〜本が増えればいいんだけど
Rubyでクイックソートしてみるアルゴリズム本なんて需要はないですかそうですか。
0800デフォルトの名無しさん
2005/05/03(火) 06:39:45ttp://www.kakutani.com/20050430.html#p01
>カバーが「Ruby?」となっていてステキだ。プログラムにさほど親しんでいない人向けに、
>人工無脳をつくる「手段」としてRubyを紹介。あくまでRubyも手段でしかないので、
>記述は簡潔だけれど、本文だけでなくコラムでのフォローもポイントが押さえてあって
>わかりやすい。本文にもさりげなく遊びゴコロがまぶしてあって、バランス感覚を感じる。
>単純なテキストベースのものからGUI、応答のバリエーションと続き、最後はSOAPでググる、
>という展開も自然で興味深く、オブジェクト設計についても、専門用語は一切でてこないけれど、
>SRP(単一責任原則)やOCP(開放/閉鎖原則)を満たすような誘導がしてある。素晴らしい。
絶賛だな。
0801デフォルトの名無しさん
2005/05/03(火) 09:23:48なぜクロージャと呼ばずブロックと呼ぶのでしょうか。
'{'と'}'で囲っているからといわれればそれまでなんですが、
あきらかにCやJavaのブロックとは違うし紛らわしいので、
なぜクロージャと呼ばないのか不思議です。
0802デフォルトの名無しさん
2005/05/03(火) 10:13:24smalltalk
0803デフォルトの名無しさん
2005/05/03(火) 13:16:21どう設定すればいいのでしょうか?
素のままだと、パスワードなども丸見えなので。
0804デフォルトの名無しさん
2005/05/03(火) 14:25:58component/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:520807805
2005/05/04(水) 00:34:29頭が腐ってる。。。もうだめだよ、ままん。
ありがとう。
0808デフォルトの名無しさん
2005/05/04(水) 00:47:41この場合って、データベースの設定ファイルはどこに書けばいいんでしょうか??
0809808
2005/05/04(水) 01:33:39http://jp.rubyist.net/magazine/?0004-RLR
0810デフォルトの名無しさん
2005/05/04(水) 05:40:39これって結構大きな問題の気がするんだがbladeは大丈夫なんだろうか。
というかこんなに簡単に引っ込めてしまっていいものなんだろうか
# もちろん一人にリスクを負わせたまま、ただ再開しろとはいえないが。
0811デフォルトの名無しさん
2005/05/04(水) 06:44:080812デフォルトの名無しさん
2005/05/04(水) 09:52:000813デフォルトの名無しさん
2005/05/04(水) 09:55:280814デフォルトの名無しさん
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はどっかでダウンロードできませんかね。
即hiki使えるのが魅力。
0817デフォルトの名無しさん
2005/05/05(木) 09:56:02ttp://www1.tf.chiba-u.jp/~shin/tutorial/index.rb?Chapter=00
にリンクがはってるね。
0819デフォルトの名無しさん
2005/05/05(木) 23:13:01引数のスコープが怪しかったりするし、
大体表記的に first class とはいいにくいと思う。
あえていうなら closure なのは Proc だろう。
そして手続き型言語の Ruby としては
Closure より Proc のほうがしっくりくる (主観)
0820デフォルトの名無しさん
2005/05/06(金) 01:33:32誰か知らないか?
0821デフォルトの名無しさん
2005/05/06(金) 02:54:560822デフォルトの名無しさん
2005/05/06(金) 23:41:050823& ◆XV7or8STL2
2005/05/07(土) 14:45:59railsとamrita2って、そのままで連携できるんでしょうか??
Googleして、メーリングリストを見たりしてると、
rails-amrita2 bridgeのパッチを当てないといけないようにも、
あてなくてもいいようにも見えるんですが、
パッチは必要でしょうか??
0824デフォルトの名無しさん
2005/05/08(日) 00:45:19対応しているテンプレートはAmrita2とKwartz、SikiTemplate
かしらん?他には?
0825823
2005/05/08(日) 01:04:29でも、Viewに何使うかって、どこで指定するんでしょう。。
いきなり、Amritaのtemplateファイルがviewディレクトリに置かれていても
ERBファイルとして認識してエラー出すだけのような気がするのですが。。
あと、script/generate amrita_scaffold Recipe とかあると便利なんだけどなぁ。
0826デフォルトの名無しさん
2005/05/08(日) 01:39:15> script/generate amrita_scaffold Recipe
なにそれ
0827デフォルトの名無しさん
2005/05/08(日) 01:58:15ERBでいいじゃんと思うのが一つ
テンプレートなんつーものは発展途上だし、
オブジェクトとページのマッピングなんて、かっこつけんな、とも思う
手軽に定義できるスクリプト言語であれば、例えばJavaやC#よりは、
ページとオブジェクトのマッピングしやすい面はあると思うけど
0828823
2005/05/08(日) 02:21:10Railsやったことあります??
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起動して、ちゃちゃっと修正してアップとかできると、かなり楽だと思う。
0829823
2005/05/08(日) 02:28:13HTMLから、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だけいじっていたいのよ。
デザインしている時にロジックを考えなきゃいけないのはちょっとムカツク。
0831823
2005/05/08(日) 02:37:31http://www.fdiary.net/ml/rails/msg/122
同じこと考えたみたいですねぇ。
でも、この解決方法って、Controllerの中に、Viewが入ってきて気持ち悪い。。
あんまり解決になってない気がするけど。。
0832の
2005/05/08(日) 03:03:23まあねぇ
ただ、
・Rubyの自然な表記( []演算子 )でテンプレートと対応付けしている。
・Controllerには対応付けのための最低限の情報(変数名/ラベル名……みたいなの)
しか入っていない
だから、自分としては妥協できる範囲だと思っています。
もともとControllerはModelとViewを制御するためのものだから、Viewのインターフェイス
(変数名)についての情報は持っているはずだし。
0833823
2005/05/08(日) 03:21:33ちなみに、
http://amrita2.rubyforge.org/rails/todoapp1/
↑ここを見ると、railsにパッチを当てるとamritaは
helperディレクトリにpresentationクラス
viewディレクトリにtemplateクラス
を、controllerに何も書かなくてもできます。
ぼくが聞きたかったのは、最新のrailsでは、こういうことがパッチ無しでできるのかということだったのですが、
どうも無理っぽいですね。。
パッチあてるのって、あんまり気持ちよくないんですね。。
0834デフォルトの名無しさん
2005/05/08(日) 03:31:380835デフォルトの名無しさん
2005/05/08(日) 09:15:09それって幻想だと思うんだよね。
どうしたって、自前でのコーディングが絶対必要で、
GoLive使ってデザインするほうが反ってコストがかかったりする。
HTMLコードが崩れたり、どうしてもそうなる。
ならば、コーディングベースで効率のいい方法を考えたほうがいい。
ERBは多少はゴタゴタするけど、単純でいい。
テンプレートのライブラリは、どれも安定感は欠けるね、仕様的な。
まぁ、しばらくは試行錯誤が必要だ。
メーリングリストの略じゃないかな?初めて見ました。
個人的にはMLと表記する方がまだ分かりやすいような。
そもそも、"メーリングリスト"なら略す必要を感じないけど。
0837デフォルトの名無しさん
2005/05/08(日) 12:21:040838デフォルトの名無しさん
2005/05/08(日) 12:51:05>ERBは多少はゴタゴタするけど、単純でいい。
ゴタゴタする時点で単純じゃないと思うけど。
HTMLの中でforループ回したりするんだったら、CGIのHTMLエレメント出力用
メソッドを使うほうがいいな。あるいはAmrita2で作成中の
ttp://amrita.s14.xrea.com/d/?date=20050401#p01
とか。
0839デフォルトの名無しさん
2005/05/08(日) 18:58:44http://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だよ」がわけわからなくなります。
0841デフォルトの名無しさん
2005/05/08(日) 19:26:450842デフォルトの名無しさん
2005/05/08(日) 21:01:050843デフォルトの名無しさん
2005/05/08(日) 21:37:29メーリスという語感が気持ち悪い。
0844デフォルトの名無しさん
2005/05/08(日) 23:49:28http://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↓ここに書いてることするしかないんですね。。
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:01wwwwwwwwwwwwwwwwwwうはっwwwwww
wwwwwwうぇwwwwwwwwwwwwwww
っうぇおkwwwっっうぇうぇwwwwwwwwwwwwwww
0847デフォルトの名無しさん
2005/05/09(月) 21:36:410848デフォルトの名無しさん
2005/05/09(月) 23:03:330849デフォルトの名無しさん
2005/05/09(月) 23:41:400850デフォルトの名無しさん
2005/05/09(月) 23:43:020851デフォルトの名無しさん
2005/05/10(火) 00:03:48「コード〜と同じ」とか、〜の部分の説明にリンク貼ってあればましだけどそれも無い
所もあるし飛んだ先もわかり辛いし。
0852デフォルトの名無しさん
2005/05/10(火) 00:16:02http://www.ruby-doc.org/core/
こういうの?
0853デフォルトの名無しさん
2005/05/10(火) 00:43:39http://jp.rubyist.net/magazine/?0006
0854デフォルトの名無しさん
2005/05/10(火) 01:05:55わかりやすいねぇ〜。っていうか、ruby-lang.orgからのリンクもこれにしてくれればいいのに。
っていうかすべきだろ、おい。
0855デフォルトの名無しさん
2005/05/10(火) 07:19:240856デフォルトの名無しさん
2005/05/10(火) 09:48:26するとまた英語読めないとか暴れだす奴が出てくる。
0857デフォルトの名無しさん
2005/05/10(火) 12:50:300858デフォルトの名無しさん
2005/05/10(火) 14:33:51その「わかりやすい」って言葉が曖昧でわかりづらい。
もうすこし何がどうわかりやすかったか教えてほしい。
お願いします。
0859デフォルトの名無しさん
2005/05/10(火) 17:26:150860デフォルトの名無しさん
2005/05/10(火) 17:34:310861デフォルトの名無しさん
2005/05/10(火) 18:27:220862デフォルトの名無しさん
2005/05/10(火) 19:08:38英語読めない
空気読めない
0863デフォルトの名無しさん
2005/05/10(火) 21:29:02かえって目的の情報にたどり着きにくくて読みにくい。と思うのは俺だけじゃないはず
0864デフォルトの名無しさん
2005/05/10(火) 21:39:48どのへんが「癖だらけ」?
というのを解説してくれると役立つのは俺だけじゃないはず
0865デフォルトの名無しさん
2005/05/10(火) 21:44:32http://pc8.2ch.net/test/read.cgi/linux/1115132529/
0866デフォルトの名無しさん
2005/05/10(火) 23:53:27Moonwolfたん出番でそ
0867デフォルトの名無しさん
2005/05/11(水) 00:05:580868デフォルトの名無しさん
2005/05/11(水) 01:45:28いろいろあるけど一番嫌なのは、サンプルが載ってないから
必要なメソッドや関係するメソッドを見つけ出すのに謎のカンと経験が必要なこと。
そもそも文章で緻密に説明されるより、簡潔なサンプルをいくつか載せて
「ある程度わかってんだろ」的な説明をしてくれる方がありがたい。と思う派なので
0869デフォルトの名無しさん
2005/05/11(水) 03:04:16それ、すげーわかる
でも、サンプルありまくりなものもあるんだが
ttp://www.ruby-doc.org/core/classes/Array.html
0870デフォルトの名無しさん
2005/05/11(水) 04:05:12あ、ほんとだ。思ったより悪くないかも?
現状に不満じゃないから乗り換える気はしないけどね。
RDocやJavaのマニュアルでもう一つ不満なのは、フレームの一覧表示。
クラス一覧に、添付ライブラリのクラスまで含めて
ABC順にずらっとクラス並べられると、なぜか読む気が減退する。
ライブラリ単位での一覧が欲しい。ファイル一覧なんていらないから。
0871デフォルトの名無しさん
2005/05/11(水) 09:56:510872デフォルトの名無しさん
2005/05/11(水) 12:38:44検索機能もついてるしね。
UNIX の man と info はもういいよ…
0873デフォルトの名無しさん
2005/05/11(水) 13:01:430874デフォルトの名無しさん
2005/05/11(水) 14:18:01微妙だったような記憶がある。
0875デフォルトの名無しさん
2005/05/11(水) 14:31:57>>869を見てもarray だったりan_arrayだったり書き方が
定まっていないような気がする。
何かこう書くと良い、みたいな情報はありますか?
0876デフォルトの名無しさん
2005/05/11(水) 14:34:04今よく読んでみたら
array ... selfと同じ意味
an_array ... 新たに生成されたarray
っぽいですね……orz。スレ汚し失礼しました。
0877デフォルトの名無しさん
2005/05/11(水) 15:37:20普段CUIなら、ri使えばいいじゃない
0878デフォルトの名無しさん
2005/05/11(水) 18:16:440879デフォルトの名無しさん
2005/05/11(水) 23:38:372つのシーケンス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:56seq1 - seq2
0882デフォルトの名無しさん
2005/05/12(木) 00:17:31重複要素が全部消えるから注意な。
[0,0,1,1] - [1] #=> [0, 0]
0883デフォルトの名無しさん
2005/05/13(金) 00:33:21とか書いておきながら、Pythonが二位のことが他で使われると怒るmatz萌え。
0884デフォルトの名無しさん
2005/05/13(金) 07:39:10上の日にちへのリンクのチップヘルプが出るの遅いし
改行が変な文字コードで表示されるし。
IEだと普通に見られる。
0885デフォルトの名無しさん
2005/05/13(金) 07:58:210886デフォルトの名無しさん
2005/05/13(金) 19:16:25>>正規表現 other とのマッチを行います。マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
ってなってるけど、帰ってきたインデックスってどこを指してんの?マッチしたところの始めの文字?
後、インデックスの説明って何処にあんの?
0887デフォルトの名無しさん
2005/05/13(金) 20:15:360888デフォルトの名無しさん
2005/05/13(金) 20:17:49マッチしたところの始めの文字。
インデックスの説明は String クラスの self[first..last] のところにある。
が、後方参照なので確かに不親切だな。
0889デフォルトの名無しさん
2005/05/13(金) 20:52:13いままで何も気にせず括弧でくくって$1とか使ってた
0890デフォルトの名無しさん
2005/05/14(土) 00:34:060891デフォルトの名無しさん
2005/05/14(土) 00:42:40ロードマップってどこかにあるんですか??
0892日曜プログラマ
2005/05/14(土) 00:45:09どういうものかも、どうやってするのかも知らないんですが、
なにかいいサイトありますか??
あと、もし良かったら、どういうことをテストするのか、
概念だけでも教えてもらえると嬉しいです。
0893デフォルトの名無しさん
2005/05/14(土) 00:50:180894デフォルトの名無しさん
2005/05/14(土) 00:53:39ttp://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明確な日付は明言されていないと思うけど、どうでしたっけ?
ロードマップも同じく。
>>892-893
Test::Unit? FileTest?
>>894
Ruby Foundationを作るのが先かも。
0897デフォルトの名無しさん
2005/05/14(土) 01:20:13Test::Unit の前身 (?) の RubyUnit について書かれた本だけどこれおすすめ。
http://www.amazon.co.jp/exec/obidos/ASIN/4756136877
0898892
2005/05/14(土) 01:30:13Railsはじめたんですけど、Railsって、Testできるのが利点のようなのですが、
普通のプログラムでもTestってやったことがなくて、
全然理解できないです。
それで、普通のプログラムにおけるTestから勉強しようと思ってます。
>>897のRubyUnitを勉強する方針でいいでしょうか??
0899デフォルトの名無しさん
2005/05/14(土) 01:32:09彼は、流れ出る人波に押されつつも、最後まで彼女を見ていた。
「また、逢えるといいですね」
ホームに響き渡るベルの中で、彼はその声を聞き逃さなかった。
ドアが閉まり、電車はゆっくりと動いていった。
彼は電車が見えなくなるまで、ずっと眺めていた。
長い、長い一日が、今日からまた始まろうとしている。
0900デフォルトの名無しさん
2005/05/14(土) 01:39:34戦争を経験し日本を見事復興させ今の日本経済を作り上げた最強の世代
戦国時代の武将なみのレベルの高さで感服。一部勘違いあり。
●団塊世代(1945〜1949)
自分達が日本を作り上げたと思ってる"超"勘違い世代。 お前らが作ったのは借金。キチガイ多し。
戦中戦後の世代への反発で左全開。行動力や根性は多少は持ち合わせているがたいした事は無い。
唯一評価できるのは繁殖力の高さ。ただしあまりにも高すぎて未だにエロイ事件を起こすのもこの世代。
日本を滅ぼそうと密かにたくらんでいる。もういいから早く団体で中央線にダイブして欲しい。
●バブル世代(1960〜1969)
未だにバブルもう一回とか言ってるバカや、バブル後の脱力感で魂まで抜けた奴が多く基本的に左率高め。
未だに金銭感覚が狂ってるため消費率は高めなのが救いだがほとんどは無能。企業内でがん細胞化している世代
●団塊Jr(1970〜1974)
親世代の団塊に反発 戦後世代の爺さんに無条件で可愛がられ内緒で小遣いを貰いリアル昔話を
聞かされるなど隔世遺伝で右全開。ただし世代人口が一番多いにもかかわらず出生率を下げていたりと、
繁殖力は極めて低い。団塊の付けを一手に引き受けているのもこの世代。100年後の日本史には悲惨な世代として登場予定
0901デフォルトの名無しさん
2005/05/14(土) 01:40:29いたの?
●無気力世代(1980〜1984)
あきらめモード全開。やる気ナッシング。パラサイト多すぎ。 気持ちはわかるが、仕事しろよと。
愚痴らせたり文句言わせたりすると最強な所や、他人に頼りまくるところは団塊そっくり。
近親憎悪なのか団塊への反感で右率高めというかめんどくさいので右。
●DQN世代(1985〜1995)
セックルセックル!小学生のうちから無駄なセックスしすぎ。おまえら大丈夫かよマジで?あんま期待して無いけど頑張って。
●日本終焉を見守る世代(1996〜)
戦後動き出した日本の鼓動がゆっくりと止まるのを見守ることになる世代。彼らの未来は暗く冷たい。
0902デフォルトの名無しさん
2005/05/14(土) 11:21:130903デフォルトの名無しさん
2005/05/14(土) 12:51:33(・c_・`)ソッカー
0904デフォルトの名無しさん
2005/05/14(土) 13:19:26自分主義の世代だから、他者から認識され辛いんだろうね
0905デフォルトの名無しさん
2005/05/14(土) 13:43:440906デフォルトの名無しさん
2005/05/14(土) 17:11:18生きている価値がないね。
0907デフォルトの名無しさん
2005/05/15(日) 01:07:090908デフォルトの名無しさん
2005/05/15(日) 11:48:11Perl5みたいに myと { } でスコープ一目瞭然仕様が欲しいよ
なんとかしてくれmatzやん。
0909デフォルトの名無しさん
2005/05/15(日) 12:03:020910デフォルトの名無しさん
2005/05/15(日) 12:12:05先頭は小文字ばっかりじゃん。
頭に$なんて誰も使わないじゃん。
頭に&があると関数とかいう方がよっぽど便利じゃん。
0911デフォルトの名無しさん
2005/05/15(日) 12:29:543.times do
print(s = 'ho! ')
end
外側の変数が優先されるルールって風変わりだと思うんですが
なんでこうなってるんでしょ?
教えてエロい人。
0912デフォルトの名無しさん
2005/05/15(日) 12:34:45わけわからん
つか、俺は Ruby のスコープも一目瞭然なんだけど
インスタンス変数も定数も使いまくるし
釣りやチラシの裏なら自宅のトイレでお願いします
0913デフォルトの名無しさん
2005/05/15(日) 12:37:010914デフォルトの名無しさん
2005/05/15(日) 12:37:08どういうこと?
# => ho! ho! ho!
ブロック内部の値が出力されるけど?
0915911
2005/05/15(日) 12:57:44ブロック内では後者が優先されますよね?
だからRubyを始めたときには、>>911の例だと'yo! yo! yo!'と
出力されないことに違和感がありました。
定義とか宣言とかは、最も内側のものが優先される傾向があると思うんですが
上の例はどうしてそうなっていないのかな…と。
0916911
2005/05/15(日) 13:00:18忘れてください。失礼しました。
0917911
2005/05/15(日) 13:14:06s='yo!'
1.times do
puts(s = 'ho!')
end
puts s
>>915に書いた理由で、2回目のputsで'yo!'とならないことに
違和感があると思ったんです。
0918デフォルトの名無しさん
2005/05/15(日) 13:20:54for(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の変数は全てグローバルです。
その昔、Ruby1.0がリリースされたとき、変数に$をつけないと
場合により値が参照できなくなるというバグが存在しました。
しかしこれを応用してグローバル変数でローカル変数を実現するRubyistが増えたため
バージョン1.3でこのバグを正式な仕様としました。
このような経緯があるため、Rubyにはローカル変数があるという誤解が広まったのですが
基本的にRubyはグローバル変数onlyの言語です。
0920デフォルトの名無しさん
2005/05/15(日) 14:15:090921デフォルトの名無しさん
2005/05/15(日) 14:18:590922デフォルトの名無しさん
2005/05/15(日) 14:39:470923デフォルトの名無しさん
2005/05/15(日) 15:48:200924デフォルトの名無しさん
2005/05/15(日) 21:09:250925デフォルトの名無しさん
2005/05/15(日) 22:01:16Cや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
0926925
2005/05/15(日) 22:01:490927デフォルトの名無しさん
2005/05/16(月) 03:57:59ttp://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確かにローカル変数ではないっぽいけど、
何にどう使う物なのかさっぱりわからない…。
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俺も前方、ブロック突入時の変数宣言のようなものという印象を受けた
[[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:290934デフォルトの名無しさん
2005/05/16(月) 17:18:18そもそもいまいち用途がわからん。
スコープっつっても、外に同じ名前の変数があったら
エラーにするだけなんでしょ。なんでα変換しないんだろう。
0935デフォルトの名無しさん
2005/05/16(月) 17:26:20その制約を受け入れた上でブロックローカルな変数を明確化したいという
ニーズに応える方策としてありじゃないかと思うけど。
0936デフォルトの名無しさん
2005/05/16(月) 17:27:00ブロックを考えるとか
Proc2.new{|a,b|
at_first{c=0}
body{c += a*b}
at_last{p c}
}
0937デフォルトの名無しさん
2005/05/16(月) 17:29:50同意。最初の要素を参照するときに下みたいなコードが
書きたくなると思う。何かキモイ
(1..10).each do |i ; first=i|
p [first,i]
end
0938デフォルトの名無しさん
2005/05/16(月) 17:33:04メジャーバージョンアップでなまじっか互換性とか気にしなくてもいいのに…。
従来のブロックのスコープは本当に残念なんだし。
0939デフォルトの名無しさん
2005/05/16(月) 17:42:530940デフォルトの名無しさん
2005/05/16(月) 17:52:36ブロックのスコープの腐った仕様を変えるには絶好の機会なのに、
事態を悪化させようとしてるようにしか見えないです。
0941デフォルトの名無しさん
2005/05/16(月) 18:18:32(b) ブロック変数の初期値を設定できるようにする
多くの人は(a)を求めていたのだが、
実装された運用は(b)だったというオチか。
0942デフォルトの名無しさん
2005/05/16(月) 18:38:20静的スコープとは別物?
0943デフォルトの名無しさん
2005/05/16(月) 18:39:430944デフォルトの名無しさん
2005/05/16(月) 18:49:140945911
2005/05/16(月) 21:20:39Cのブロック内での変数宣言と同じことが、なぜできないのかなと思いまして。
例えば、ブロックの内側と外側とでstrという別の変数を使いたいときにちょっと困ります。
たいした問題じゃないといえばそうなんですが、
このようになっている理由や背景を知りたいと思い、質問しました。
ですが、一連の議論を見ていると頭の中が混沌としてきました…
0946デフォルトの名無しさん
2005/05/16(月) 21:40:240947デフォルトの名無しさん
2005/05/16(月) 21:59:590948デフォルトの名無しさん
2005/05/16(月) 22:11:400949デフォルトの名無しさん
2005/05/16(月) 23:43:34somearray.each{|str|
str = \str + str
}
とか。
0950デフォルトの名無しさん
2005/05/17(火) 01:30:41そこまでして外部の変数をみる必要はあるんかいな。
でも発想は好きかも。
別の変数なら名前も違えるという、現行Ruby方式に慣れちゃってるのかな?
内側のブロックでうっかり同名の変数を使ってしまい、
外側の値を変えてしまうというのは、確かによろしくないとは思いますが。
スクリプトが長くなったり、入れ子が深くなったりすると、
なるべくメソッドとして分割するようにしてることもあって、
今の仕様で不満を覚えてないんです。今後の仕様が気になる、気になる...。
0952デフォルトの名無しさん
2005/05/17(火) 14:21:020953デフォルトの名無しさん
2005/05/17(火) 14:58:530954デフォルトの名無しさん
2005/05/17(火) 15:08:26s = nil; ary.each { |x| s = x }
を
s = nil; ary.each { |s| }
と書くみたいに、(この例に意味はないけど)
ブロックパラメータは束縛じゃなく代入だという仕様を
意図して使うやつがいるんだよね。
これさえなければ現状でもいいんだけどね。
0955デフォルトの名無しさん
2005/05/17(火) 15:09:090956デフォルトの名無しさん
2005/05/18(水) 09:26:55これは「Rubyはグローバル変数のみ使える」という仕様を知らないための
勘違いが原因だと思われます。
そもそもRubyにはローカル変数は実装されていません。
分かりやすさを追求するRubyの変数は全てグローバルです。
その昔、Ruby1.0がリリースされたとき、変数に$をつけないと
場合により値が参照できなくなるというバグが存在しました。
しかしこれを応用してグローバル変数でローカル変数を実現するRubyistが増えたため
バージョン1.3でこのバグを正式な仕様としました。
このような経緯があるため、Rubyにはローカル変数があるという誤解が広まったのですが
基本的にRubyはグローバル変数onlyの言語です。
0957デフォルトの名無しさん
2005/05/18(水) 09:29:03このクソ言語は?
もうオブジェクト指向以前の問題だな。
0958デフォルトの名無しさん
2005/05/18(水) 10:53:101.9のありかを教えてください。
ttp://www.ruby-lang.org/ja/20020102.html
には見あたりませんでした。
0959デフォルトの名無しさん
2005/05/18(水) 10:58:02そもそも外でごちゃごちゃやっててローカルも何もないもんだ
0960デフォルトの名無しさん
2005/05/18(水) 11:10:41そのページの「CVS最新版スナップショット」ってヤツが 1.9 相当だよ。
0961デフォルトの名無しさん
2005/05/18(水) 15:25:34>ローカル変数を隠匿する
どういう意味?
0963デフォルトの名無しさん
2005/05/19(木) 23:22:36class 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
0966デフォルトの名無しさん
2005/05/19(木) 23:33:10レスありがとうございます.
すいません.これは例なので,本当に書いてたコードでは,
クラス名は大文字で始まっています
>また、君は自分の作ったクラスのインスタンスを生成してない。
どういうことですか?僕は,
hoge = Array.new
これで配列ですよって宣言して,
hoge[hoge.size] = Hoge.new
この部分で,配列の要素が自分で定義したHogeというクラスのインスタンスだと
初期化しているつもりなのですが…
0967デフォルトの名無しさん
2005/05/19(木) 23:39:55やりたいことがよくわからん
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>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明日,>>969さんの言う通りにやってみます
まずは,配列のとこだけテストする簡単なコード書いてみます
できなかったら,そのコードを持って帰ってきて,
また質問します.
色々とありがとうございます
0973970
2005/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:350975デフォルトの名無しさん
2005/05/20(金) 02:38:50hoge_class hoge[N];
みたいなのを指してるんだと思われ。
予め初期化されたインスタンスが用意されてるようなもの。
0976デフォルトの名無しさん
2005/05/20(金) 02:54:42なるほど、お前頭いいな。
しかし上の議論で、
hoge[hoge.size] = Hoge.new
hoge[hoge.size - 1].setHoge(1)
と来るかと思ったら>>971だったから
失礼ながら正直ワラタ。
0977963
2005/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ありゃ? 手元の1.8.2(mswin32)だと
4: undefined local variable or method `hello' for main:Object (NameError)
って言われちまったよ(´・ω・`)
てか、Hash使えばいいような気がするのは漏れだけですかそうですか
0980デフォルトの名無しさん
2005/05/20(金) 22:18:36いや待て、漏れを忘れるな。
0981963
2005/05/20(金) 22:54:23sample2 = sample[2]
sample3 = sample[3]
sample4 = sample[4]
以下10まで続く
こんなんをループでサクっと片づけたいのです
0982デフォルトの名無しさん
2005/05/20(金) 23:00:49友人が教えてくれというんだが最近忙しいんで・・・。
0983デフォルトの名無しさん
2005/05/20(金) 23:26:01その代入に何の意味があるんだ。
0984デフォルトの名無しさん
2005/05/20(金) 23:29:140985979
2005/05/20(金) 23:50:25の前に
hello = nil
入れたら動いた。まぁそりゃそーだ罠 orz
スレ汚し失礼。
0986デフォルトの名無しさん
2005/05/21(土) 00:53:34実はif文の条件分岐は、それぞれのクラスの多態性を利用してるとか?
0987デフォルトの名無しさん
2005/05/21(土) 01:53:26> trueclassとfalseclassに分かれてるのは、あれはいったい何の意味があるんだ?
同じクラス(たとえば BooleanClass)のインスタンスの方がいい/自然、ってこと?
zero-one-infinity じゃないけど、インスタンスが二種類しか存在しない
クラスってのは、個人的にちょっと座りが悪く感じる。
それよりも、二つクラスがあってそれぞれの singleton instance の方が自然かと。
TrueClass と FalseClass に共通するスーパークラスとして
BooleanClass が欲しい、と思うことはたまにある。テスト書く時とか。
0988デフォルトの名無しさん
2005/05/21(土) 07:45:27俺も昔同じことを悩んだなぁ
eval の他にも local_variables や instance_variable_get, instance_variable_set なんかを使った記憶がある
リファレンスマニュアルの Object のページに書かれてる
なんか回答に辿り着きにくいネタなのかな
定期的にこの話題は出てくる気がするし
0989デフォルトの名無しさん
2005/05/21(土) 08:31:09> zero-one-infinity じゃないけど、インスタンスが二種類しか存在しない
> クラスってのは、個人的にちょっと座りが悪く感じる。
singletonを持ち出すなら、インスタンスが2つだけ、
というのもsingletonの一種だから、個人的にはそれでも違和感はない。
というか、わざわざ別クラス化する意味がわからない。
0990デフォルトの名無しさん
2005/05/21(土) 08:33:35981 のようなコードを書かずとも、
もっとわかりやすい他の方法があると思う。
0991デフォルトの名無しさん
2005/05/21(土) 11:00:35状況がよくわかってないが、その場合ならわざわざsample1,sample2,...を使うまでもなく、sample[1],sample[2],....を使えばいいのでは?
0992デフォルトの名無しさん
2005/05/21(土) 11:53:45というか、そんなこと拘る意味がわからない。
0993デフォルトの名無しさん
2005/05/21(土) 12:02:42実装上の都合じゃないかな。
かつてはnil,true,false(当時はTRUE,FALSE)はクラスを持たない値だった(らしい)。
実装上では今でもかなり特異な存在。
でもすわりが悪いからやっぱりクラスを持たせようと言うことになって、
どういうクラス構造にするか、「いかに実装しやすいか」の視点で話し合って決めたみたい。
0994デフォルトの名無しさん
2005/05/21(土) 12:04:51BoolClassにあまり意味はないかも。
0995デフォルトの名無しさん
2005/05/21(土) 12:06:420996デフォルトの名無しさん
2005/05/21(土) 12:20:22たぶん、ループ内にカウンタを仕込んで、
sample1 というような変数を動的に生成して代入したいという話だと思われる。
試してみれば解るが、変数を評価させずに作成するのは、ちと厄介。
0997デフォルトの名無しさん
2005/05/21(土) 12:47:470998デフォルトの名無しさん
2005/05/21(土) 13:03:140999デフォルトの名無しさん
2005/05/21(土) 13:09:211000デフォルトの名無しさん
2005/05/21(土) 13:11:5010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。