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

Rubyについて Part48

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/09/20(木) 08:04:39.36
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

= 前スレ
Rubyについて Part 47
http://toro.2ch.net/test/read.cgi/tech/1326687331/
0449デフォルトの名無しさん2013/03/03(日) 22:45:05.99
「ディストリが提供するパッケージとオレオレビルドが混ざるとシステムが破綻するからオレオレビルドはやめろ」
って奴がときどきム板に現れるね

そいつらに騙されることのないよう
「rvmとかを使う」「/usr/localにはインストールしない」
といった自衛策をとろう

今はどの言語もrvmやPerlbrewみたいな管理ツールがあって
ほんといい時代だわ
0450デフォルトの名無しさん2013/03/05(火) 07:32:30.40
Ruby 0.2 はまだですか?
0451デフォルトの名無しさん2013/03/06(水) 14:50:03.54
>>426 ruby 2.0.0-p0
0452デフォルトの名無しさん2013/03/06(水) 14:51:01.61
バージョン番号を0台にもどすっていうのは、
あるとすればどんな場合だろう
0453デフォルトの名無しさん2013/03/06(水) 21:25:23.40
ゼロがいいゼロになろうって思った時
0454デフォルトの名無しさん2013/03/07(木) 03:23:34.41
>>453
Rubzか
0455デフォルトの名無しさん2013/03/07(木) 13:05:02.04
0がe
0にnallow
0456デフォルトの名無しさん2013/03/10(日) 09:07:35.65
%iのiって何かの略?
0457デフォルトの名無しさん2013/03/10(日) 09:14:43.15
internのi(おもいつき)
0458デフォルトの名無しさん2013/03/10(日) 10:11:07.04
http://bugs.ruby-lang.org/issues/4985#note-6

ひげの山男の提案で intern の i
最初は%Sで提案してたんだな。
0459デフォルトの名無しさん2013/03/10(日) 16:21:46.25
677:デフォルトの名無しさん :2013/03/10(日) 00:51:40.81 [sage]
LLでWEBならPHPを覚えとけばいいんだよ
RubyとかPythonとかPerlなんてやめとけよ

678:デフォルトの名無しさん :2013/03/10(日) 01:13:32.81 [sage]
そうそうPHPはWeb用では最も完成された言語
他は糞
0460デフォルトの名無しさん2013/03/14(木) 22:19:06.47
ruby2.0の良さを三行以内でおしえてくだし
0461デフォルトの名無しさん2013/03/14(木) 22:50:43.14
デフォルトの
エンコーディングが
UTF-8

いやマジで、これがRuby 2.0最大の強みだと思う
0462デフォルトの名無しさん2013/03/15(金) 00:59:21.00
やっとjavascriptに追いついたな
0463デフォルトの名無しさん2013/03/15(金) 01:51:44.32
javascriptはUTF-16じゃなかったか?
0464デフォルトの名無しさん2013/03/15(金) 01:52:25.90
あ、それはないか。ASCIIの文字が大変なことになる。
0465デフォルトの名無しさん2013/03/15(金) 04:57:08.73
>デフォルトのエンコーディングがUTF-8
>いやマジで、これがRuby 2.0最大の強みだと思う
最初期はSJISにして10年前くらいにUTF8に切り替えておけば
ユーザー数今頃3倍くらいあっただろうと思うと残念でならないよ
あまりにも切り替えが遅すぎた

EUCをメインに出来ない以上他も道連れじゃーみたいなことするのが
古参Linux厨の良くないところだな
0466デフォルトの名無しさん2013/03/15(金) 05:21:06.02
>EUCをメインに出来ない以上他も道連れじゃーみたいなことするのが

kwsk
0467デフォルトの名無しさん2013/03/15(金) 14:21:36.75
それはRubyの本でもそうだね。
例えばたのしいRubyの日本語文字コードの変換の章で
nkfライブラリーやらiconvライブラリーの説明を散々出したあとで
1.9以降はそれらでなくencodeメソッドを使うのがお勧めですとか。
1.8以前のも覚えやがれザマーみたいな構成
0468デフォルトの名無しさん2013/03/15(金) 14:54:35.67
いやRubyスクリプトはRubyスクリプト以外のデータを扱うことのほうが多いんだし、
Ruby1.8.6/7処理系しか動作しないさせない環境だって多い

2013年3月の理屈で1.8対応を批判するのは時間感覚の喪失したニート的な言論
0469デフォルトの名無しさん2013/03/15(金) 15:53:50.09
対応じゃなくて構成を批判してるだけな
0470デフォルトの名無しさん2013/03/16(土) 04:08:25.13
iconvライブラリーは2.0.0で削除されますた
0471デフォルトの名無しさん2013/03/16(土) 09:06:52.40
ますます1.8.7から離れられないな
0472デフォルトの名無しさん2013/03/16(土) 12:25:12.48
過去バージョン使わなきゃならないRuby厨哀れwwww
0473デフォルトの名無しさん2013/03/16(土) 12:56:57.63
アホらし
もうRubyやめた
PHPにするわ
0474デフォルトの名無しさん2013/03/16(土) 13:07:19.79
PHPが英語なら、Rubyは韓国語だな。
0475デフォルトの名無しさん2013/03/16(土) 13:16:52.53
ぼくもPHPに移行します、今までありがとうございました。
0476デフォルトの名無しさん2013/03/16(土) 13:38:00.84
>>473-475
なぜ?
0477デフォルトの名無しさん2013/03/16(土) 13:38:38.61
PHP最高!他は糞!
0478デフォルトの名無しさん2013/03/16(土) 13:43:43.35
>>476
プログラム板初めてか
半年くらいROMるといいぞ
04794762013/03/16(土) 14:12:29.48
>>478
半年ぐらいROMっていますがわかりません。
PHP板の荒らしに対する仕返しでしょうか?
だとすると根拠の無い発言なのではと思い尋ねました。
0480デフォルトの名無しさん2013/03/16(土) 18:23:33.34
なんでこんなに荒れてるの?
0481デフォルトの名無しさん2013/03/16(土) 18:26:36.95
朝鮮人が発狂してるからでしょ
0482デフォルトの名無しさん2013/03/16(土) 18:28:48.19
×荒れてる
○アホが一人で暴れている
0483デフォルトの名無しさん2013/03/16(土) 18:52:25.30
ゴミン
0484デフォルトの名無しさん2013/03/16(土) 19:46:23.88
WBCで負けたから。
0485デフォルトの名無しさん2013/03/16(土) 19:46:51.67
これだからIDの出ない板は・・・
と言われ続けてどれぐらいたったろうか
0486デフォルトの名無しさん2013/03/16(土) 20:04:26.96
Ruby厨は民度が低いから荒れるんだろ
0487デフォルトの名無しさん2013/03/16(土) 20:07:56.10
Rubyに嫉妬する朝鮮人の荒らしだろ
0488デフォルトの名無しさん2013/03/16(土) 21:12:26.37
refinementsいまごろ入れるなら、クラスをデフォルトで変更不可にしたほうがよくない?
大規模だとぜったいそっちのほうがいい
Rubyなんだから後方互換とか捨ててもいいでしょ
0489デフォルトの名無しさん2013/03/16(土) 21:15:53.93
>>488
大規模じゃない場合は?
0490デフォルトの名無しさん2013/03/16(土) 21:31:30.06
結局朝鮮人って何も生み出せないよな
ただ人のものパクってばっかりで
0491デフォルトの名無しさん2013/03/16(土) 21:32:40.23
RSpecのDSLっぷりにワラタ
0492デフォルトの名無しさん2013/03/16(土) 22:06:17.28
RubyよりPHPのほうが圧倒的に高速で動くのにわざわざRubyを選ぶ理由とは
0493デフォルトの名無しさん2013/03/16(土) 22:18:38.45
Ruby資格のGOLDってSilverと比してどんぐらい難しい?
机上の勉強だけしてSilver取れたなら同じ様な勉強だけで取れるレベル?
勉強して実際あれこれいじくりまわして経験つまないと無理なレベル?
0494デフォルトの名無しさん2013/03/16(土) 22:21:22.40
机上の勉強 < あれこれいじくりまわす

わかってるじゃないかw
0495デフォルトの名無しさん2013/03/16(土) 22:26:08.96
>>493
最近Goldに合格したけど、結構難しかった。
Silverで役に立った公式の練習問題がほとんど役に立たなかった。
0496デフォルトの名無しさん2013/03/16(土) 22:26:34.43
>>494
つまり後者って事かthx
サファイヤに比べると全然ティンと来る比較出てないから
簡単に取れるならとりあえずGoldを、そうでもないなら一気にサファイヤ目指そうかと考えてる
資格で物は作れないが物を作る事を任せてもらう為には重要だからな
0497デフォルトの名無しさん2013/03/16(土) 22:29:12.40
>>495
実体験報告ありがとう
つまり新規に勉強しなおす覚悟が必要な程度には難しいのね・・・
うーん、Goldスルーしてサファイヤ目指すかな
基本的に兼ねてるんだろうしベンダ系は高いからなぁ
0498デフォルトの名無しさん2013/03/16(土) 22:30:17.09
高いだけで意味が無い。
0499デフォルトの名無しさん2013/03/16(土) 22:40:45.06
>>497
サファイヤってのはよく知らないけど、
Goldに関しては、Silverを兼ねているというものではなく、
SilverとGoldの両方に合格して、はじめてRuby認定技術者Goldとして認定されるよ。
0500デフォルトの名無しさん2013/03/16(土) 22:41:59.30
>>498
ベンダだって自分とこの社長や人売り営業の考え次第では、自分を売り込む効果があったりするんだ
資格も糞も問わねーから奴隷売ってくれー!ってな底辺地獄に売られる危険は減る
0501デフォルトの名無しさん2013/03/16(土) 22:52:57.46
そもそもRubyの資格そのものが意味なしw
ゆるキャラ検定のほうがマシなレベルw
0502デフォルトの名無しさん2013/03/16(土) 23:15:13.68
意味がないならまだしも持ってると恥ずかしい資格。
0503デフォルトの名無しさん2013/03/16(土) 23:20:02.16
資格保持者に対する醜い嫉妬が渦巻くスレですね。
0504デフォルトの名無しさん2013/03/16(土) 23:31:12.00
>>503
Ruby資格を馬鹿にする奴はいるが嫉妬する奴は存在しない
0505デフォルトの名無しさん2013/03/16(土) 23:31:23.51
サファイヤ? このネタ記事?
http://melborne.github.com/2012/04/20/ruby-reference-index-is-renewed/

それともプラチナのこと?
Ruby Association Certified Ruby Programmer Platinum (仮称):
策定中
http://www.ruby.or.jp/ja/certification/examination/

俺もGoldは腕試しで合格したが、Silver受けてないから認定は貰えてない。
0506デフォルトの名無しさん2013/03/16(土) 23:32:15.23
学校きらい、試験イヤ
0507デフォルトの名無しさん2013/03/16(土) 23:40:49.28
Ruby()
0508デフォルトの名無しさん2013/03/16(土) 23:47:51.93
俺はGoldに合格するのために学んだ知識が日々ものすごく役にたってる。
Silverは受けてない。
Goldの後にSilverを受けて何か得るものがあるのかな?
なぜ両方合格しないと認定されないのか不思議でしかたがない。
0509デフォルトの名無しさん2013/03/16(土) 23:53:53.86
ゼニー
0510デフォルトの名無しさん2013/03/16(土) 23:56:20.31
ですよね〜
0511デフォルトの名無しさん2013/03/17(日) 01:04:15.97
金儲けのために踊らされてるruby厨
役に立たない言語を必死で覚えて
0512デフォルトの名無しさん2013/03/17(日) 05:39:36.58
俺はPHPとRuby両方やったがPHPのほうが良いという結論に達した。
0513デフォルトの名無しさん2013/03/17(日) 07:37:31.73
>>489
大規模じゃなくてもrefine指定したもののみ変更可能ってしたほうが良いよ
0514デフォルトの名無しさん2013/03/17(日) 07:56:57.67
refinementを変更可/不可の視点で捉えてる時点で
なんも分かってないっていうかアホ
0515デフォルトの名無しさん2013/03/17(日) 17:02:18.19
つーかRuby使ってる時点でアホ
0516デフォルトの名無しさん2013/03/17(日) 18:07:33.72
>>514
これいれるくらいならオープンクラス辞めろって話
矛盾した機能だ
0517デフォルトの名無しさん2013/03/17(日) 20:17:41.53
refinementはじき外されるだろ。
設計が悪すぎて、たいして使い処がない上に、
ただでさえ遅いRubyの足を引っ張ることしかしてない。
0518デフォルトの名無しさん2013/03/17(日) 20:33:54.89
>>516
オープンクラスは超強力ですがその分リスクもあります。
それを refinement によって制御し、リスクを下げようとしているのであり、
矛盾はしていないと思います。

これによって今まで共存させられなかったライブラリを共存させられるように
なったら、素敵だと思います。
0519デフォルトの名無しさん2013/03/17(日) 22:16:46.55
>>517
Rubyの設計や実装が悪いのは今に始まったことじゃないが?
0520デフォルトの名無しさん2013/03/18(月) 02:35:08.56
Rubyはむしろ言語仕様だけで勝負した言語
0521デフォルトの名無しさん2013/03/18(月) 02:41:17.74
桐島、Rubyやめるってよ
http://htn.to/9GrwNV
0522デフォルトの名無しさん2013/03/18(月) 06:38:49.86
>>518
マジで言ってる?
同じ名前のメソッドがあるが実装が違うっていう状態が起きまくってバグ多発の予感しかしない
0523デフォルトの名無しさん2013/03/18(月) 07:13:16.49
なんでRubyってNumeric#maxがないの
いちいち配列作るのは無駄だとおもうんだけど
0524デフォルトの名無しさん2013/03/18(月) 08:05:34.12
>>523
「配列を作る」の意味がよく解らんかったが、
複数の数の中の最大値を求めるメソッドか。

※ 最初、Bignumがあるのに上限値があるわきゃねーじゃん、と思った。

単一の数でmaxもminもないだろ、という以上の答えはないと思うので、
不満ならmatzを説得してください。
0525デフォルトの名無しさん2013/03/18(月) 08:44:39.23
>>522
用法・用量によってくると思います。
一つのプロジェクトの中で場所によって using 対象が頻繁に異なっていたら混乱しそうですね。
その点に注意して using を利用すれば、メリットだけ享受できるのではないでしょうか?
05265232013/03/18(月) 09:20:34.33
他の言語ならだいたいMath.max(a, b)があるのにRubyってそれもないよね
なんでもかんでも機能つめこんでる言語だから無いのに違和感ある
0527デフォルトの名無しさん2013/03/18(月) 09:34:42.25
rubyはおもちゃ
言語で遊ぶのが目的化してるから
自分でmax実装するのが楽しい人向け
0528デフォルトの名無しさん2013/03/18(月) 09:59:25.05
Enumerable#maxはそんなになかったことにしたいんですかと
Math.max(a, b)に拘るって、2つの数値しか比較したくないんですかと
0529デフォルトの名無しさん2013/03/18(月) 10:01:12.64
機能は詰め込んでも見た目の一意性はしっかりしてるのがRubyだ。
強めの型付けでバグも防げるナイスな言語
0530デフォルトの名無しさん2013/03/18(月) 10:12:19.73
>>528
いやだから2つの値を比べたい場合にわざわざ配列つくって比較するのが無駄じゃねといいたいんだけど
0531デフォルトの名無しさん2013/03/18(月) 10:19:22.64
puts [a , b].max
と
puts max(a , b)
がそんなに違うのか?
0532デフォルトの名無しさん2013/03/18(月) 10:30:04.04
配列作るのが「わざわざ」で「無駄」なら
Math.て頭につけるのは「理にかなった」ことなのか?「何度でも書かせていただきます」とでも?
0533デフォルトの名無しさん2013/03/18(月) 11:05:03.03
>>532
Mathへのアクセスと、無駄な配列生成とどっちがコスト高かわからんとかバカか?
ただでさえ糞遅いRubyをどうしてさらに負荷をかけて使いたがるのかわからん。
0534デフォルトの名無しさん2013/03/18(月) 11:10:57.72
字面しか気にしない奴ばかりだから言っても無駄
0535デフォルトの名無しさん2013/03/18(月) 13:54:56.64
比べる値が2つと決まっていて、速度を気にするのであれば、
a < b ? b : a
と書けば max メソッドを呼び出すコストもなくなるのでより速いかと。

>>533
Rubyはそんなに遅いですか?
CやC++と比べたら大きな差があると思いますが、スクリプト言語なので
ある程度は仕方がないのでは?
状況に応じて適切な言語を選択すれば良いと思います。
0536デフォルトの名無しさん2013/03/18(月) 14:37:47.85
もちろん定数Mathクラスへアクセスして内部でうんにゃらするほうが遅いよね
爆速なのはトップレベルだけで、クラスやモジュールがネストされるほど遅くなる
配列リテラル書いて付属のインスタンスメソッド呼ぶほうが速いというか、Math.maxでやることはたぶん配列生成とメソッド呼び出しで、ある意味二度手間
0537デフォルトの名無しさん2013/03/18(月) 15:10:30.04
多分じゃなくてソース見て来いよ
0538デフォルトの名無しさん2013/03/18(月) 15:10:54.53
ごめんちゃんと読んでなかったわ
0539デフォルトの名無しさん2013/03/18(月) 15:13:05.82
>>537=>>538ね。
なんかスレ荒れすぎててちゃんと読まず、パッと単語を拾って反応してしまった。謝ります。
0540デフォルトの名無しさん2013/03/18(月) 16:21:44.90
>>535
Ruby が糞遅いのは動的だからじゃなくて単に実装がタコだからってだけなんで
Ruby よりはるかに動的なのに爆速な v8 さんとかに謝れ!
0541デフォルトの名無しさん2013/03/18(月) 18:47:50.89
実装がタコとか言ってるけど、Rubyのソースコードを理解した上で批判してんだよな?
0542デフォルトの名無しさん2013/03/18(月) 20:20:07.22
何この馬鹿?
0543デフォルトの名無しさん2013/03/18(月) 20:32:40.41
>>535
それをやるとbかaで計算してる場合に2度計算するのは無駄だから一時的に変数に代入しなきゃいけなくなるだろ
だからa.max(b)があれば便利なのにって言ってんの
0544デフォルトの名無しさん2013/03/18(月) 20:42:16.14
>>541
お前には無理
0545デフォルトの名無しさん2013/03/18(月) 21:36:36.30
>>540
「糞遅い」と言う根拠が依然としてわかりませんが、
Rubyはまだまだ速くなる可能性を秘めているということですよね。
だとしたら素晴らしいですね。
良い情報をありがとうございます。

>>543
確かに配列オブジェクトを生成しなくて済む分 [a, b].max と書くよりも
速いですし、一時的に(明示的に)代入する手間も省けますね。
ですがもし速度を求めるのであれば、一時的に変数に代入をしてでも
>>535 の様に書いた方が速いはずです。
また、a と b しか登場しないのに max というメソッド名なのは、
ちょっと変な気がします。
とりあえず、自分で Comparable モジュールに定義しておくと便利かもしれませんね。
0546デフォルトの名無しさん2013/03/19(火) 05:05:44.88
>>525
それだとギリギリ許容できるかな
やはりrefineを使う場合はオープンクラスを禁止するのを同時にやらないと破綻すると思う
0547デフォルトの名無しさん2013/03/19(火) 11:25:15.56
>>546
やっとモンキーパッチが絶滅するのか…長かった
0548デフォルトの名無しさん2013/03/19(火) 15:58:52.45
Rubyのgemにモジュールあげる人、ちゃんとテスト書いてくれよ
RSpecとかあってもDeveloperがちゃんと書かないと意味ない
0549デフォルトの名無しさん2013/03/19(火) 22:14:36.38
>>548
最近、specディレクトリはあるけどほとんど空っての多いよね
gemのテストで参考になるやつ教えてください
■ このスレッドは過去ログ倉庫に格納されています