■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

rubyを語るスレッド

1 :名無しさん@お腹いっぱい :02/04/16 23:24
語ってみましょう

337 :名無しさん@お腹いっぱい。 :02/09/12 17:29
ちがう>>335ですた

338 :名無しさん@お腹いっぱい。 :02/09/12 19:34
Ruby糞
Pythonの足元にも及ばん。


339 :名無しさん@お腹いっぱい。 :02/09/12 20:27
>>338
エサまくなYO!

340 :名無しさん@お腹いっぱい。 :02/09/12 21:44
>>339
そういう君、ageてるじゃんか(w

341 :名無しさん@お腹いっぱい。 :02/09/12 22:04
まあ、おおよそスクリプト言語といわれるものは、どれも節操ないんだけど、
rubyは際立ってるだろ。
begin/endの書式くらい、統一しろや。
ソース見ててむかつく。
氏ね


342 :名無しさん@お腹いっぱい。 :02/09/12 22:23
何かの試験ですか? >>341

343 :名無しさん@お腹いっぱい。 :02/09/12 23:19
このスレ、削除依頼出して来ていいでつか?

344 :名無しさん@お腹いっぱい。 :02/09/13 00:16
うん、頼むよ。


345 :名無しさん@お腹いっぱい。 :02/09/13 00:24
ったく、elsifがどーたらいい始めるからあっという間に…


346 :名無しさん@お腹いっぱい。 :02/09/13 01:00
しかしどこから涌いて来るんだ?

347 :名無しさん@お腹いっぱい。 :02/09/13 01:12
ここはム板のRubyスレで煽り負けた人たちの避難所です

348 :名無しさん@お腹いっぱい。 :02/09/13 01:12
>>346
いや、たぶんひとり。まあ愉快犯的便乗者も少数いるかもしれんが。

349 :名無しさん@お腹いっぱい。 :02/09/13 05:06
>>341
どう統一されていないかちくと解説願いたいものだ。










ム板で。

350 :名無しさん@お腹いっぱい。 :02/09/13 07:03
() で統一されている LISP 最高。

351 :名無しさん@お腹いっぱい。 :02/09/13 10:01
文法らしい文法がないFORTH最高。

352 :名無しさん@お腹いっぱい。 :02/09/13 10:51
>>351
最低だけど最高

353 :名無しさん@お腹いっぱい。 :02/09/15 13:33
WEB製作板でひろったネタを改良して、
/etc/passwdを整形して表示するスクリプト作った

require 'amrita/template'

t = Amrita::TemplateText.new <<END
<table border=1>
<tr><th>name<th>uid<th>gid<th>home<th>shell
<tr id=list><td id=cols>
</table>
END

f = File.open("/etc/passwd")
def f.each
super { |line| yield ({ :cols=>line.split(':').indexes(0,2,3,5,6) })}
end

t.expand(IO.popen("w3m -dump -T text/html", "w"), { :list=>f })


354 :名無しさん@お腹いっぱい。 :02/09/15 13:34
353の結果
/tmp $ ruby a.rb
┌────┬───┬───┬─────────┬─────┐
│ name │ uid │ gid │ home │ shell │
├────┼───┼───┼─────────┼─────┤
│root │0 │0 │/root │/bin/bash │
├────┼───┼───┼─────────┼─────┤
│daemon │1 │1 │/usr/sbin │/bin/sh │
├────┼───┼───┼─────────┼─────┤
│bin │2 │2 │/bin │/bin/sh │
├────┼───┼───┼─────────┼─────┤
│sys │3 │3 │/dev │/bin/sh │


355 :名無しさん@お腹いっぱい。 :02/09/15 13:45
(´-`).。oO( ageなきゃいいのに。。。

356 :名無しさん@お腹いっぱい。 :02/09/15 15:57
>>355
(´-`).。oO( いちいち釣られんなよ。。。

357 :名無しさん@お腹いっぱい。 :02/09/19 05:58
プログラム板でPerlスレがウザすぎる
お前らもっと頑張れ
Perlerを殺せ!Perlerを殺せ!Perlerを殺せ!Perlerを殺せ!Perlerを殺せ!
Perlerを殺せ!Perlerを殺せ!Perlerを殺せ!Perlerを殺せ!Perlerを殺せ!

358 :名無しさん@お腹いっぱい。 :02/09/19 06:09
>>357
まったくだ。もっと頑張って荒らさなくては

359 :名無しさん@お腹いっぱい。 :02/09/19 06:21
>>357 == >>358
自作自演やめれ,こんヴァカが



360 :名無しさん@お腹いっぱい。 :02/09/19 07:56
ちげぇよ。禿

361 :名無しさん@お腹いっぱい。 :02/09/19 16:21
Rubyのためなら死ねる!と言ってみろ!
それでこそ真のRubyistだ!

362 :名無しさん@お腹いっぱい。 :02/09/19 19:29
三度のハックより煽りが好きな役立たずの墓場スレ

はいそれから〜

363 :名無しさん@お腹いっぱい。 :02/09/20 17:16
RubyistはなぜPerlerを憎むのか。
そんなの当たり前だろ。ぷっ

364 :名無しさん@お腹いっぱい。 :02/09/20 23:09
Rubyの半分は憎しみで出来ています。

365 :名無しさん@お腹いっぱい。 :02/09/20 23:14
バファリンの半分は優しさで出来ています。

366 :名無しさん@お腹いっぱい。 :02/09/20 23:30
>>353
awkで一行あればできることを何故?

367 :名無しさん@お腹いっぱい。 :02/09/20 23:40
いまどきawk?嘲笑

368 :名無しさん@お腹いっぱい。 :02/09/20 23:40
一行?

369 :格言ですな :02/09/20 23:46
おーくは書かない、1行だけ。

370 :名無しさん@お腹いっぱい。 :02/09/20 23:47
>>366
罫線を付けたかった

371 :名無しさん@お腹いっぱい。 :02/09/20 23:53
>>370
罫線つけてるのはw3mじゃん。
awk -F: 'BEGIN{print"なんとか"}{printf"<tr><td>%s</td>以下略\n",$1,$2,以下略}END{print"かんとか"}' | w3m -dump
ですむことじゃん。


372 :名無しさん@お腹いっぱい。 :02/09/20 23:53
何か険悪な雰囲気だけど。
前のruby&perlカンファレンスで、何かユーザ同士のトラブルでもあったの?

373 :名無しさん@お腹いっぱい。 :02/09/20 23:57
>>371に分があるみたいだね。
道具の優劣<<<<使い手の優劣、ということだと思われ

それがわからないで、rubyがいいだのわるいだのやってるヤシは
厨だと思うよ、やっぱり。

374 :名無しさん@お腹いっぱい。 :02/09/21 00:04
>>372
荒らしている厨がひとりいるだけ。放置でお願いします。

>>373
ネタをわからずそういうこと言ってるやつも厨だと思うよ、やっぱり。
ネタというか、サンプルかな。

375 :名無しさん@お腹いっぱい。 :02/09/21 00:33
>>353ってネタだったの!?

376 :名無しさん@お腹いっぱい。 :02/09/21 05:56
1. >>353で自信満々のスクリプト紹介
2. ケチつけられる
3. 元からネタだったのさ (「ということにしたい」)


377 :名無しさん@お腹いっぱい。 :02/09/21 13:39
>>371
そんな横に長くずらずら書くなら Perl でも Ruby でも同じように書ける。

378 :名無しさん@お腹いっぱい。 :02/09/21 14:12
>>377
awk だろうが Perl だろうが Ruby だろうが、
適材適所でツールを使い分けたり使いこなせてりゃ何でもいいし、
それができない奴は厨。

379 :名無しさん@お腹いっぱい。 :02/09/21 15:45
適材適所を徹底するなら、全てRubyで書くことになる。
awkやperlみたいな糞ツールを未だに使っている業界の土方どもが死に絶えることを願うよ。
そいつらの頭の皮をはいで脳みそを食らってやりたい

380 :名無しさん@お腹いっぱい。 :02/09/21 15:54
>>379 最初の2行だけ同意

381 :名無しさん@お腹いっぱい。 :02/09/21 15:59
盛り上がっているところ失礼します。

StringScanner で、マッチする文字列の位置までスキャンポイントを動かすのって
どうすればいいですか?
s.skip(/.+?pattern/)
とかやってるんですが、なんかイマイチですよね。

Ruby の正規表現って、MatchData や Regexp.last_match をもっとシンプルにすれば、
かなり処理が高速になるような気がするんですが、どうなんでしょうか?
大抵の場合は $` や $& や $' などは要らないと思うので、
そういうのは HeavyWeightRegexp みたいなクラスを
別に用意して、そっちを使うようにすれば良いんじゃないかと思っています。

382 :名無しさん@お腹いっぱい。 :02/09/21 19:58
もうすぐrubyの性器表現の本が出るね。

383 :381 :02/09/21 20:13
>>382
そういえばそんな記事が流れてましたね。
全く期待してませんが。

著者は一体どんな香具師なんでしょうか?

384 :名無しさん@お腹いっぱい。 :02/09/21 20:30
ruby正規表現をruby以外からライブラリとして使う方法が説明されていれば
いいんだけど。

385 :381 :02/09/21 20:33
>>384
そういえば Namazu は Ruby の正規表現使ってるんでしたっけ。

386 :381 :02/09/21 20:46
そろそろ誰か答えてください。こっちは忙しいんで。

387 :名無しさん@お腹いっぱい。 :02/09/21 21:02
>>386
またーり

388 :名無しさん@お腹いっぱい。 :02/09/21 21:04
ruby は人を不幸にする言語。存在しないほうが良かった言語。

389 :381 :02/09/21 21:04
>>386
ぐはぁ、騙るなよ。まぁ別にいいけどさ・・・。

390 :名無しさん@お腹いっぱい。 :02/09/21 23:59
>>385 ネタ?
漏れperl版のnamazu使ってるけど・・・


391 :371 :02/09/22 00:28
わかってないなあ。

>>353 はそもそも UNIX がわかってないわけよ。Ruby以前の問題。
おまえ pipe って知ってますか?
kiss って知ってますか?

フィルタにしてシェルと組み合わせればずっと簡単で応用のきく
スクリプトになるのに、わざわざファイル名を決めうちにして、
おまけに w3m の引数まで決めうち。こんなののためにエディタで
10行以上書いて、これが Ruby の活用例ですというんだから
片腹いたい。作者のまつもとさんが泣くよ。

オレは Ruby そのものにはとくに文句はないが、
この手のセンスない奴をみるとがっかりする。
ひとつの言語に執着する前に、もうちっと基本的なこと
(シェルの使い方とか) を学んだほうがよくないかね。


392 :名無しさん@お腹いっぱい。 :02/09/22 00:52
>>390
そっちこそネタじゃないだろうな?
Namazu で perl で書かれているのはインデックスを作る部分でしょ。
検索するプログラムは C で書かれていて、正規表現検索のために
Ruby の正規表現のコードが使われている。
http://www.namazu.org/doc/manual.html 参照。

Rubyの正規表現のコードは日本語が使えるし、Rubyと分離して単体で使うことも
可能になっている(perlの正規表現ルーチンはperlにべったりな実装になっていて
分離不可)から。

393 :名無しさん@お腹いっぱい。 :02/09/22 00:56
そういえば、Jperl ってどうなってるんだろ?
わたなべさんが Ruby に改宗してからメンテナがいなくなったのかな?

394 :名無しさん@お腹いっぱい。 :02/09/22 01:02
>>391
俺は353じゃないが。

amritaを使ったサンプルのコード出しているだけなのに何をムキになってるの?
俺はこれで amrita を知って参考になったよ。単なる例なのに実用性を求めるのは
変じゃない?

395 :名無しさん@お腹いっぱい。 :02/09/22 01:07
>>391
あんな使い捨て糞スクリプトを公の場に晒す厨房に
いちいちそんなにムキになってたら胃に悪いよ。

396 :名無しさん@お腹いっぱい。 :02/09/22 01:19
>>393 痛快だよね。ざまあみろって感じ

397 :名無しさん@お腹いっぱい。 :02/09/22 01:25
>>396
Perlコミュニティの崩壊を見ることほど嬉しいことはないね。


398 :名無しさん@お腹いっぱい。 :02/09/22 01:25
改宗?
本人が「perlは糞」とでも言ったのか?


399 :名無しさん@お腹いっぱい。 :02/09/22 01:31
RubyユーザのふりをしてPerlをののしり、Rubyユーザの評判を落とそうと仕向けている
粘着基地外がいます。放置をお願いします。騙されたり煽られたりした人がいたら
フォローしてあげてください。


400 :名無しさん@お腹いっぱい。 :02/09/22 01:31
>>397 まったくだ。
Rubyを一度でも触ったことがあれば、perlがいかに愚劣で汚物まみれな
言語であるかぐらいは分かっていると思うが。
誰しもperlは糞と思うに違いない。
perlなんて遅いし、汚いし、コミュニティの雰囲気が悪いし、ユーザは厨房ばっかりだし。
ホント、早く消えてくれねえかな。

401 :名無しさん@お腹いっぱい。 :02/09/22 01:32
>>399 コピペ厨房よ。そろそろアクセス規制されたいか?
大爆笑


402 :名無しさん@お腹いっぱい。 :02/09/22 01:33
>>393
その事実を広めてperlコミュニティを潰そう!

403 :名無しさん@お腹いっぱい。 :02/09/22 01:34
353必死だなw

404 :名無しさん@お腹いっぱい。 :02/09/22 01:35
>>401
大爆笑だって(w

405 :名無しさん@お腹いっぱい。 :02/09/22 01:48
396,397が平均的な反応なの?

406 :名無しさん@お腹いっぱい。 :02/09/22 01:57
>>405(糞パーラー)
そうだけどなにか?悔しいか?ぷ

407 :名無しさん@お腹いっぱい。 :02/09/22 02:08
>>405
荒れるのがわかってて聞いている気がするのだが。>>399 や、スレの流れを読め。

408 :名無しさん@お腹いっぱい。 :02/09/22 03:28
407=下司の勘ぐり

409 :名無しさん@お腹いっぱい。 :02/09/22 11:34
dsge

410 :名無しさん@お腹いっぱい。 :02/09/22 12:02
るび房に発見されたらもう終わりです

411 :名無しさん@お腹いっぱい。 :02/09/22 13:28
RubyユーザのふりをしてPerlをののしり、Rubyユーザの評判を落とそうと仕向けている
粘着基地外がいます。放置をお願いします。騙されたり煽られたりした人がいたら
フォローしてあげてください。

412 :名無しさん@お腹いっぱい。 :02/09/22 22:28
http://pc3.2ch.net/test/read.cgi/tech/1017736187/l50
皆さんのおかげでperl叩きが盛り上がって参りました!

413 :名無しさん@お腹いっぱい。 :02/09/22 22:33
>>411
コピペ荒らしということでお前に規制をかけてもらうよう運営板に依頼してきた。

414 :名無しさん@お腹いっぱい。 :02/09/23 00:07
どうやら >> 411 の事実が広まると困るみたいだね。
なんか墓穴掘ってるよ。

415 :名無しさん@お腹いっぱい。 :02/09/23 09:16
ところで、>>353 のスクリプトがどう動くのかみんなわかるの?
わかるんだったら教えてくれ
amritaのサイトは英語ばっかりでよくわからん

line.split(':').indexes(0,2,3,5,6)

これが行を:で分割して0,2,3,5,6個目を取り出していることはわかる
その配列がどうして、テーブルの中にはまるのか
ていうか def f.eachって何よ?

416 :名無しさん@お腹いっぱい。 :02/09/23 12:36
>>415
amritaのrdocのクイックスタートを読んだか?
あれは英語と日本語の両方が用意されている。
353に良く似た例がクイックスタートに載っていたと思う。

# つーか、英語くらい読めよ。

def f.each ではfというオブジェクトに
対する特異メソッドを定義している。
クラスメソッドはClassクラスのオブジェクトに
対して定義された特異メソッドのこと(だと思っているんだが)。

417 :名無しさん@お腹いっぱい。 :02/09/23 13:58
>>415
amritaに配列を食わせると繰り返しになるのはわかるだろ?
>>353では { :list=>f }としてファイルを与えているが、
ファイルもEnumarableだから配列と同じ動作になる
つまり、行ごとの展開(繰り返し)になる

そして、def f.each で行ごとの動作を変更している
superはもともとのメソッド(File#each)のこと
これを呼び出して1行分のデータをもらい、
それを分割してから必要な情報を取り出して
それをamritaに渡している(yield)わけ

>>391にはおおむね賛成だが、
Rubyの面白さはよく出ていると思うよ
トリッキーなんだけど明解なコードだな
UNIX的でないのは確か >>415は真似しない方がいいと思う

418 :regexp@Ruby :02/09/23 14:10
>>382
正規表現で一冊になるってことは結構つっこんだ話もしてるのかな?
こう書くよりこっちの方が速いとか、正規表現の等価変換の方法とか、
CFGな式を正規表現に変換する方法とか、有限オートマトンの限界とか、、、、
それともコードが長く多いだけとか!?


419 :415 :02/09/23 16:00
>>416-417
ありがとうございます。よくわかりました!
クイックスタートは読んでいたんですが、
ファイルをそのまま使えるとは夢にも思いませんでした

>>417
こんなスクリプト真似しようたってできるもんじゃないので、
真似するつもりはありませんが、
UNIX的なRubyってどんなものなんですか?

420 :名無しさん@お腹いっぱい。 :02/09/23 22:56
>>419
元々RubyはPython、Perlに比べてUNIX的言語っていう売り文句だが、
具体的に思いつく特徴は、、、むづかしいよね、、、。
Algol系の臭いがかすかに残ってるところとか?
でもそれもunix的とも言えぬ、か。

421 :名無しさん@お腹いっぱい。 :02/09/23 23:00
たんに作者がunix好きなだけだろ。

422 :名無しさん@お腹いっぱい。 :02/09/23 23:03
まぁ、Perlはunix的じゃないのは定説なわけだが。

423 :名無しさん@お腹いっぱい。 :02/09/23 23:13
なんで?
機能をいっぱいつめこみすぎてるから?
しかしその意味では ruby のほうが…

424 :名無しさん@お腹いっぱい。 :02/09/23 23:20
>>420
> 元々RubyはPython、Perlに比べてUNIX的言語っていう売り文句だが、

そうだっけ?

ruby はとりあえず置いておいて、unix的とは何かと考えると、完璧を追求するのではなく
10%の労力で90%の目的を達成するとか、シンプルさを基調としつつも、統一感よりは
便利さをとるとか、と自分では思ってるけど。

425 :名無しさん@お腹いっぱい。 :02/09/23 23:32
まつもと氏の考え
http://www.ruby-lang.org/ja/seminar/page03.html
>AWK フィルタに特化,拡張性に限界
>Perl データ構造が定義できない(当時),暗号的プログラム
>Tcl データ構造が文字列だけ,言語としては貧弱
>Python オブジェクト指向機能に不満,UNIX的でない(ABC,Modula-3)

rubyは、、、
>インタプリタ
>型宣言が不要
>書きやすく読みやすい文法
>システムプログラミング
>ネットワークプログラミング
>ポータブル
以下に色々ありますが本文を見れ。
http://www.ruby-lang.org/ja/seminar/index.html

426 :名無しさん@お腹いっぱい。 :02/09/24 09:15
>>419
353をフィルタにして、抜き出すカラムをコマンドラインから指定できるようにしてみた。
----------------------------------------
require 'amrita/template'

t = Amrita::TemplateText.new <<END
<table border=1>
<tr><th id=header></tr>
<tr id=list><td id=cols></tr>
</table>
END

header = []
cols = []

ARGV.delete_if do |a|
next unless a =~ /(\d+):(.*)/
header << $2
cols << $1.to_i
true
end

list = ARGF.readlines.collect do |l|
{ :cols=>l.split.indexes(*cols) }
end

t.expand(STDOUT, { :header=>header, :list=>list })


427 :426 :02/09/24 09:19
426を例えばtableview.rbという名前で保存して

$ cat /etc/passwd |ruby -F: tableview.rb 0:name 2:uid 3:gid 6:shell 5:home |w3m -T text/html

で353と同じ結果になる。こいつは/etc/passwd専用でなく
以下のように他のツールとも組みあわせて使える

$ ls -l|tail +2|ruby tableview.rb 8:name 0:mode 2:uid 3:gid 4:size |w3m -T text/html
$ df |tail +2|ruby tableview.rb 5:name 0:filesystem 1:size 2:used 3:available 4:percent |w3m -T text/html

tail +2 は先頭の1行をスキップする処理なんだけど、
こういう機能をtableview.rbに含めることは簡単だが、
そういうことをするとスクリプトが複雑になって汎用的でなくなる
そうしないで、ツールは単機能にしてパイプで組合せるというのが、
ここで言う「UNIX的」という奴かな


428 :名無しさん@お腹いっぱい。 :02/09/24 12:35
どうも、引用元不明の「UNIX的」という言葉が一人歩きしているように
見えなくもない。RubyはUNIXやPerlを継承しつつ、それをオブジェクト
指向によって一歩進めたものだよ、というのが主張じゃなかった?

cutやsedやtrやsortやgrepやawkがごちゃごちゃとあって、それらを必要に
応じて取り出し、組み合わせて処理を行うUNIXのツールボックスアプローチ

EmacsやPerlのようにそれらを統合し、雑然としながらも手元にすべての
道具を提供するキッチンシンクアプローチ

同様に多くの機能を持ちながらも、オブジェクト指向によって再整理して
使いやすい配置で提供するオブジェクト指向アプローチ

(゚д゚)ウマー

429 :名無しさん@お腹いっぱい。 :02/09/24 12:38
まあ、Rubyの実装やライブラリ構成のUNIX指向や、Perlを踏襲した
コマンドラインインターフェース、パイプのようにメソッドチェーンが
できるところを称してUNIX的というのは分かるよ。

430 :名無しさん@お腹いっぱい。 :02/09/24 12:53
>>381
それはその通りで、 flex_rb という構文解析向きの高速な
正規表現エンジンがあるよ。 http://www.inf.bme.hu/~pts/
(FreeBSD portsにもなってる)

>>384
PHPのmbregexもrubyの正規表現エンジンの転用。ただしGNU regex由来だから
LGPLなのでライセンスに注意。

rubyライセンスな次期エンジンとして、鬼車というのがすでにできてる。
マルチバイト対応、Perl5の拡張をすべて実装、GNU regex互換インターフェース、
等々。将来にも期待。


431 :名無しさん@お腹いっぱい。 :02/09/24 13:19
(;゜Д゜)ガクガクプルプル
鬼車 コワイヨ-


432 :名無しさん@お腹いっぱい。 :02/09/24 15:33
で、結局日本語の扱いがお上手だという以外に何があるの。

433 :名無しさん@お腹いっぱい。 :02/09/24 15:57
Rubyはほしくないが正規表現ライブラリはほしいぞ。
まあそれでいいや。

434 :名無しさん@xyzzy :02/09/24 21:37
>>431
アゲハチョウのことだぞ。
メリットは ruby license になることなんじゃない?



435 :名無しさん@お腹いっぱい。 :02/09/24 21:46
>>430
そんなのがあったとは。見てみますね。
でも、構文解析したいんじゃなくて、
light weight で高速な正規表現が使いたいだけだったりするんですが・・・

鬼車ってパフォーマンス的にはどうなんでしょう?
ていうか、RAA でも見つからないんですが、どこかで配布されていますか?

436 :名無しさん@お腹いっぱい。 :02/09/24 22:37
>>381
StringScanner に {skip,scan,check}_until() てのがあるじゃん。


掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)