Ruby 初心者スレッド Part 47

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお

前スレ
Ruby 初心者スレッド Part 46
http://hibari.2ch.net/test/read.cgi/tech/1317790320/


るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
2デフォルトの名無しさん:2011/12/02(金) 18:50:25.57
Railsの話題はWebProg板のRailsスレで
http://hibari.2ch.net/test/read.cgi/php/1311050686/
Windowsスレ
http://hibari.2ch.net/test/read.cgi/tech/1155031689/

書籍:ほぼ公式
「たのしいRuby 第3版 Rubyではじめる気軽なプログラミング」 (プログラミング自体が初めてでない人向け)
http://www.amazon.co.jp/dp/4797357401/
「初めてのRuby」 (同上)
http://www.amazon.co.jp/dp/4873113679/
書籍:紙のマニュアルに相当
「Rubyレシピブック 第3版 303の技」((脱)初心者向け基礎テクニック集、1.9対応)
http://www.amazon.co.jp/dp/4797359986/
「プログラミングRuby 第2版 言語編」(初心者向け参考書)
http://www.amazon.co.jp/dp/4274066428/

現在、1.8 系列の最新である Ruby 1.8.7 と 1.9 系列の最新である Ruby 1.9.2 の2系統が存在
肝心な部分がわりと違い、プログラムはそのままでは動作せず、予備知識も別個。両対応させるには相応の追加記述が必要
1.9.2 用の教科書があるなら 1.9.2 から始めても構わないが、1.8 用のスクリプトやライブラリは 1.9.2 では動作しないので注意

Windows用Rubyは、Ruby以外のものもあらかた入っているActiveScriptRubyと
http://www.artonx.org/data/asr/
RubyだけインストールされるRubyInstallerの2種類存在
http://rubyinstaller.org/downloads/
何が必要なのかわからない人はとりあえずActiveScriptRuby使っと毛
chm(HTMLヘルプ)式のダウンロードできるマニュアルが便利
http://www.ruby-lang.org/ja/documentation/
3デフォルトの名無しさん:2011/12/02(金) 23:45:13.90
乙。
惜しいけど、1.9系は1.9.3やな。
4デフォルトの名無しさん:2011/12/03(土) 01:16:31.89
おつ
5デフォルトの名無しさん:2011/12/03(土) 02:02:06.60
質問です。例えば、
https://github.com/amatsuda/active_decorator/blob/master/lib/active_decorator/railtie.rb
のinitializerメソッドがどこで宣言されているかを知りたいと思ったとき、
皆さんはどういう風に見つけ出してますか?
6デフォルトの名無しさん:2011/12/03(土) 02:28:29.30
親クラスの特異メソッドを辿るぐらい?
7デフォルトの名無しさん:2011/12/03(土) 02:32:58.03
この手のってクラスメソッドの mixin だったりするから def self.xxx だけ見ててもしかたないけどな。
8てんぷれ:2011/12/03(土) 05:52:39.41
Ruby on Rails の話題は WebProg 板の Rails スレでどうぞ
そもそもここには Rails を日常的に使っている人はほとんどいませんので、聞くだけ無駄です
9デフォルトの名無しさん:2011/12/03(土) 10:54:01.26
>>5
親クラスの特異メソッド定義を探すか、
include してるクラスの中で extend して特異メソッド定義してる部分を探す
10デフォルトの名無しさん:2011/12/03(土) 11:42:26.80
>>8
対象コードはRailsかもしれんが、質問内容はRubyそのものだろう。
なんでそんなに嫌うのかわからん。
11デフォルトの名無しさん:2011/12/03(土) 11:56:46.15
>>10
なまえらん嫁w
12デフォルトの名無しさん:2011/12/03(土) 12:51:03.79
>>5
ActiveDecorator::Railtie.method(:initializer).source_location
とかじゃダメかい?
っと思ったら何故かMethod#source_locationがリファレンスにない。。。

135:2011/12/03(土) 12:54:56.30
皆さんありがとうございます。
定義されていそうなところを順に探していくのが一番みたいですね。
ただ、ソースコードを読むたびにこういう探索をしていくのは結構疲れそうですが、
読み続けていけば慣れたりするものなのでしょうか?
または、読みに徹するときだけはIDEなどを使う、という方もいるのでしょうか?
14デフォルトの名無しさん:2011/12/03(土) 13:31:39.27
>>13
>>8が読めないの?
15デフォルトの名無しさん:2011/12/03(土) 13:32:49.47
なんてかいてあるんですか?
165:2011/12/03(土) 13:36:50.88
>>14
答えられない無能なら黙ってたほうがいいですよ。
175:2011/12/03(土) 13:39:46.26
>>12
Method#source_locationなんてメソッドがあったんですね!これは便利!!
http://www.ruby-doc.org/core-1.9.3/Method.html#method-i-source_location

あと16は私ではないです。Railsとは関係のないコードを例に出せば良かったです。
18デフォルトの名無しさん:2011/12/03(土) 14:10:40.65
ゆとり(笑)
19デフォルトの名無しさん:2011/12/03(土) 14:16:41.83
おお・・・source_location いいなこれ。
20デフォルトの名無しさん:2011/12/03(土) 14:24:36.88
>>13
慣れじゃないでしょうかね。
あまりにでっかいのを読み解く時はローテクだけどメモとりながらやったりしてます。
215:2011/12/03(土) 15:28:12.13
>>20
なるほど、読み進めているときに図を書いたりするとわかりやすくなりそうですね。
22デフォルトの名無しさん:2011/12/03(土) 22:25:14.53
END{
  gets if 例外が発生して異常終了していたら
}

ってコード書けますか?

begin
  main
rescue
  gets
end

と書かず済むなら前者で済ませたいんですが
23デフォルトの名無しさん:2011/12/03(土) 22:53:09.74
>>22
答えは知らない。
そもそも例外処理が例外が発生していたらなので、begin rescue使うといいと思うよ。
24デフォルトの名無しさん:2011/12/04(日) 02:36:49.99
require "tk"
を実行すると

C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/i386-mswin32/tcltklib.so:
tcltklib: fail to open tcl_dll (LoadError)

と出るんですがどうすればいいのか・・
tcltklib.soはありますし
windows
ActiveScriptRubyでいれました。
ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32]
25デフォルトの名無しさん:2011/12/04(日) 08:39:25.13
>>22
まともに動くかどうかはわからないけど

END { gets if $! }

>>24
rubyでtkを使うには別途tcl/tk本体をインストールせんといかんのですよ
何をインストールすればいいのかはよく知らんのでググってくだっせ
26デフォルトの名無しさん:2011/12/04(日) 09:27:23.82
ていうかEND使ってる人5年ぶりくらいに見た
27デフォルトの名無しさん:2011/12/04(日) 09:30:02.59
-n や -p 辺りのオプション使うとそれなりにお世話になるよ
だからワンライナーではしばしば使うね

逆にワンライナー使わないとなると、使う場面はかなり限られるな…
28デフォルトの名無しさん:2011/12/04(日) 09:39:49.24
Rubyはデストラクタの書けないうんこ言語だからファイナライズ処理で使わざるを得ない
29デフォルトの名無しさん:2011/12/04(日) 09:48:11.35
>>28
open(path) {|file| ... }
みたいな感じで、上手くブロックに出来ない?
30デフォルトの名無しさん:2011/12/04(日) 09:48:13.85
どうしても解放しなきゃいけないリソースは rescue/ensure でなんとかしろってことなんだよな。
もっともだと思うけど大域的にやらないと辛いケースもあるからなぁ・・
31デフォルトの名無しさん:2011/12/04(日) 10:30:46.03
>>30
大外にrescue/ensureってのはどうよ
32デフォルトの名無しさん:2011/12/04(日) 10:56:35.78
Rubyに将来はありますか?
33デフォルトの名無しさん:2011/12/04(日) 11:21:27.17
言語選びに将来性なんて気にしてる暇あったら
ちゃっちゃか覚えて使い捨てればいいとおもう。

一つの言語で食っていけるのどかな時代はとっくに終焉を迎えました。
34デフォルトの名無しさん:2011/12/04(日) 11:30:51.34
C言語はまだしばらく食っていけそうな気がするけどね
35デフォルトの名無しさん:2011/12/04(日) 11:42:24.19
一番最後の実装はCってケースばっかりだよな。
でもそういう人たちは多分C言語で食べてるっていうより実装する環境の限定知識で食ってる気がする。
36デフォルトの名無しさん:2011/12/04(日) 11:47:28.99
Cしか(開発環境が)存在しない環境でCを使う、という場合だな
Cさえ使えればどこでもCでオッケー、というようには今はなってない
37デフォルトの名無しさん:2011/12/04(日) 12:16:03.55
この数式でsyntax error がでるのはなぜ?
zz=(xx1-xx2)**2+(yy1-yy2)**2
38デフォルトの名無しさん:2011/12/04(日) 12:17:47.02
プラスが全角だから
39デフォルトの名無しさん:2011/12/04(日) 12:24:33.24
ついでに紹介
Math.hypot(xx1-xx2, yy1-yy2)
こいつから返ってくるのは平方根だけど。
40デフォルトの名無しさん:2011/12/04(日) 12:33:53.02
>>38
マジそれだった!
心の底から感謝。一晩悩んだ。
41デフォルトの名無しさん:2011/12/04(日) 12:43:12.31
マジかよww
42デフォルトの名無しさん:2011/12/04(日) 13:46:53.92
RubyとJavaではどちらの方が将来性ありますか?
それと両者はどこで棲み分けているんですか?
43デフォルトの名無しさん:2011/12/04(日) 13:54:38.41
Rubyは重い上に互換性が低く、また組み込みやモバイルには使えません。

Rubyは規模の小さいデモ作成に使われています。
44デフォルトの名無しさん:2011/12/04(日) 13:58:05.09
Rubyはデスクトップアプリの作成にも向いていません。
45デフォルトの名無しさん:2011/12/04(日) 14:14:11.54
まためんどくさい流れになってるな。
46デフォルトの名無しさん:2011/12/04(日) 14:19:04.86
それだと(?<=),(?>)など高度な正規表現をもつ他の言語やJavaと比べてRubyは何が優位なんですか?
Rubyはやっぱりただのおもちゃ言語だったんですか?
47デフォルトの名無しさん:2011/12/04(日) 14:19:20.08
>>42
棲み分けもなにも、そもそも現時点で用途も利用者も全く別
仕事したいならJava覚えりゃいいんじゃね
48デフォルトの名無しさん:2011/12/04(日) 14:21:16.50
>>46
かなり遊べる楽しいオモチャだよ
49デフォルトの名無しさん:2011/12/04(日) 14:27:37.14
うんそうだからJavaスレに帰ろうな。
50デフォルトの名無しさん:2011/12/04(日) 14:44:25.17
JavaではRubyよりもScalaの方が将来性があるからとよく勧誘されるんですが、RubyやJRubyは言語としてもプラットフォームとしてももう未来はなく終わったんですか?
それならやっぱり未来はHTML5ですよね?
51デフォルトの名無しさん:2011/12/04(日) 14:52:07.78
なんでそこでHTML5が出てくるのかわからないけど
多分そうだからHTML5の勉強に戻ろうな。
52デフォルトの名無しさん:2011/12/04(日) 14:58:48.87
それだと(?<=),(?>)など高度な正規表現をもつ他の言語やJavaと比べてRubyは何が優位なんですか?
53デフォルトの名無しさん:2011/12/04(日) 15:01:33.05

Rubyは戻り読み使えるよ?
54デフォルトの名無しさん:2011/12/04(日) 15:02:36.24
だから他と比べて優位なところのないカス言語なんだから
こんなところで油売ってないでもとの生息地にかえったらいいと思うよ。
55デフォルトの名無しさん:2011/12/04(日) 15:09:20.68
すでに何かを習得済みな人にとって
習得済みであることが何よりの優位な点
56デフォルトの名無しさん:2011/12/04(日) 15:11:20.49
では、RubyとJavaでは言語スペック上動的・静的言語の違いがありますが実際の利用シーンでは両者はどこで棲み分けがあるんですか?
57デフォルトの名無しさん:2011/12/04(日) 15:14:19.59
みんなJava使ってるしJavaの方が将来性があるってのがみんなの相違だから
早く Java7 の勉強をはじめるんだ
58デフォルトの名無しさん:2011/12/04(日) 15:15:33.00
Java7ってそんなに変わってないから
勉強するってほどもないと思うけど。

Rubyはいつも頑張ってるらしいね。
また互換性なくなっちゃったらしいし。
59デフォルトの名無しさん:2011/12/04(日) 15:18:28.00
>>58
1.9からは$KCODEとか日本語の扱いがさらに大変なので、1.9は1.8とは違う別プラットと考えた方がいいですよ
60デフォルトの名無しさん:2011/12/04(日) 15:19:08.77
ああほんとJavaは最高だよ。
61デフォルトの名無しさん:2011/12/04(日) 15:28:11.39
Javaと違ってRubyはそもそも互換性など想定してない
62デフォルトの名無しさん:2011/12/04(日) 15:29:11.36
本当にJavaに過去との互換性があるならバージョン固定なんてしなくてもいい

Javaを本当に使っている人に互換性の話をすると殴られるぞ
63デフォルトの名無しさん:2011/12/04(日) 18:10:15.11
64デフォルトの名無しさん:2011/12/04(日) 18:35:02.35
一体何を言わせたいのかわからないけどJavaスレで聞いたらいいと思うよ。
65デフォルトの名無しさん:2011/12/04(日) 18:41:25.06
住み分けなんてない 下のどれか
1.使いたい人が使ってるだけ
2.以前から使ってるから使い続けさせられてるだけ
3.誰か個人によるプッシュによりその言語を使うことになってるだけ
66デフォルトの名無しさん:2011/12/04(日) 19:42:40.44
Javaに比べてRubyはリテラルが豊富で文法も複雑となっていてユーザー定義構文(defでの&block引数など)も簡単に作れるので複雑さは波大帝じゃありません。
67デフォルトの名無しさん:2011/12/04(日) 19:48:15.10
>>66
どんなエンペラーだよ
68デフォルトの名無しさん:2011/12/04(日) 21:45:06.84
文法はJavaよりRubyのほうが複雑だね。
その分、実際に書くプログラムではJavaよりRubyのほうが圧倒的に簡潔に書ける。
Javaは簡単なことが簡単に書けなさすぎる。
69デフォルトの名無しさん:2011/12/04(日) 21:58:15.16
>>66
Javaは、本来なら単純な文法のはずだったのに、Genericsを導入したせいで一気に難解な言語になってしまった。
今となっては、Javaは十分複雑な言語。Rubyより簡単とはいえない。

ttp://www.infoq.com/jp/news/2009/07/scala-replace-javaより
> Javaはとんでもなく複雑な言語です(仕様書は600ページもありますし,Javaのgenerics を本当に理解できている人はいるのでしょうか?)。
> オートボクシング(に隠されたNullPointerException),基本型,コレクションではない時代遅れの配列,文字列/テキスト/バッファ/コレクション/配列に対するポリモーフィズムの全般的欠如,データ構造体やbean プロパティを扱うときのこの上なく冗長な構文,など。
> しかもいまだに(JDK7でさえも)closureが使えないので,新しいカスタムAPIを持ったフレームワークを利用しないことには,くだらない try/catch/finally でいっぱいになってしまいます。
> まだあります。Javaには型推論も用意されているというのに,プログラム入力の省略化や可読性向上にそれを役立てることさえさせてくれないのです。


ttp://www.infoq.com/jp/news/2008/05/JSR-308 より引用すると、
> あらゆる言語は複雑さの予算(source) を持ちます(訳注: ここで言う「予算」とは、メリットとデメリットのバランスをよく検討してから新しい機能を導入すべき、と言うこと)。
> JavaはそれをJava 5におけるジェネリクスで吹き飛ばしてしまいました。
> さあ、このコードをもう一度まじめに見直してみましょう。
> @NotEmpty List<@NonNull String> strings = new ArrayList<@NonNull String>()>
...
> Java言語にとっては考えうる限り最悪な時期に、これらの変更がもたらされます。コミュニティは本当に、本当に動的言語にエキサイトしているのです。
> このねじくれたコードの代わりに、単にこのように書くことができるのです。
> var strings = ["one", "two"];

70デフォルトの名無しさん:2011/12/04(日) 22:03:36.24
1.5のジャバが複雑というならシープラプラなんてのは人間の認知能力のリミットをはるかに越えてる
71デフォルトの名無しさん:2011/12/04(日) 22:06:18.49
ちなみにJavaの後継と期待されたScalaも、複雑すぎるという批判がある。

ttp://www.infoq.com/jp/news/2011/11/scala-ejb2
> 氏はScalaの型システムが複雑になりすぎていると指摘している。これは、Steve Yegge氏の見解と同じだ。
...
> 氏はScalaの静的型付けは静的型付けの評判を落としていると主張する。
...
> Scalaは進化の過程で何度も後方互換性を破棄しているので(これからも後方互換性が保証されるかどうかわからない)、実用に耐えないのではないかと指摘する。

ttp://d.hatena.ne.jp/karasuyamatengu/20111122/1321978693
> EJB2のよう
> ・Javaによる大掛かりなプロジェクトの複雑さを減少させようという試み
> ・裏目にでて複雑さを増加させてしまった
> ・その複雑さをドキュメント、「best practices」、ツールなどで克服しようとする
> ・ScalaにはEJB2を最初に見たときと同じような「駄目なテクノロジー」の感触がある
> ・アーキテクチャをover-engineeringしてしまった結果
72デフォルトの名無しさん:2011/12/04(日) 22:07:14.74
実際人間の扱う範囲を超えちゃってると思うよC++は
73デフォルトの名無しさん:2011/12/04(日) 22:07:15.36
C++ のテンプレートはちょっと頭おかしいと思う。
74デフォルトの名無しさん:2011/12/04(日) 22:09:45.91
RubyとJavaでは将来それぞれどういう利用シーンや未来を描くプラットフォームがあるんですか?

JavaではRubyよりもScalaの方が将来性があるからとよく勧誘されるんですが、RubyやJRubyは言語としてもプラットフォームとしてももう未来はなく終わったんですか?
75デフォルトの名無しさん:2011/12/04(日) 22:11:02.49
はいそうです。
未来はなく終わりましたので違う言語を探しに旅立ってくださいね。
76デフォルトの名無しさん:2011/12/04(日) 22:11:12.44
全くもってその通りです
議論の余地はありません
77デフォルトの名無しさん:2011/12/04(日) 22:14:52.34
俺、今からRubyを学ぼうとしてるんだけど、
Rubyはもう終わった言語、とか言われるとやる気なくすww
78デフォルトの名無しさん:2011/12/04(日) 22:15:41.40
79デフォルトの名無しさん:2011/12/04(日) 22:16:19.16
>>72
越えてるよね
テキストエディタとコンパイラとリンカとデバッガでC++プログラムを通常通りに作り続けられる人なんて地球に何人いるやら
80デフォルトの名無しさん:2011/12/04(日) 22:18:27.05
>>79
> テキストエディタとコンパイラとリンカとデバッガで

そんなの。コンピュータの力を借りれば簡単に超えられるよ。
81デフォルトの名無しさん:2011/12/04(日) 22:29:31.63
>>77
Java信者の必死な工作を信じるとは、なんと純真な子であろうか。
82デフォルトの名無しさん:2011/12/04(日) 22:33:08.56
でも>>78のグラフは事実なんでしょう?
83デフォルトの名無しさん:2011/12/04(日) 22:35:56.43
もしrubyをやりたいならwindowsじゃなくてlinuxにしとけ
それでもwindowsでやりたいいなら選択肢はrubyは捨ててjava,c#かもしくはie9 browser html5 (web prog)しかない
84デフォルトの名無しさん:2011/12/04(日) 22:39:13.41
途中爆発的に伸びてるのはRailsが流行っただけじゃないのか。
Ruby自体の需要は今も昔も大したことないよ。

将来性とか気にする人が使う言語じゃないからさっさとお帰り。
85デフォルトの名無しさん:2011/12/04(日) 22:39:46.80
>>82
グラフに何か意味があると信じているなら
Javaもやめたほうがいい。傾きだけ見てると未来がない
そんなことはないと思うけどね
http://www.tiobe.com/index.php/paperinfo/tpci/Java.html
86デフォルトの名無しさん:2011/12/04(日) 22:44:33.89
そっか、Javaはそんなことないんですね。
87デフォルトの名無しさん:2011/12/04(日) 22:48:02.87
rubyのapidocが非常に使いづらいんですが、rubyのオハコとも言えるrailsや何やらのウェッブ・サービシーズ・テックノロジーを使って利便性を向上しないんですか?
またはそのようなキラーアプリが、rubyの世界やgemsからも未だに出てこないのは何でですか?
88デフォルトの名無しさん:2011/12/04(日) 22:54:28.37
自演、連投
ヒマなんだな
89デフォルトの名無しさん:2011/12/04(日) 22:56:16.30
実はRubyで書かれたbotとかじゃね?
90デフォルトの名無しさん:2011/12/04(日) 23:03:07.78
>>88-89
自演乙
91デフォルトの名無しさん:2011/12/04(日) 23:05:11.97
Java信者は今、生き残りに必死なの。だから大目に見てあげて。

Javaの未来、RubyとJavaScriptの台頭
ttp://www.publickey1.jp/blog/11/javarubyjavascript.html
> オープンソースによるJavaのフレームワークである「Seasar2」の作者にして、著名なJavaプログラマのひとりとして知られるひがやすを氏が「Javaに未来はないかなと。
> (略)個人的には少しずつJavaから離れていっています。」という発言をパネルディスカッションでしました。

...

> クライアントでの存在感が薄れて行くにつれ、Javaを最初に学ぶ言語とする若いn開発者は減少するだろう
> そして結論は、Javaはエンタープライズ市場では引き続きうまくいくが、そこに限定されるだろいう、というもの。
92デフォルトの名無しさん:2011/12/04(日) 23:05:55.53
Rubyなんて何かの弾みで「習得しちゃった」人が趣味で使う言語なので、
他の言語と比べてあれこれ悩んでるようなRuby未習得者がわざわざ選ぶようなメリットは特にないれす。

Java厨もその自演と見られる自称今からRubyを学ぼうとしてる人もさようなら、他の流行りの言語を勉強しましょう。
93デフォルトの名無しさん:2011/12/04(日) 23:11:12.79
「ルビーはさぁ、もうオワコンだよね〜」っていう話し声が聞こえたのでスっとんできました!!
94デフォルトの名無しさん:2011/12/04(日) 23:13:15.64
>>91
せめてJavaが今の1/10にシェアが減るか
Rubyが今の10倍にシェアが増えてからにしなよ。
95デフォルトの名無しさん:2011/12/04(日) 23:22:22.87
大手のJava様の信者がどうして零細もいいとこの、しかも特に競合もしていないRubyのスレで暴れてるのかわからん。
Rubyを敵視しなきゃいけないほど最近のJavaって落ちてるの?
96デフォルトの名無しさん:2011/12/04(日) 23:24:31.80
いえ、他のスレでRuby信者が暴れていたので
代わりにこっちに来ただけです。

大手のJavaと零細のRubyってのはそのとおりですよ。
だからってここであそんじゃいけないってことにならないでしょ?
97デフォルトの名無しさん:2011/12/04(日) 23:25:56.02
>>96
つまりお前はその荒らしと目糞鼻糞なことをここでやってるワケか
98デフォルトの名無しさん:2011/12/04(日) 23:26:13.77
ほんとはRubyとかじゃなく、PHPとかがいいんだろうな。
99デフォルトの名無しさん:2011/12/04(日) 23:27:30.23
Ruby信者の一人がよそで暴れてたからからRubyスレで暴れるとか小学生並だな。
100デフォルトの名無しさん:2011/12/04(日) 23:30:29.18
ボット以下だな……
101デフォルトの名無しさん:2011/12/04(日) 23:32:06.31
>>95
いや逆
ここ数年のうちにjavaではjvm言語が数多く出てきて困ってるんだけど、日本人が使うならjrubyに収束しないかなって思うしそんなrubyに期待してる。
apidocをもっと洗練されてものに金かけて整備して、日本語翻訳もそれなりに充実させれば、java系のサーバやシステム・デザパタを熟知したjvm言語難民がrubyコミニティーに押し寄せてくると思う。
102デフォルトの名無しさん:2011/12/04(日) 23:33:27.86
>>99
Rubyスレで暴れたいので、自分で Ruby 信者のフリして他のスレで暴れておいた。
103デフォルトの名無しさん:2011/12/05(月) 00:00:29.25
別にそんなの押しかけてこなくていいし。
104デフォルトの名無しさん:2011/12/05(月) 00:23:42.43
これが反日マスコミの編集による矮小化
176 :七つの海の名無しさん:2011/11/17(木) 21:57:56.45 ID:gClQt5ed
【重要】 ブータン国王の演説の報道は、重要な部分がことごとく反日マスコミにカットされて報道されています

「世界史において、かくも傑出し、重要性を持つ機関である日本国、(その)国会の中で、」 →★全部カット

「ブータン国民は、常に、日本に、強い、愛着の心を持ち、何十年もの間、偉大な日本の成功を →★全部カット
心情的に分かち合ってきました。」

「日本は、当時外国の領地(植民地)であったアジアに、自信とその進むべき道への自覚をもたらし
以降、日本のあとに続いて世界経済の最前線に躍り出た数多くの(アジアの)国々に希望を与えてきました」 →★全部カット

「日本は、過去においても、現代においても、世界のリーダーであり続けます」 
「このグローバル化した世界において、日本は、技術と革新の力、勤勉さと責務、強固な伝統的な価値における模範
であり、これまで以上にリーダーにふさわしいのです。」 →★全部カット

「世界は、常に、日本のことを、大変な名誉と誇り、そして規律を重んじる国民、歴史に裏打ちされた誇り高き伝統を持つ国民、
不屈の精神、断固たる決意、そして秀でることに願望を持って、何事にも取り組む国民、知行合一、兄弟愛や友人、
ゆるぎない強さと気丈さを併せ持つ国民、であると認識してまいりました」 →★全部カット

「他の国であれば、国家を打ちのめし、国家を打ち砕き、無秩序、大混乱、そして悲嘆をもたらしたであろう事態に
日本国民の皆様は、最悪の状況下でさえ、静かな尊厳、自信、規律、ここの強さを以って、対処されました」 →★全部カット

他にもカットシーンがたくさんあるので、ブータン国王の演説 でyoutube検索してください
105デフォルトの名無しさん:2011/12/05(月) 00:44:01.78
これかなり重要じゃない?Javaの有名人がこういう発言してるんでしょ?

>>91
>Javaの未来、RubyとJavaScriptの台頭
>ttp://www.publickey1.jp/blog/11/javarubyjavascript.html
>> オープンソースによるJavaのフレームワークである「Seasar2」の作者にして、著名なJavaプログラマのひとりとして知られるひがやすを氏が「Javaに未来はないかなと。
>> (略)個人的には少しずつJavaから離れていっています。」という発言をパネルディスカッションでしました。
106デフォルトの名無しさん:2011/12/05(月) 00:59:36.27
>>105
ここはjavaスレじゃないからちゃんとは説明しないけど、javaは静的言語でコンパイルが必要でruby,jsは動的言語だから両者はまったく競合せず、指摘の不安も生じないし、両者プラットの根本的な違いによって議論してみたらなんでもなかったという程度で終わる。
107デフォルトの名無しさん:2011/12/05(月) 15:06:09.85
>>106
あれだけ威勢良かったJava信者、いきなりトーンダウンww
ひがやすをのJavaオワコン宣言は、Java信者には手痛い一撃だったようだwww
次回はScala信者によるRubyバッシングをお楽しみ下さい
108デフォルトの名無しさん:2011/12/05(月) 15:18:13.60
自演うざっ
109デフォルトの名無しさん:2011/12/05(月) 15:23:33.85
>>107
毎日毎日ウンコするしか能がないゆとりと違って暇じゃないんだと思うよ
110デフォルトの名無しさん:2011/12/05(月) 19:26:24.23
いままでメモ帳で簡単なプログラムを書いていたんだけど、なんかいいコンソールアプリない?
バージョンは1.9.3
スレチだったらスマソ
111デフォルトの名無しさん:2011/12/05(月) 20:26:26.93
["末尾にスペース入れるか入れないか、どちらがフォーマルですか?"].map{|s| s.strip}.map{|s| s.strip }
112デフォルトの名無しさん:2011/12/05(月) 20:42:32.01
{ |i| i.to_s } も {|i| i.to_s} も {|i| i.to_s } もどれもよく見かけるし
1ソース内で統一とれてればいいのでは。
特にどれが一番といった公式見解もなかったはず。
113デフォルトの名無しさん:2011/12/05(月) 21:02:05.69
わかりました。ありがとうございます。
114デフォルトの名無しさん:2011/12/05(月) 21:59:32.94
>>110
何が聞きたいのかよくわからんが
Windows用テキストエディタなら秀丸とかサクラエディタとかでいいんじゃないか
115デフォルトの名無しさん:2011/12/05(月) 22:03:57.22
プログラムの練習として作るのに手頃なコンソールアプリケーションはないかと聞いているのかもしれない。
116デフォルトの名無しさん:2011/12/05(月) 22:07:40.60
open('mytext', 'r').map{|line| line.chomp!}
と同等の結果を超高速に得られる裏技無いですか
117デフォルトの名無しさん:2011/12/05(月) 22:12:58.22
ファイルディスクリプタ開きっぱなところも同等であってほしいんだろうか。
118デフォルトの名無しさん:2011/12/05(月) 22:37:41.62
初心者なんですけど、勉強を始めるのにいい本はありますか?
今まで勉強したことあるのは、C、C++、Perlです。
119デフォルトの名無しさん:2011/12/05(月) 23:11:37.97
>>110です。
すいません、説明不足でした。

おおむね>>115さんの考えている通りです。
なんかいろいろあったので、どれがいいのかと思いまして。
120デフォルトの名無しさん:2011/12/06(火) 00:07:14.75
$ ruby cat.rb hello.c # hello.cのなかみを表示
#include <stdio.h>
int main(void) {
printf("Hello, world!\n");
}
$ ruby grep.rb void hello.c # hello.cからvoidを含む行を抜きだす
int main(void) {
$

こんなcat.rbとgrep.rbを書きなさい
便利な機能を追加した人には加点します
121デフォルトの名無しさん:2011/12/06(火) 00:13:50.16
cat.rb
system("cat #{ARGV.join(' ')}")

grep.rb
system("grep #{ARGV.join(' ')}")
122デフォルトの名無しさん:2011/12/06(火) 00:44:29.12
>>119
自分で必要なプログラムだけを作れ
貯め込んだ知識の量を計りたいのならそれは学校の勉強でやれ
123デフォルトの名無しさん:2011/12/06(火) 01:51:02.29
[:hoge]とか(:hoge => true)のようなコードがあると思うんですが
このセミコロンが付いてるやつは何なんですか?
とりあえず名称だけ教えてもらえれば自分でググるのでお願いします
124デフォルトの名無しさん:2011/12/06(火) 02:04:32.06
セミコロンじゃなくてコロンね。シンボルという
Symbolクラスが対応する
125デフォルトの名無しさん:2011/12/06(火) 03:21:33.41
Symbolを知らないレベルの人はテンプレの書籍を一冊は読んだ方がいい
126デフォルトの名無しさん:2011/12/06(火) 03:33:22.64
英語版のリファレンス本は出版間もないのに全文無料公開してるようなのもありますが、日本語版では何で無料公開してないんですか?
127デフォルトの名無しさん:2011/12/06(火) 04:25:21.31
>>126
それが真なのなら(具体例思いつかないんだが)、市場規模の違いじゃない?
128デフォルトの名無しさん:2011/12/06(火) 04:40:36.29
昔の電車男のようにブログやコミニティー発の無料公開資料を編纂し直して有料出版するという市場(ビジネスモデル)も小規模ながら既に成功しています
つまり旧式な出版業界に依存した問屋制度(印刷出版業界)やルビー言語のような市場規模や言語技術本需要云々ではなく、本を有料出版してその版権収益を期待するという考え自体がもう成立していないじゃないですか?
129デフォルトの名無しさん:2011/12/06(火) 04:52:16.39
rubyに限った話じゃないし初心者スレで出す話題でもないね
議論したいなら場所を選んだら?
130デフォルトの名無しさん:2011/12/06(火) 05:06:24.08
確かにそうですね
日本のルビー・コミニティーは、なぜかコミニティーの上手く利用して金儲けしようという日本人的発想がところどころにあるようですが、気のせいなのかもしれません
131デフォルトの名無しさん:2011/12/06(火) 05:08:34.16
コミニティーを上手く利用して上手く金儲けしようという
132デフォルトの名無しさん:2011/12/06(火) 08:26:48.09
るびきちのこと悪くいうな!
133デフォルトの名無しさん:2011/12/06(火) 11:38:15.01
コミュニティをうまく利用して金儲けに成功しているのは、オライリー。
コミュニティ・ブラックダウンの成果を隠して利用して金儲けに使おうとして、失敗したのがサン。
134デフォルトの名無しさん:2011/12/06(火) 14:08:28.23
下記のようなコードを実行すると、子プロセスはすぐ kill されるので、
wait は 3 秒待たずにすぐ完了するものと思いましたが、
実際には sleep 3 が実行されて wait が 3 秒待たされてしまいます。
コメントアウトしている sleep 0.1 を入れると kill されて wait はすぐ返ります。

何故そうなるか原因はわかりますでしょうか?

環境やバージョンによって再現したりしなかったりするようなのですが、
ruby 1.9.3p0 (2011-10-30 revision 33570) [i386-freebsd8]
ではそうなります。

また、このコードではダメですが、より複雑なコードでは下記でも同様になりました。
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-freebsd8]

pid = fork {
exec("ruby", "-e", "sleep 3")
}
#sleep 0.1
Process.kill(:TERM, pid)
Process.waitpid(pid)
135デフォルトの名無しさん:2011/12/06(火) 17:49:21.50
>>133
グーグルは自ら行った著作権侵害行為について未だに謝罪せず賠償もしてないですよね。
サン・オラクルのジャバ侵害訴訟はもちろん日本の執筆者全員のみならず出版印刷業界や頒布権権利者に対して。
β版商法で中途半端なサービス提供をよしとするグーグルの金儲けのやり方は、グーグルの無料サービス利用者やコミニティーに認められ、金儲けのビジネスモデルとしても成功しているといえるのでしょうか?
136デフォルトの名無しさん:2011/12/06(火) 17:54:20.20
金儲け!金儲け!

掘れば掘るほどザックザクや!!
137デフォルトの名無しさん:2011/12/06(火) 19:48:52.87
1.9.3のWindows版バイナリがあったんで使ってたんだが

File.foreach(...){...
==>2秒

ite=File.foreach(...)
ite.each{...
==>25秒

バグだろこれ
138デフォルトの名無しさん:2011/12/06(火) 20:10:08.48
ループ系のイテレータは下手にメソッドチェーンなんかしちゃうとすぐに遅くなるから
処理速度を気にしたら負けだ。
139デフォルトの名無しさん:2011/12/06(火) 20:34:14.12
でも1.9.2だとどっちも2秒だぞ
140デフォルトの名無しさん:2011/12/06(火) 20:52:08.93
んじゃバグだろ
報告してやれ
141デフォルトの名無しさん:2011/12/06(火) 21:00:09.49
ruby触るときエロ画像DLツールとしか使ってない
誰かRubyで解ける問題集みたいなの教えてくれないか
このままだと俺のコードがイカくさくなるばかりだよ
142デフォルトの名無しさん:2011/12/06(火) 21:22:13.31
どっかの車輪の再生産して悦になるよりエロ画像DLツールの方が幸せになる人増えて生産的だろ。
そのまま頑張ってア動ブみたいなサイトを作ってくれ。お金も儲かるだろうし。
143デフォルトの名無しさん:2011/12/06(火) 22:25:57.04
>>137
require 'benchmark'
filename = 'C:\usr\local\bin\dict\migemo-dict.orig' #3MBで16万行ほどのテキストファイル
Benchmark.bm do |bm|
bm.report do
i = 0
File.foreach(filename){i += 1}
end
bm.report do
i = 0
ite=File.foreach(filename)
ite.each{i += 1}
end
end

で、
ruby 1.9.3p0 (2011-10-30 revision 33570) [i386-mingw32]
user system total real
0.687000 0.000000 0.687000 ( 0.687500)
0.657000 0.000000 0.657000 ( 0.671875)
おなじなんだが……
144デフォルトの名無しさん:2011/12/06(火) 22:56:17.13
ちなみに、素の1.9.3p0はWindowsで書き込みが非常に遅くなる不具合があります
テキストモード書き込みで改行がLFだけになる不具合もあります

require 'tempfile'
require 'benchmark'
ITS = 100000
Benchmark.bm do |bm|
bm.report do
Tempfile.open('xx'){|f| ITS.times{|i| f.puts i}}
end
end

ruby 1.9.2p290 mingw32で 0.45秒
素のRuby 1.9.3p0 mingw32 で3.52秒
1.9.3p0に修正パッチ当てたので 1.52秒

駄目じゃん1.9.2のスピードに戻って無いじゃん
1.9.2と比べたこと無かったから知らなかったよ……orz
145デフォルトの名無しさん:2011/12/06(火) 23:10:00.51
嘘吐き朝鮮、中国人がやってる報道機関 朝鮮人犯罪があまり報道されない理由
韓国文化放送(MBC) 〒135-0091 東京都港区台場2-4-8 18F
フジテレビジョン 、、 〒137-8088 東京都港区台場2-4-8 

韓国聯合TVNEWS(YTN) 〒105-0000 東京都港区赤坂5-3-6
TBSテレビ     、 、、 .〒107-8006 東京都港区赤坂5-3-6 

大韓毎日   、、、、、、、、、、、、 〒108-0075 東京都港区港南2-3-13 4F
東京新聞(中日新聞社東京本社) 〒108-8010 東京都港区港南2-3-13

京郷新聞  、、、、、、〒100-0004 東京都千代田区大手町1-7-2
産経新聞東京本社  〒100-8077 東京都千代田区大手町1-7-2
(サンケイスポーツ、夕刊フジ、日本工業新聞社)

朝鮮日報   、、、  〒100-0003 東京都千代田区一ツ橋1-1 4F
毎日新聞東京本社 〒100-8051 東京都千代田区一ツ橋1-1-1

韓国日報  、、、、  〒100-0004 東京都千代田区大手町1-7-1 8F
読売新聞東京本社 〒100-8055 東京都千代田区大手町1-7-1

東亜日報   、、、  〒104-0045 東京都中央区築地5-3-2
朝日新聞東京本社 〒104-8011 東京都中央区築地5-3-2(AFP、NYT)

韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C
NHK放送センター、  〒150-8001 東京都渋谷区神南2-2-1
146デフォルトの名無しさん:2011/12/06(火) 23:21:09.02
どうもforeachでバイナリモードを指定してもテキストモードで読まれてるっぽい
File.foreach(filename, {mode:"rb", encoding:"Windows-31J"})ってすればいける。たぶん
読み込んだ改行コード表示させてみたら、上は"\r\n"、下は"\n"になってた。
147デフォルトの名無しさん:2011/12/07(水) 00:15:34.40
>>146
速度を計りたかったんで大きいファイルがいいかなと選んだ
migemo-dict.origがLF改行だった……

CRLF改行のファイルで試すと
ruby 1.9.3p0 mingw32で
IO.foreach(filename,mode:'rb'){|l| p l;break} #改行がCR LF
IO.foreach(filename,mode:'rb').each{|l| p l;break} #改行が LFだけ
と、たしかに違ってる

ruby 1.9.2p290 mingw32だと
どちらもCR LFだった

あと、ruby 1.9.3p0 mingw32で
IO.foreach(filename,binmode:true){|l| p l;break}
ってしたらエラーになった
1.9.2だと通るんだけどな
あいかわらずハッシュオプションはよくわからん
148デフォルトの名無しさん:2011/12/07(水) 02:14:24.41
ソートの仕組みがよくわかりません。
以下の出力結果はどのように比較が行われているのか解説していただけませんか。

[1,2,3,4,5].sort{|x, y|
 puts x.to_s + y.to_s
 x <=> y
}

#=>
13
35
23
43
45
12
149デフォルトの名無しさん:2011/12/07(水) 02:21:26.44
説明不足で語弊があったらすいません。
ソートの本来の使い方はわかるのですが、仕組みがよくわからないから知りたいという意図です。
150デフォルトの名無しさん:2011/12/07(水) 02:29:16.58
puts で書いてるせいでわけがわからないことになってるな

[1,2,3,4,5].sort{|x, y|
p [x, y]
x <=> y
}

[1, 3]
[3, 5]
[2, 3]
[4, 3]
[4, 5]
[1, 2]

クイックソートでよかったはず
151デフォルトの名無しさん:2011/12/07(水) 02:29:50.74
この並び……クイックソート?!
152デフォルトの名無しさん:2011/12/07(水) 02:32:13.75
くっ!……遅れをとったか……
153デフォルトの名無しさん:2011/12/07(水) 08:38:50.12
自分でアルゴリズム実装してみるといいんだけどね。
154デフォルトの名無しさん:2011/12/07(水) 15:22:16.78
>>150-153
ありがとうございます。wikipediaを見て勉強します。
155デフォルトの名無しさん:2011/12/08(木) 07:54:30.69
ENVがEnvではなくENVなのはなぜなんでしょうか。
たまたま実装面でクラスを作るまでもないからなんでしょうか。
それともこういう機能、性質をライブラリは字面がENVでなければならないんでしょうか。

似たような機能を自分でも作ろうと思っていて参考にしたいので教えてください。
156デフォルトの名無しさん:2011/12/08(木) 08:42:34.55
>>155
ハッシュの入った「定数」だからじゃね?まあ一番の理由は「Perl で %ENV だったから」なんだろうけど。
あと環境変数って、クラスには任せにくいよ。出来なくはないけど、作るのも使うのもメンド臭くなる。
環境変数ってユーザが勝手に作ったりしていいものだからな。決め打ちの要素しかないならクラスでもいいんだろうが。
157デフォルトの名無しさん:2011/12/08(木) 11:00:11.69
サーバのセットアップをしているのですが、同じアーキテクチャ(64bit)、
同じyumリポジトリを使っているのに
gemsのインストール先が、
/usr/lib64/ruby/gems

/usr/lib/ruby/gems/
と違ってしまいます。
パッケージは同じなのにです。
gemsのインストール先を明示的にlib64に指定するにはどうすればいいのでしょうか?
158デフォルトの名無しさん:2011/12/08(木) 11:14:43.56
なにこの「こんな奴がサーバのセットアップするなんて嫌だ」編

(複数台の)サーバのセットアップをしているのですが、(サーバ本体は)同じアーキテクチャ(64bit)、
(インストールされるrubyとrubygemsのRPMパッケージは)同じyumリポジトリを使っている(ので同じな)のに
(gem install でインストールされる)gems(パッケージ)のインストール先が、
/usr/lib64/ruby/gems
と(いうインストール先のサーバと)
/usr/lib/ruby/gems/
と(いうインストール先のサーバというように、サーバごとに)違ってしまいます。
(インストールされているrubyとrubygemsのRPM)パッケージは同じなのにです。
(gem install でインストールされる)gemsのインストール先を明示的にlib64に指定するにはどうすればいいのでしょうか?

こう?
超一般論として、デフォルトの gem install のパスはその gem コマンドを起動したのに使われる ruby のパスやアーキテクチャに依存する
同じ ruby だと思ってたが実際は違ったに一票

本来ありえないので原因究明をしてクリーンな状態にしたほうがいい説にまとめて200票くらい入れておくが、
現状の爆弾抱えた不安定な状態でもいいのなら gem install を使用するユーザーの ~/.gemrc に希望のパスを書けば動作はすると思う
159デフォルトの名無しさん:2011/12/08(木) 12:07:33.77
>>155
環境変数は、プロセス内で一つしか存在し得ない特別なオブジェクトだからじゃないかな。
リファレンスマニュアルの定数や特殊変数のリストをじっと眺めてみれば、
自分の作ろうとする機能をどっちにすれば良いか見えてくるかも。
160デフォルトの名無しさん:2011/12/08(木) 13:45:47.86
E
161デフォルトの名無しさん:2011/12/08(木) 13:50:46.54
=> 2.71828182845905
162デフォルトの名無しさん:2011/12/08(木) 18:07:47.17
irb で、 require "<TAB> でライブラリのファイル名を補完してくれないかな?
163デフォルトの名無しさん:2011/12/08(木) 19:19:26.08
WindowsでRubyってほんとイバラの道だわ
せめて組み込みライブラリくらいはまともに使えるようになってほしいよ
164デフォルトの名無しさん:2011/12/08(木) 20:30:39.13
基本的にだいたい動くはずだけど
動作しないのはtkがインストールされていないときのTkとか
Windowsが提供してるAPIがへぼいとか
そんなのくらいしかないはず
165デフォルトの名無しさん:2011/12/08(木) 20:36:45.01
まあ「まともに使える」とはなんぞやという話に
166デフォルトの名無しさん:2011/12/08(木) 20:58:53.55
Windowsだとファイルシステム周りがまともに動かないんだよな
最近だと1.9.3でテキストモードが異常なほど遅いとか
IO.foreachでバイナリモード指定が無視されるとか
FileUtilsで日本語を含むファイル名が扱えないとか
167デフォルトの名無しさん:2011/12/08(木) 21:08:34.61
1.8.7 から 1.9.2 にあげたら net/http でこけるようになったんだけど、
原因がわかる方いらっしゃいませんか??
168デフォルトの名無しさん:2011/12/08(木) 21:20:02.15
マインドシーカー未クリアの俺にはわからない
169デフォルトの名無しさん:2011/12/08(木) 21:27:32.06
「Perlで有名な小飼弾に暴言を吐いたキチガイw OSSコミュニティから物凄いパッシングw」
http://blog.livedoor.jp/dankogai/archives/51733482.html

北畠徹也氏が代表の「テラ・インターナショナル」がPerlを勝手に商標登録

>>この北畠って人は、ツイッターとかでも自殺するって言って話題になったり
よく分からないNPOか何かに募金をしてくれってメールを数万人規模のMLに流したり
それらは実はチョットした技術的ミスだって釈明してたりする人らしいね

Tetsuya_K 北畠徹也
@dankogai の家に電話したら、「小飼弾は死にました」らしい。ざまみろ。ざまみろ。というか、死んだ方が社会にとって幸せ。以上。# どうでもいいが、jcode.plなんて簡単につくれるじゃろ。あんなので調子に乗るアホもどうかしてるぜ。
Tetsuya_K 北畠徹也
I compared my @klout with @dankogai, how does your @klout compare? klout.com/user/dankogai/… @Tetsuya_K に比べたら全く大したことねーな。大口叩く愚か者が。

コメントの一覧

「みんなおもしろいおもしろいいってるけど北畠さん完全にかわいそうな精神病の患者ですよね」
「コメント欄が病的で怖い。人格が分裂してる?」
「本当に何がしたかったんだろう・・・」
「無事取り消されたそうで。本当によかった。」
170デフォルトの名無しさん:2011/12/08(木) 21:46:18.07
>>167
ですよね…すみません
ソースはこんな感じで、何の変哲もないと思うのですが、

Net::HTTP.version_1_2
req = Net::HTTP::Get.new(url)
req.basic_auth(email, password)
response = Net::HTTP.new(server, 80).start {|http| http.request(req) }

ログ見たら

[error] ~~net/http.rb: in 'initialize'
[error] getaddrinfo: Name or Service not known
[error] Socket Error
[error] ~~net/http.rb: in 'open'
[error] ~~net/http.rb: in 'block in connect'

といった感じでエラーが出ていました
1.8.7 のときはきちんと動いていたのですが…
171デフォルトの名無しさん:2011/12/08(木) 21:49:51.91
「ログ見たら」?
172デフォルトの名無しさん:2011/12/08(木) 22:05:54.24
Net::HTTP.version_1_2 は Ruby1.6 において Ruby1.8 風の動作にするためのメソッドであって、
Ruby1.8 と Ruby1.9(と、Ruby2.0)では書く意味がない(net/http のバージョンがそもそも1.2)
おまじないとか馬鹿なことを言ってるからこうなる

server とか書いてるので、ユーザー入力またはテキスト入力の結果が素通しになってて、
エンコーディングの関係で変な値が渡ってしまってホスト名として解釈できないことになってるに一票
173デフォルトの名無しさん:2011/12/08(木) 22:15:28.45
>>171
dayone
なんだろね
レンタルサーバかなにかかな
174デフォルトの名無しさん:2011/12/08(木) 23:12:44.69
175デフォルトの名無しさん:2011/12/09(金) 10:08:57.59
>>171 >>173
すみません
(Apache の)ログ見たら
です

>>172
こちらもすみません
server → host ですね
この部分は実際は決め打ちなので問題ないような気がします

説明不足ばかりで申し訳ありません
176デフォルトの名無しさん:2011/12/09(金) 10:18:07.00
Resolv.getaddress(サーバ名)とかはちゃんと動くの?
177デフォルトの名無しさん:2011/12/09(金) 10:53:27.58
>>176
そ れ で し た !
申し訳ない…ありがとうございます!!
178デフォルトの名無しさん:2011/12/09(金) 11:01:10.81
結局1.9のコンパイル時にリゾルバとのリンクがうまくいってなかったとかそういうことなのかな
179デフォルトの名無しさん:2011/12/09(金) 11:26:31.57
ruby1.9.2について質問させて頂きます
Windows用のrubyプログラムに関して
Dir::globで、全角文字を含むディレクトリ・ファイル名を取得する方法はありますでしょうか?

やりたいことは
・全角文字を含むディレクトリ内のファイル一覧を取得する
・ワイルドカード、全角文字を含むファイルをコピーする

これが実現できれば、Dir::globでなくても構いません

ご教授くださると嬉しく思います
180デフォルトの名無しさん:2011/12/09(金) 11:34:13.01
`dir /b c:\\yourfolder\\*`.split("\n"){|f| puts f}
ド安定
181デフォルトの名無しさん:2011/12/09(金) 12:59:26.56
>>180
ありがとうございます
ただちょっとうまくいかなくて・・・

rubyのウィンドウアプリケーションから外部コマンドを使って実現させる場合
コマンドプロンプトを開かずに処理させる方法か
バッチファイルを実行させる方法がありましたら、ご教授ください

現在試した方法としては

def file_copy(src, dect)
command = "copy \"#{src}\" \"#{dect}\"".encode("Shift_JIS", "UTF-8")
`#{command}`
end
を、繰り返し行うと言うやり方でやっていたのですが
外部コマンドが呼び出される度にコマンドプロンプトが立ち上がって見た目上よろしくなくて・・・

もうひとつ考えたやり方として

def make_command(command, src, dect)
cmd = "#{command} \"#{src}\" \"#{dect}\""
return cmd
end
を繰り返して配列を作り、配列をファイルに1行ずつ出力してバッチファイルを作ったところ

`copy_files.bat`
ではうまくいきませんでした
182デフォルトの名無しさん:2011/12/09(金) 18:19:33.70
irb(main):001:0> Class.method(:object_id).object_id
=> 343197370
irb(main):002:0> Class.method(:object_id).object_id
=> 339922490

method メソッドが返す Method オブジェクトは毎回違うものになるようなのですが、
そういうもんなんでしょうか?
メソッドは (基本的に) 唯一不変なのかなと思ったので何か変な気がしました。
それとも、この確認方法が間違ってますか?
183デフォルトの名無しさん:2011/12/09(金) 18:28:39.94
そういうもんです
Ruby ではメソッドはオブジェクトではありません
method メソッドは、自分が呼ばれたときに対象のメソッド(とレシーバ)の現在の状態を Method オブジェクトで包んで返します

このへん Proc とはちょっと違うですよ
184デフォルトの名無しさん:2011/12/09(金) 18:39:55.72
>>183
ありがとうございます。
eval.c も見てみましたが、確かに言われたような仕組みになっているようでした。
仮想的に Proc のように振る舞うオブジェクトって感じみたいですね。
185デフォルトの名無しさん:2011/12/09(金) 18:45:06.43
UnboundMethodオブジェクトも毎回違うね

p Class.instance_method(:object_id).object_id
186デフォルトの名無しさん:2011/12/09(金) 19:02:21.61
ほんとですね。また eval.c を見てみましたが、概ね同じ仕組みのようですね。
187デフォルトの名無しさん:2011/12/09(金) 21:51:51.50
>>134
気になってて調べてたんだけど関係ありそうなのが
http://mkosaki.blog46.fc2.com/blog-entry-886.html
188デフォルトの名無しさん:2011/12/10(土) 00:21:37.98
>>179
Dir.globの引数で日本語が通らない不具合は1.9.3で修正されたようです

Dir.foreach ではどうですか?
サブフォルダー内まで列挙する場合は自分で巡回しないと駄目ですが
あと、1.9.2だとユニコードファイル名が取れないかもしれませんが

ファイルコピーするならライブラリのFileUtils.copyでいいような気がしますが
タイムスタンプもコピーしようとしてFileUtils.copy(src,dst, preserve:true) すると
File.chmodが日本語ファイル名対応してない不具合にぶち当たり(1.9.3でも未修正)
そしてUTF-8でパスを渡すととエラーが出る(1.9.3でも)
どうもFile.basenameがUTF-8にちゃんと対応してない不具合のよう

Windows+Ruby+日本語ファイル名はイバラ道だなぁ
189デフォルトの名無しさん:2011/12/10(土) 00:41:07.58
「楽しいRuby」分厚いな。
これ、読むのに何日かかるんだろう??
190デフォルトの名無しさん:2011/12/10(土) 01:13:24.18
工作員達の正体(韓流AKBと政治ゲーム)

180 名前:115x125x150x194.ap115.ftth.ucom.ne.jp[] 投稿日:2011/04/29(金) 13:58:50.19 0
このスレ見てハロカスヲタはホント閉鎖的だなって思うわ
これだからハロカスって言わるんだよカス  ハロ=HelloProject(モーニング娘などが所属)     
http://hato.2ch.net/test/read.cgi/morningcoffee/1303996886/180
        
756 名前:115x125x150x194.ap115.ftth.ucom.ne.jp[] 投稿日:2011/04/30(土) 04:27:05.86 0
このスレ見てハロカスヲタはホント閉鎖的だなって思うわ
これだからハロカスって言わるんだよカス
http://hato.2ch.net/test/read.cgi/morningcoffee/1304043385/756 他多数書き込み 
Network Information: [ネットワーク情報]
a. [IPネットワークアドレス] 115.125.150.192/29
f. [組織名] 有限会社 クリップ
AKB48 音響、缶バッヂ等製作 有限会社クリップ(代表=日本名を名乗る在日朝鮮人)

→なぜ在日朝鮮人が、わざわざ2chに出向いて必死になってHelloProjectを叩くか。単に商売敵だから?AKBが「ツリ目のエラ張りにしか」売れてないから?
   
 ヒント:*韓国人のみに見られる風土病の存在
     *HelloProject→日本人アイドル AKB→整形した○○人←韓流()    
     
そして、"朝鮮人だらけの"マスコミが 捏造AKB ブーム. 捏造韓流 ブームを演出し、ごリ押す目的が見えますか?
検索していろいろなサイトを巡ってみて下さい
191デフォルトの名無しさん:2011/12/10(土) 01:33:34.60
ruby 1.9.3p0 (2011-10-30 revision 33570) [i386-mingw32]にて
File.basenameがUTF-8対応してない不具合

#encoding:cp932
filename = '/ほげほげ/日本語/サンプルファイル.txt'
File.basename(filename) # => "サンプルファイル.txt"
File.basename(filename.encode('UTF-8')).encode('cp932') # => "ほげほげ/日本語/サンプルファイル.txt"
192デフォルトの名無しさん:2011/12/10(土) 01:50:14.19
ディレクトリセパレーターを見つけるとき
C言語で文字を一つ進めるのにWin32APIのCharNextを使ってるので
たぶんSJIS決めうちになってしまってる

file.cでCharNext使ってるところは全部修正したほうがいいと思われる
Windows版だけの不具合だけど
193デフォルトの名無しさん:2011/12/10(土) 02:43:42.35
>>164息してる?
194デフォルトの名無しさん:2011/12/10(土) 06:38:52.46
>>193
「Windowsが提供してるAPI」の意味わかってる?
195デフォルトの名無しさん:2011/12/10(土) 07:19:53.52
こういうのの場合、誰が頑張るべきなのかはわりと不透明ではある
「マイクロソフトが標準提供してたものが時代錯誤でへちょいんだよ!これが標準動作なの!」でユーザーが納得すればいいんだが、普通はそうはならない
196デフォルトの名無しさん:2011/12/10(土) 09:12:33.33
そりゃそうだ。
実際 Android の仕様が一部おかしいところあるんだけど
WEBrick なんかはそれ専用のパッチあてられてたりするし。
197デフォルトの名無しさん:2011/12/10(土) 14:37:03.05
>>187
ありがとうございます。
早速記事を見てみましたが、・・・すみません、ちょっとわかりませんでした。

fork 〜 exec の間は非同期シグナルセーフ関数しか使えないので、
fork → signal を pending → そのまま exec に突入して signal の処理はされず、
みたいな流れになってるんでしょうかね?
ソースもちゃんと読めていませんです。あとでもうちょっと調べてみます。
198デフォルトの名無しさん:2011/12/10(土) 14:37:42.40
そもそもは、Python の subprocess を Ruby に移植しようとしていて、
テストケースを書いてたところでこの問題に当たったのですが、
fork 直後いきなり kill するというのはあまり実際的では無いケースな気がするので、
とりあえずは sleep 0.1 してお茶を濁そうかなという気になっています。

というか、 subprocess についていろいろ調べていたら、
その記事からのリンクにもありますが、
1.9 では Kernel.spawn と Open3 (の拡張) というのがあって、
これって subprocess なんかよりずっとカッチョイイことになっているんですね。
subprocess の移植とか全然これムダじゃないですかカッコワルイ。
199デフォルトの名無しさん:2011/12/10(土) 14:58:12.39
日本語でおか
200デフォルトの名無しさん:2011/12/10(土) 15:54:36.44
これは失礼いたしました。ひとことで言いますと、 akr GJ!
201デフォルトの名無しさん:2011/12/10(土) 16:42:22.20
1.9の文字コード変換で悩んでいます

text = "あいうえお".encode("EUC-JP")
p text.encode("UTF-8") #=><Encoding:UTF-8>
p text #=> "あいうえお"

ここまではいいのですが、次のように圧縮→解凍を間にかますと破綻してしまいます

file = Zlib::Deflate.deflate("あいうえお".encode("EUC-JP"))
file2 = Zlib::Inflate.new(Zlib::MAX_WBITS + 32).inflate(file).force_encoding("UTF-8")
p file2.encoding #=><Encoding:UTF-8>
p file2 #=>"\xA4\xA2\xA4\xA4\xA4\xA6\xA4\xA8\xA4\xAA"

なぜ最後のfile2は"あいうえお"で返ってこないのでしょうか?
202201:2011/12/10(土) 16:57:28.05
自己解決しました
file = Zlib::Deflate.deflate("あいうえお".encode("EUC-JP"))
file2 = Zlib::Inflate.new(Zlib::MAX_WBITS + 32).inflate(file).force_encoding("UTF-8")
p file2.encode!("UTF-8" , "EUC-JP") #これが必要でした
p file2 #=>"あいうえお"

203デフォルトの名無しさん:2011/12/10(土) 17:29:20.73

民主は反日で論外
自民は谷垣のようなエセ保守が居る限り衰退
204デフォルトの名無しさん:2011/12/10(土) 17:40:19.04
Ruby始めて1日目です。htmlを出力したいのですがエラーになってしまいます
#!/usr/local/bin/ruby -Ku
require 'cgi'
cgi = CGI.new
print cgi.header("text/html;charset=utf-8")
print << EOF
<html><body>
Hello
</body></html>
EOF

エラーは
syntax error, unexpected '<', expecting $end
<html>
^

どこがおかしいのでしょうか?
205デフォルトの名無しさん:2011/12/10(土) 18:08:55.98
<<とEOFの間
206デフォルトの名無しさん:2011/12/11(日) 05:58:33.16
まあ非常によくあるパターンではある
207デフォルトの名無しさん:2011/12/11(日) 06:11:15.97
>>203
自民については自民+公明セットで語るべきではないですか?
208デフォルトの名無しさん:2011/12/11(日) 12:39:15.19
検索エンジンGoogleで「インターネットテレビ 朝鮮総連 少頭劣一族 マイクロソフト社(又は経済産業省等気になる省やインターネットや原発、地震 波動砲)」を検索。
警察と自衛隊の武器は少頭劣一族が奪い、朝鮮に送ったらしい。知能障害以前の頭が悪い家族達。「工作員」の意味を知らない「工作員」家族。
209デフォルトの名無しさん:2011/12/11(日) 16:51:26.10
ruby 初心者なんだけど、開発環境は何を使ってる?
210デフォルトの名無しさん:2011/12/11(日) 16:54:30.68
以下いつもの罵り合い↓
211デフォルトの名無しさん:2011/12/11(日) 16:58:49.26
開発環境ネタって、どこか誘導先になるようなまとめサイトって無いの?
212デフォルトの名無しさん:2011/12/11(日) 17:06:58.90
ポンコツマシン以外はNetbeans一択だね!
213デフォルトの名無しさん:2011/12/11(日) 17:20:30.15
>>211
テンプレらしきものも特にないので…
・ いつものエディタとターミナルという普段着でお越し下さい
・ エディタ初めてならRubyスクリプトをを着色してくれる(できればオートインデントの)エディタ好きなの選べ
・ いわゆるIDEはRubyの学習に際しては恐ろしくコスパが悪いのでRubyのためだけに新規導入するのはお勧めしない
こんな感じ

IDEだのエディタ環境だのを既に使って整えている人はそれでRubyを書こうとする(そして、たいてい普通に書ける)のでわざわざスレで聞かない
だもんだからこんな変な回答になる
214デフォルトの名無しさん:2011/12/11(日) 17:30:01.70
Pythonあたりだと手持ちのエディタかEclipse+Pydev使っとけで終わるのに
いつもgdgdやってるよねここw
215デフォルトの名無しさん:2011/12/11(日) 18:50:12.59
オーバーライドしているかつその中で super を使っているメソッドに
何か処理を追加したいときって alias できないですよね?
再定義しかないですか?
216デフォルトの名無しさん:2011/12/11(日) 20:25:02.18
ていうか言及が厳密過ぎるんだ
「実際には実環境でスクリプトを実行しないと、どのオブジェクトがどんなものでどんなメソッドが定義されてどんな引数になるかは確定できませんよね?」
という問いにYESと答えてしまう
「つまりRubyにメソッド補完は厳密には無理だということですか? どれもまだ不完全で勧められない?」
という問いにもYESと答えてしまう

>>215
ないっすなー
217デフォルトの名無しさん:2011/12/11(日) 20:33:56.48
>>215
質問の意味がよくわかんない
B#hoge(下の方)ではダメ?

class A
 def hoge ; p :A_hoge ; end
end
class B < A
 def hoge ; super ; p :B_hoge ; end
 alias :orig_hoge :hoge
 def hoge ; orig_hoge ; p :B_hoge_2 ; end
end
B.new.hoge
B.new.orig_hoge
218215:2011/12/11(日) 22:31:58.26
あれ、ほんとだ
ありがとうございます
B#hoge は B#orig_hoge にメソッド名が変わったから、
super の呼出先も A#orig_hoge になるかと思ってました
どういう仕組みなんですかね、これ
219デフォルトの名無しさん:2011/12/12(月) 01:14:08.13
>>218
> B#hoge は B#orig_hoge にメソッド名が変わったから、
というのは正しくない
alias はその時点での"コピー"を作るんだ
なので hoge はやっぱり hoge だし
再定義した hoge は orig_hoge とは関係ない
220デフォルトの名無しさん:2011/12/12(月) 03:22:34.73
eclipseでいいがね
221デフォルトの名無しさん:2011/12/12(月) 13:16:37.15
自作ライブラリを作るのに、推奨されるディレクトリ構成やツールってありますか?
こうやっとけばインストールや野良 gem の作成が簡単かつ適切に行えるみたいな。
以前は青木さんの setup.rb を使うというのがあったと思いますが、
いまどきはどうするものなのでしょうか?
222デフォルトの名無しさん:2011/12/12(月) 13:20:14.28
jeweler を使って lib/ や test/ や gemspec や Rakefile なんかを作ってもらうというのが定番だったんだが
今はどんなもんなんだろう
223デフォルトの名無しさん:2011/12/12(月) 21:03:18.16
bundle gem 作るgemの名前
224デフォルトの名無しさん:2011/12/12(月) 21:06:55.39
bundleは一時期恐ろしく重かったな
225デフォルトの名無しさん:2011/12/13(火) 00:25:24.96
226デフォルトの名無しさん:2011/12/13(火) 12:09:16.21
web用にphpが書ける場合rubyを覚える必要はありますか?
cやjavaを覚えたほうがいいですか?
227デフォルトの名無しさん:2011/12/13(火) 12:16:39.53
>web用にphpが書ける場合
うん、まあ、そういうこと聞くってことはたぶんまだ「書けてない」んだろうとは思うが…
とりあえず見てみるのはRuby以外にしとくのが、PHPとは方向性違いまくるんで健康にいいんじゃね、とは思う

とかいうしょうもないレスで浮上
228デフォルトの名無しさん:2011/12/13(火) 12:31:01.71
そこですか?phpって主にweb用途の言語ですよ
229デフォルトの名無しさん:2011/12/13(火) 12:50:26.36
うんだから他の言語の方がいいよ。森へお帰り。
230デフォルトの名無しさん:2011/12/13(火) 13:14:08.62
rubyはwebじゃまったくの役たたずなんですか?
231デフォルトの名無しさん:2011/12/13(火) 13:44:05.03
rorしかないじゃん有名なの
232デフォルトの名無しさん:2011/12/13(火) 13:51:26.53
webで使えないならrubyはどこで使うのが賢いんですか?
233デフォルトの名無しさん:2011/12/13(火) 13:55:00.26
ruby使ってないんだからそんなこと気にする必要ないじゃん
234デフォルトの名無しさん:2011/12/13(火) 13:55:11.59
実際にPHP,Ruby両方業務で使いこなしてないと答えられない質問ばっかり
235デフォルトの名無しさん:2011/12/13(火) 13:56:51.05
rubyは役に立たないからそのままphp使ったらいいよ。

ちょくちょく来るねこの人.
236デフォルトの名無しさん:2011/12/13(火) 14:00:10.31
変にプライド持ってる厨がいるが気にするな
237デフォルトの名無しさん:2011/12/13(火) 14:02:31.70
rubyに乗り換えたいんですけど来年以降のrubyはもうダメなんですか?
238デフォルトの名無しさん:2011/12/13(火) 14:04:06.92
ダメだから乗り換えなくていいってば。
暇ならよそで遊びなよ。
239226:2011/12/13(火) 14:04:49.32
自分が質問したせいで荒らしがきたようですね
失礼しました
240デフォルトの名無しさん:2011/12/13(火) 14:06:05.25
やっぱりrubyは糞だってことですね?
なんでphp使わないんですか?
Javaじゃダメなんですか?
RoR以外に使い道ないんですか?
RoRって遅いですよね?
CakePHPじゃないとダメなんですか?
あと>>50
241デフォルトの名無しさん:2011/12/13(火) 14:07:45.13
もうテンプレにでも書いとけ
Q. XXX を使ってるんですが Ruby も覚えたほうがいいんでしょうか?
A. 好きにしろ
242デフォルトの名無しさん:2011/12/13(火) 14:08:52.35
荒らしの誘蛾灯になるのも初心者スレの仕事

>>241
実際テンプレには必要だと思う
243デフォルトの名無しさん:2011/12/13(火) 14:13:35.84
自分の店放っといて、ライバル店の前で通行人にライバル店の悪口をブツブツ言ってるのが居たなあ。
244デフォルトの名無しさん:2011/12/13(火) 14:15:53.84
rubyでclassを使うことが滅多にないんですけど、どういうときに使うのが賢い使い方なんでしょうか?
245デフォルトの名無しさん:2011/12/13(火) 14:22:38.89
使わなくて済んでるなら多分何の問題もないです。
いやマジで。
246デフォルトの名無しさん:2011/12/13(火) 14:24:30.82
>>244
類似の構造のオブジェクトが沢山欲しい時。
例えば、都市の交差点をネットワーク上のノードと見なして、トラフィック・シミュレーションする、など。
247デフォルトの名無しさん:2011/12/13(火) 14:32:09.17
namespaceの使い方を教えてください
簡単なのでいいので
248デフォルトの名無しさん:2011/12/13(火) 14:34:23.07
rubyはperl,grepの代わりに使ってる程度なので、動的言語でclassを利用すると賢い使い方だと言うような場面がいまいち湧いてきません。
249デフォルトの名無しさん:2011/12/13(火) 14:36:46.23
perlとgrepが並んちゃうぐらいなんだし別に使い方を変えなくてもいいと思いますよ。
ワンライナーとして使うのだって立派な使い道だし。

所詮道具なんだし他に貴方がオブジェクト指向を遺憾なく発揮する場があるならそれで問題ないのでは。
250デフォルトの名無しさん:2011/12/13(火) 14:40:31.83
いや、実際はgrepじゃなくてbashなど他多数も使いこなせてますが、動的型付け言語のrubyでclassを利用すると賢い使い方だと言うような場面がいまいち湧いてきません。
251デフォルトの名無しさん:2011/12/13(火) 14:43:48.33
だから、別に好きに使ったらいいと思いますよ。
いまいち湧いてこないんだとしたら多分まだ必要になっていないんだと思います。
252デフォルトの名無しさん:2011/12/13(火) 14:51:52.08
実際はrubyでclassを使ってる人はそんなに多くないからいっそのこと仕様からclassと継承は削除してもいいんじゃないの。
動的型付けにclassの概念がなくても継承類似の機能の提供は出来るし、ずいぶんすっきりするからインタプリタも作りやすくなる。
253デフォルトの名無しさん:2011/12/13(火) 14:52:56.65
そうだね。よかったね。
254デフォルトの名無しさん:2011/12/13(火) 14:59:31.39
>>240
phpやJavaの人気にいつまで嫉妬してるんですか?
255デフォルトの名無しさん:2011/12/13(火) 15:04:18.55
ここ絶対コミッタ見てるよね
256デフォルトの名無しさん:2011/12/13(火) 15:14:18.69
class文のことだったら、本人が直接class文を書いてなくてもclass文を使ったライブラリを使ってる人はいっぱいいるから間接的にclass文を使ってる人は多いよね
「クラス」という概念そのもののことなら、本人が意識しているにせよ、していないにせよ、Rubyでクラスの影響を受けないプログラムなんてのがほとんど存在しないので
257デフォルトの名無しさん:2011/12/13(火) 15:18:00.16
みんな優しいな
258デフォルトの名無しさん:2011/12/13(火) 15:19:55.58
259デフォルトの名無しさん:2011/12/13(火) 15:22:11.06
ついでに Perl/Python/Ruby。落ちぶれていく様が見て取れて悲しくなる。
http://www.google.co.jp/trends?q=ruby%2Cpython%2Cperl&ctab=0&geo=all&date=all&sort=1
260デフォルトの名無しさん:2011/12/13(火) 15:24:56.76
ふつうの人はそのグラフからPHPのおちぶれっぷりを読みとるんじゃないか?
261デフォルトの名無しさん:2011/12/13(火) 15:27:22.54
Ruby,Pythonはもともと流行ってないものが今も流行ってないままって感じだけど、
Perl, Java, PHPは流行らなくなってるのが目に見えてアレ
262デフォルトの名無しさん:2011/12/13(火) 15:28:00.88
俺はどっちかっていうと2007年の4〜6月に何があったのかが気になるよ。
263デフォルトの名無しさん:2011/12/13(火) 15:35:11.19
>>258-259
webなどのお気軽開発者にアピールできるだけのキラーアプリやキラーモジュールが今のところないだけじゃないですか。
rubyは言語仕様が大きく(特にリテラルの種類が多すぎる)さらに型システム(標準ライブラリ)と言語仕様が密接なので実際はc++より複雑となってしまい、習得するのに時間が掛かり勉強するコストとrubyを使うとはかどることとがつり合いません。
264デフォルトの名無しさん:2011/12/13(火) 15:38:44.10
LLなのに全然手軽じゃないね
265デフォルトの名無しさん:2011/12/13(火) 15:38:48.93
何度も言うが、お前C++勉強したことないだろ。
あれ黒魔術だぞ?
266デフォルトの名無しさん:2011/12/13(火) 15:39:05.97
whyの失踪でもMark Pilgrimの失踪でもないな
267デフォルトの名無しさん:2011/12/13(火) 15:39:09.87
>>262
何があったんですか?
268デフォルトの名無しさん:2011/12/13(火) 15:40:29.64
そんな面倒な言語のこんな場末のスレで暇つぶししてる時間あるなら
もっとためになる時間の使い方してみてはいかが?
269デフォルトの名無しさん:2011/12/13(火) 15:41:18.54
Railsのブレイクとかか
270デフォルトの名無しさん:2011/12/13(火) 15:42:44.29
>>267
>>258を何度もリロードしてると2007/4〜6辺りで急に数字が跳ね上がる。
271デフォルトの名無しさん:2011/12/13(火) 15:43:23.33
Railsのどこがいいのか教えてくれ
272デフォルトの名無しさん:2011/12/13(火) 15:43:33.05
>>269
ruby だけじゃないんだよね。他も全ておんなじぐらい跳ね上がってる。
ただのバグくさいな
273デフォルトの名無しさん:2011/12/13(火) 15:43:54.88
>>271
全然よくないから今使ってるフレームワークをそのまま使えばいいと思うよ。
274デフォルトの名無しさん:2011/12/13(火) 15:55:10.32
>>265
C++は言語とライブラリが疎結合になるように入念に議論して設計してるので、ちゃんと勉強するとC++が目指しているコンセプトや仕様は頭に結構残りますよ。(ただしVC++はのぞく)
275デフォルトの名無しさん:2011/12/13(火) 15:58:03.10
276デフォルトの名無しさん:2011/12/13(火) 15:59:38.83
仕様書読んだことないんだろうな。
277デフォルトの名無しさん:2011/12/13(火) 16:02:06.26
定期的にdisりたいだけの人が出てくるな。しかも日中に。
278デフォルトの名無しさん:2011/12/13(火) 16:03:26.75
ruby は一週間とかからず普通に使えるようになったけど c++ は使いこなせる自信がまったくない。
279デフォルトの名無しさん:2011/12/13(火) 16:07:31.82
言語仕様が難しいとか言ってる奴は池沼だろ。
C++もRubyも仕様書見れば1時間とかからずコード書けるわ。
280デフォルトの名無しさん:2011/12/13(火) 16:07:38.21
>>277
ライブラリの仕様を策定してるときに良いアイディア(アルゴ)が浮かばずに行き詰まっていて、暇つぶしにつぶやいてるだけです
281デフォルトの名無しさん:2011/12/13(火) 16:10:04.99
>>279
はいはいすごいね。

ID導入されてないスレはほんとどうしようもないな。
282デフォルトの名無しさん:2011/12/13(火) 16:10:42.10
(アルゴ)がなんかじわじわくる
283デフォルトの名無しさん:2011/12/13(火) 16:11:43.66
>>280
そんな嘘ついてる暇あったらハロワに通いなよ。
284デフォルトの名無しさん:2011/12/13(火) 16:12:11.36
朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。
>>866
14時以降に何が起きたんだ

>>866
Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社

これが規制されたからじゃねw

−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ
285デフォルトの名無しさん:2011/12/13(火) 16:12:28.70
じわじわ。じわじわ。
286デフォルトの名無しさん:2011/12/13(火) 16:13:52.73
C++なんてうんこ言語まだ使ってる人いたんだ・・・
287デフォルトの名無しさん:2011/12/13(火) 16:15:01.51
Rubyはうんこ言語以下だとGoogleさんがおっしゃっている。
ttp://www.google.co.jp/trends?q=C%2B%2B%2Cruby
288デフォルトの名無しさん:2011/12/13(火) 16:16:52.77
trend覚えたてでうれしくて仕方がないのはわかった。
289デフォルトの名無しさん:2011/12/13(火) 16:22:43.24
産総研は平研究員だと年収いくらもらえるんですか?
290デフォルトの名無しさん:2011/12/13(火) 16:24:30.00
291デフォルトの名無しさん:2011/12/13(火) 16:46:12.02
>>277
実際disってる訳でもないのにそう思ってる奴が沸くよな
お前みたいに
292デフォルトの名無しさん:2011/12/13(火) 16:54:51.20
本スレでやれ
293デフォルトの名無しさん:2011/12/13(火) 16:56:59.69
最近googleのトレンドを持ちだしてくる奴がネタなのか
本気なのかが分からない。
294デフォルトの名無しさん:2011/12/13(火) 17:02:57.83
291が誰なのか知らないけど>>240とか>>254みたいなのはdisりたいだけだろ
295デフォルトの名無しさん:2011/12/13(火) 17:04:10.92
rubyが役たたずなのは事実だが、disられてると考えるのは被害妄想だろう
296デフォルトの名無しさん:2011/12/13(火) 17:09:47.49
まともな会社はrubyを業務に使おうなんて考えないしね。
297デフォルトの名無しさん:2011/12/13(火) 17:14:58.43
実際問題速度計測したら色々おっかなくて使えなくなる。
書きやすさ>>速度って言い訳する連中いるけど書きやすさなんてモダンな言語ならどれでも大差ないよ。
298デフォルトの名無しさん:2011/12/13(火) 17:17:47.76
日本でも企業スポンサーを多く得られないとrubyは万年冷や飯のままでしょうね
299デフォルトの名無しさん:2011/12/13(火) 17:19:15.45
rubyやってますって人と関数言語やってることをどや顔で披露する人ってなんか似てる。
300デフォルトの名無しさん:2011/12/13(火) 17:21:22.80
RoRのおまけ言語。そのRoRですら最近はメッキが剥がれつつある。
301デフォルトの名無しさん:2011/12/13(火) 17:22:24.38
>>299
産総研の関係者か何かだからじゃないですか?
302デフォルトの名無しさん:2011/12/13(火) 17:27:03.01
Rubyは嫌いじゃないんだけどRubyを使っている人が嫌いって人は多そうだ。
というよりスクリプト言語界隈の人って妙に排他的で敵対心が強い気がします。
303デフォルトの名無しさん:2011/12/13(火) 17:32:22.54
俺は仕事でRubyも使ったことあるけど
Rubyメインでやってる人はPHPに対して敵対心がものすごい強いよ
304デフォルトの名無しさん:2011/12/13(火) 17:34:33.14
トムクリスチャンセンがMLに殴りこんできたらRubyも本物
305デフォルトの名無しさん:2011/12/13(火) 17:36:36.82
被害妄想と同じでそれはたぶん気のせいです
306デフォルトの名無しさん:2011/12/13(火) 17:37:56.12
PHPerはイノセントで他言語に対しても寛容(というかこだわりがあんまりない)のにね。
307デフォルトの名無しさん:2011/12/13(火) 17:40:04.68
Rubyは好きだがRails脳の人とはもう二度と関わり合いになりたくない。
308デフォルトの名無しさん:2011/12/13(火) 17:41:08.03
オブジェクト指向をどや顔で語る奴も信用ならん
rubyにclassなんかいらなかった
309デフォルトの名無しさん:2011/12/13(火) 17:41:40.66
>>307
なんで?
310デフォルトの名無しさん:2011/12/13(火) 17:42:12.11
>>308
"hoge".upcaseとかできなくなりますがよろしいか
311デフォルトの名無しさん:2011/12/13(火) 17:45:48.63
>>310
どうしていつまでもそれにこだわるのか逆に聞きたい
312デフォルトの名無しさん:2011/12/13(火) 17:46:07.51
>>310
upcase("hoge")で何か問題が?そんなのがclassの優位性なの?
313デフォルトの名無しさん:2011/12/13(火) 17:48:51.21
>>311
レシーバが名前空間として機能するから
これに尽きる

さてRubyにclassがいらない理由を述べてもらおう
314デフォルトの名無しさん:2011/12/13(火) 17:50:36.74
privateメソッドをオーバーライド出来る時点でRubyのカプセル化がおまけ機能だってのがよくわかる。
315デフォルトの名無しさん:2011/12/13(火) 17:54:44.93
オブジェクト指向=カプセル化ではないよ
316デフォルトの名無しさん:2011/12/13(火) 18:03:13.37
317デフォルトの名無しさん:2011/12/13(火) 18:08:57.73
privateでオーバーライドできない方法をおしえてください!
318デフォルトの名無しさん:2011/12/13(火) 18:10:15.69
名前空間のため、レシーバと見る、などの目的ならdynamicでいいのでクラスベースは必須要件ではありません。
そうですね、文字列リテラルに(インスタンス)メソッドをバインドできるからって言う理由なら同意しました。

ただしインタプリタ作成でなくruby userとして使う分にはclassは便利なのでclass機構を否定するわけでもありません。
クラスをサポートしても他言語とのアドバンテージにもならないしclass機構自体が動的言語にはあまり必須でないので、
これを削除して仕様をスリムにしていった方がDSL目的のruby実装・他のインタプリタが増えてrubyは一目置かれるようになるでしょう。
rubyは仕様策定機関でも言語実装レベルでもjavascriptと対抗することになりますが、html5の第三極として面白いポジションになるんじゃないでしょうか。
319デフォルトの名無しさん:2011/12/13(火) 18:12:36.01
そこで出てくるjavascriptってサーバーサイドの話だよなもちろん
320デフォルトの名無しさん:2011/12/13(火) 18:13:03.22
>>299
「関数型言語やってます!」って人は他の言語をやっている人が関数型言語にハマってそうなっているけれど、
「Rubyやってます!」はプログラミング自体をRubyで始めたような人がそうなってることが多いから、あまり似ていない。
321デフォルトの名無しさん:2011/12/13(火) 18:15:32.24
>>317はちょっと本気で知りたい
322デフォルトの名無しさん:2011/12/13(火) 18:16:35.21
たぶんないよ
323デフォルトの名無しさん:2011/12/13(火) 18:18:38.32
>>320
自分の信仰に対して一途なところは両者同じでしょうね
324デフォルトの名無しさん:2011/12/13(火) 18:20:30.57
>>323
そんなことを言い出したら「○○やってます!」系の人はみなよく似ている。
325デフォルトの名無しさん:2011/12/13(火) 18:23:23.43
もりあがってまいりました
326デフォルトの名無しさん:2011/12/13(火) 18:26:27.55
静的言語オンリーのお客さんも来てるからなあ
327デフォルトの名無しさん:2011/12/13(火) 18:26:34.28
privateをオーバーライドさせない方法・・・・

オーバーライドは阻止出来なかったとしても Module#private を書き換えて
メソッド名をクラス名+メソッド名のダイジェストみたいなのに書き換え
メソッド呼び出し時はmethod_missingでメソッド名からダイジェストを計算して呼び出しとか・・・
328デフォルトの名無しさん:2011/12/13(火) 18:27:41.73
>>324
なんていうか「エディタの環境設定にこだわる人」みたいな
手段と目的がごっちゃになってる系の感じといえば伝わるだろうか
329デフォルトの名無しさん:2011/12/13(火) 18:30:12.63
>>328
おいやめろ。その釣り餌は危険すぎる
330デフォルトの名無しさん:2011/12/13(火) 18:38:53.51
るびきちさんEmacsの設定だけのメルマガで月512円とかぼったくりじゃないっすか?
331デフォルトの名無しさん:2011/12/13(火) 18:45:51.84
るびきちって誰?
332デフォルトの名無しさん:2011/12/13(火) 19:06:35.85
>>263
え? RubyってC++よりも難しい言語なの?
初めて聞いた。
333デフォルトの名無しさん:2011/12/13(火) 20:34:39.96
>>328
別に「Emacs使ってます!」でもいいんだよね。

Emacsの機能や設計方針が自分によく馴染んで、生産性が上がるからEmacsを使うんじゃなくて
Emacsを使うためにEmacsを使っている感じ。
334デフォルトの名無しさん:2011/12/13(火) 21:16:28.84
まああのエディタは最初の内は目的と手段が逆になりやすいかもね
ある程度やると実際役に立つのだけれど…

そこら辺はRuby自身にも通ずるとこはあるかもね
今やフィルタに計算、テスト書きなど日用品として使ってるけど
最初は覚えることが目的だったし
335デフォルトの名無しさん:2011/12/13(火) 21:42:45.59
ある程度やると更に妄信的に手段が目的になっちゃうと思う
楽しいから別に何の問題もないんだけど
336デフォルトの名無しさん:2011/12/13(火) 23:07:18.88
クラスの仕組みが言語組み込みで、
あとから変更できないってのがちょっとつらかったように思える
後知恵だけど、javascriptみたいにメソッドがHashのキー・値の一種だったなら
scalaのtraitみたいな多重継承の解決方法を簡単に実装することもできただろうに
337デフォルトの名無しさん:2011/12/13(火) 23:49:28.85
何いってんだ
Rubyはオープンクラスだから組み込みクラスだろうが誰かしらん人が作ったクラスだろうが
後からいくらでもメソッド書き換えられるんだが
338デフォルトの名無しさん:2011/12/13(火) 23:51:46.31
さらに言えばmixinしたときとか継承した時のhookメソッドみたいなのもあるし
ベースクラスのそれをいじることも自由だから結構な無茶もやろうと思えば出来る。
RoRとかそういうのやりまくってる。
339デフォルトの名無しさん:2011/12/13(火) 23:53:49.36
pとかputsとかtimeとかが書き換え可能という事?
340デフォルトの名無しさん:2011/12/14(水) 00:15:16.68
>>339
そうだよ。そこで上げたメソッドはドキュメントみればどのクラス/モジュールで実装されてるかわかるから
そこで書き換えれば全部のクラスでちゃんと動作がかわる。
341デフォルトの名無しさん:2011/12/14(水) 00:25:01.48
rubyはリフレクション関係充実してるよね。
クラス定義も実はブロック渡して中ではメソッド読んでるだけだから
自前のattr_readerみたいなディレクティブとか作りたいだけ作れるし。
342デフォルトの名無しさん:2011/12/14(水) 00:29:50.51
汚くやろうと思えば大抵の事はできるから、
むしろできない事を探すほうが難しいぐらいじゃないの
evil-rubyみたいな謎モジュールを使わないと不可能な事はいくつかあるっぽいけど
343デフォルトの名無しさん:2011/12/14(水) 00:48:11.15
まずJavaでかく。
次にC++でかく。
さらにRubyでかく。クラスができる
344デフォルトの名無しさん:2011/12/14(水) 01:47:29.75
総相 川端達夫 帰化人。 在日韓国人法的地位向上議員連盟
法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟
文科相 中川正春 在日韓国人法的地位向上議員連盟
厚労相 小宮山洋子 帰化人。 2度離婚 在日韓国人法的地位向上議員連盟
国家戦略相 古川元久 パチンコ協会政治アドバイザー       
345デフォルトの名無しさん:2011/12/14(水) 11:05:16.12
require 'test/unit'
すると勝手にテストが実行されるので、これをやめさせたく、
Test::Unit::Runner::Worker.class_eval do
@@stop_auto_run = true
end
とすると、
warning: class variable access from toplevel
といわれてしまいます。
どうするのがいいでしょうか。
Test::Unit::Runner::Worker.class_variable_set(:@@stop_auto_run, false)
を試してみましたが、効果ありませんでした。
346デフォルトの名無しさん:2011/12/14(水) 11:37:03.32
Test::Unit::Runner.class_variable_set(:@@stop_auto_run, true)
347デフォルトの名無しさん:2011/12/14(水) 14:39:48.20
1.8.7 のるりまに
> このクラスは Enumerator に置き換えられました。
> Enumerable::Enumerator は互換性のために残されています。
と書いてあるけど、 1.8.7 ではまだそうなってないですよね?
348デフォルトの名無しさん:2011/12/14(水) 14:49:50.75
開発者がRuby1.8は使ってないって言ってるのにまだ1.8使うカスっていんの?
349デフォルトの名無しさん:2011/12/14(水) 15:13:41.68
>>348
そういうお前はどのバージョンを使ってるか言ってみ?
350デフォルトの名無しさん:2011/12/14(水) 15:37:26.01
>>349
1.8を使ってるよw
351デフォルトの名無しさん:2011/12/14(水) 15:51:31.98
だろうなと思ってた
352デフォルトの名無しさん:2011/12/14(水) 17:13:27.64
>>349
もちろん1.9.2
開発者が切り捨ててるバージョン使うなんてバカがやること
353デフォルトの名無しさん:2011/12/14(水) 19:46:08.98
だなw
354デフォルトの名無しさん:2011/12/14(水) 21:15:21.97
>>346
さんくす。たすかった。

あと、Test::Unitのassert_equalで、テキストの差分をdiff -u形式で欲しいんだけど、
どうすりゃいい?
きっと誰かがやってると思って訊いてみる。
355デフォルトの名無しさん:2011/12/14(水) 22:55:22.55
htmlやxmlを操作して<p></p>や<li></li>内の改行を取り去ることは可能でしょうか?

<p>テストですが
どうでしょう</p>

これをそのまま表示すると、テストですが どうでしょう と半角空白が挿入されて表示されてしまいます
htmlでは<p>と<li>、xmlでは<foo>の要素について
<p>テストですがどうでしょう</p>
このように改行を取り去ろうと思います。それ以外の要素としては<pre></pre>があるので、改行を削除するのは
指定したタグの要素に限定したいです

Route 477 - RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize , HikiReload
http://route477.net/d/?date=20070205#p01

これを読んでみましたが、よくわかりませんでした。
最終的には romeve_rn.ruby file.xml と入力して file.xml の内容を↑のとおりに破壊的に書き換えたいのですが
どうすればよいのでしょうか
356デフォルトの名無しさん:2011/12/14(水) 22:56:13.79
書き忘れていました
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]
で、osはwindows7です
357デフォルトの名無しさん:2011/12/14(水) 23:36:09.42
149 名前:金持ち名無しさん、貧乏名無しさん :2011/12/14(水) 23:08:43.14
ここ30年で、
113社だった公益法人が25000社ってどういう事?

150 名前:金持ち名無しさん、貧乏名無しさん :2011/12/14(水) 23:17:28.25
公益法人をwikiで調べると、バブルで急増してからほとんど減ってない
wwwワロタwww
358355:2011/12/15(木) 00:36:57.88
すみません。「HTMLに変更を加える」に手を加えたらできました
359デフォルトの名無しさん:2011/12/15(木) 01:25:53.46
1.9のProc#parametersに相当する機能を1.8でも使いたいんだけど、なんかいいアイデアある?
やりたいことは、メソッドやブロックの仮引数の名前を調べたい。
360デフォルトの名無しさん:2011/12/15(木) 03:34:40.53
instance_evalに、ブロックだけでなく、引数を渡すことはできますか。

block = proc {|x, y| x+y }
obj.instance_eval(&block) # ここで x や y の値を渡したい

よろしくお願いします。
361デフォルトの名無しさん:2011/12/15(木) 03:48:25.27
>>361
じこれす。
instance_evalではなくinstance_execというのを使うとできるそうだ。
block = proc {|x, y| x+y }
obj.instance_exec(123, 456, &block)
362デフォルトの名無しさん:2011/12/15(木) 07:08:49.37
# -*- encoding: utf-8 -*-
require 'kconv'

dir = File::expand_path '~/Pictures'
Dir.entries(dir).map{|f|
puts f.toutf8 unless FileTest.directory? f
}

ファイルリストからディレクトリを除外したいんですが、ディレクトリ名が日本語のものが除外されません。
環境がWindowsなので文字コードの問題かと思ったんですが、f.tosjisなどとしてもできません。
どうすれば上手くいくのでしょうか?
363デフォルトの名無しさん:2011/12/15(木) 09:14:48.63
それじゃ除外してない。
Dir.entries(dir).reject{|f| FileTest.directory? f}.map ...
364デフォルトの名無しさん:2011/12/15(木) 09:23:35.09
返り値の話じゃなくて。
~/Downloads からの相対パスしか返ってきていないのに、
カレントからの相対パスとしてテストしているから全部偽になっている。

File.expand_path(File.join('~/Downloads', f))
365デフォルトの名無しさん:2011/12/15(木) 10:05:23.02
>>363
除外というか、判定のところが上手くいかないということです。説明不足でした。

>>364
その通りでした。判定の部分が相対パスのままになってたのが原因でした。
ありがとうございました。
366デフォルトの名無しさん:2011/12/15(木) 12:01:49.03
文字列が
・アスキーコードのみ
・あるいは日本語を含んでいるかどうか
という判定は、Rubyではどうしますか。
Ruby1.9ではString#ascii_only?というそのものずばりなメソッドがあるそうなので、
1.8での方法をお願いします。
367デフォルトの名無しさん:2011/12/15(木) 12:23:50.05
puts "a i o u e s h i t u".gsub(/([aoeui]) ([aoeui])/,'\1\2')
この結果は
ai ou e s h i t u
となりますが、母音と母音の間の空白をすべて削除する
aioue s h i t u
とするにはどうすればよいでしょうか
368デフォルトの名無しさん:2011/12/15(木) 12:31:34.20
>>367
'a i o u e s h i t u'.gsub(/(?<=[aeiou]) (?=[aeiou])/, '')
369デフォルトの名無しさん:2011/12/15(木) 12:50:02.84
>>366
str =~ /[^!-~\s]/

これじゃダメなの?
370デフォルトの名無しさん:2011/12/15(木) 12:52:48.50
>>366
自己レス。
def ascii?(str)
 str =~ /¥A[¥x00-¥x7f]*¥z/
end
でいいそうです。なるほど。
371デフォルトの名無しさん:2011/12/15(木) 15:17:34.74
>>368
次のようなエラーが出ました。
undefined (?...) sequence: /(?<=[aeiou]) (?=[aeiou])/
372デフォルトの名無しさん:2011/12/15(木) 15:33:41.98
>>371
質問するときはバージョン書かなきゃだめよ。
1.8の正規表現エンジンは戻り読み使えないからだな。

'a i o u e s h i t u'.gsub(/(?=[aeiou] [aeiou])([aeiou]) /, '\1')
=>"aioue s h i t u"

>>367のなにがダメかっていうと、
/[aoeui] [aoeui]/ これだと次のまっちは後ろの[aoeui]の後からになるから。

/(?=re1re2)re1/ で、後にre2が続くre1、というのをre2をマッチ範囲から除外してマッチさせることができるよ。
373デフォルトの名無しさん:2011/12/15(木) 15:44:02.52
後続をマッチに含めないだけなら
/([aeiou]) (?=[aeiou])/でよかったわ。
俺アホスwwwwwwwwwwwwwwwwwwwwww
374デフォルトの名無しさん:2011/12/15(木) 15:50:25.00
そうだね。よかったね。
375デフォルトの名無しさん:2011/12/15(木) 16:26:07.97
>>372-373
ありがとうございます
cygwinのruby最新版でした。1.8ではその機能を使えなかったのですね。
(?=) と (?<=) について勉強してみます
376デフォルトの名無しさん:2011/12/15(木) 17:14:31.75
1.8厨はすぐに1.9に乗り換えろ!
377デフォルトの名無しさん:2011/12/15(木) 18:26:50.15
>>362 は すぐに>>363 >>364だってのはわかったんだけど
質問内容の不備から
「またWindows版Ruby 1.9のファイルシステム日本語対応の不具合か!!」
とか思って色々やってみてたら

Ruby 1.9.3p0 mingw32 で
SJISの日本語入りパスをFile.expand_pathに通すと、なぜかDir.openできなくなる
#coding:cp932
path = 'R:/ディレクトリ'
p [path,path.encoding] # ["R:/ディレクトリ", #<Encoding:Windows-31J>]
p Dir.open(path) # => #<Dir:R:/??????????????????>
expath = File.expand_path path
p [expath,expath.encoding] # ["R:/ディレクトリ", #<Encoding:Windows-31J>]
p path == expath # true
p Dir.open(expath) # => `open': No such file or directory - R:/ディレクトリ (Errno::ENOENT)

Stringの見た目は一緒なんだが、内部データがなんか違ってるのかな
うーん……
378デフォルトの名無しさん:2011/12/15(木) 18:28:05.47
もっと1.9.3を使ってたくさんバグ報告してください!
1.8は使わないで下さい!
379デフォルトの名無しさん:2011/12/15(木) 18:49:18.79
普段windowsバイナリを使うから気にしていなかったけど、
そういえばcygwinでruby1.9.3を配布しないのはなぜなんだろう
380デフォルトの名無しさん:2011/12/15(木) 18:55:01.24
>>375
先読みや後読みがなくても、置換の繰り返しで可能
s = 'a i o u e s h i t u'
true while s.sub!(/([aeiou]) ([aeiou])/, '\\1\\2')
p s # => "aioue s h i t u"

むりやりワンライナーで
p 'a i o u e s h i t u'.tap{|s| true while s.sub!(/([aeiou]) ([aeiou])/, '\\1\\2')}
381デフォルトの名無しさん:2011/12/15(木) 18:57:43.45
11.times do |i|
p path[i], expath[i]
print "\n"
end
"C""C"
":"":"
"/""/"
"フ""\x83"
"ォ""t"
"ル""\x83"
"ダ""H"
nil "\x83"
nil "\x8B"
nil "\x83"
nil "_"

each_byte や each_charは同じだった
382デフォルトの名無しさん:2011/12/15(木) 19:05:10.64
tapって面白いな。
ところで、'a e i o s u o'みたいに、
スペースが2個以上の時はどうやればいいか、判る人居る?
383デフォルトの名無しさん:2011/12/15(木) 19:30:00.74
>>382
それのどこがスペースが2個以上なの?
384デフォルトの名無しさん:2011/12/15(木) 19:40:55.51
nbspとか使わずにそのまま空白を続けて書いちゃったんだろう
385デフォルトの名無しさん:2011/12/15(木) 19:52:52.26
hpricotで
(doc/:code).each do
ほにゃらら
end

(doc/:pre).each do
ほにゃらら
end

のほにゃららの処理が共通なのですが、
(ほにゃらら部分を関数でまとめる以外に)
(doc/:p)と(doc/:li)の行を一緒くたにする
記述方法はあるでしょうか?

>>383
2chでは連続した半角スペースが半角スペース1つに短縮されます
386デフォルトの名無しさん:2011/12/15(木) 20:07:54.99
>>379
mingw版なんてバイナリ配布が1.8.4で止まっちゃったから
自分でビルドするようになっちゃったよ
いまならRubyInstallerがmingw版みたいだけど

>>382
かなり初歩的なことだから
ちょっとは正規表現の勉強したほうがいいよ

/([aiueo]) +([aiueo])/
387デフォルトの名無しさん:2011/12/15(木) 20:28:15.61
>>385
[doc/:code,doc/:pre].flatten.each{|e| ほにゃらら }
388デフォルトの名無しさん:2011/12/15(木) 20:28:34.90
>>496
元気でもねえよwwwついこの前まで、岐阜県の御嵩町に住んでるdagasikasi_krwことヤマグチって名前な在日の 背後関係調査してたからよおwww今度おまいらにも気が向いたら教えるわwww
それと、在日のdagasikasi_krw君ことヤマグチ君w

民主党と社会党と共産党と、九条の会、NPO法人にカトリック系教会、韓国系キリスト教組織に韓国が絡んだ、北朝鮮支援送金ルートの解明の端緒になってくれてありがとうwwwマジ感謝すんよwww
dagasikasi_krwことマサ君さww花王の不買運動関係で反日工作してたでしょwww不買運動止めさせるためにwww


なあ、ヤマグチ君よwところで、こんなの拾ったけど
http://proxy.f1.ymdb.yahoofs.jp/users/7d6d4463/bc/92b8/__hr_/868a.jpg?BCGpnJPBqRNo2bVN
389デフォルトの名無しさん:2011/12/15(木) 20:33:49.49
>>385
(doc/:code + doc/:pre).each{|e| ほにゃらら }
390デフォルトの名無しさん:2011/12/15(木) 20:46:06.96
>>388
誤爆?
391デフォルトの名無しさん:2011/12/15(木) 20:52:12.03
>>390
反応したのはお前だけ
392デフォルトの名無しさん:2011/12/15(木) 20:55:49.88
>>385
doc/'code,pre'
じゃダメ?
393デフォルトの名無しさん:2011/12/15(木) 20:59:50.04
1.9.3は一度入れたけどバグがひどくて使い物にならなかったから1.9.2に戻したよ >>378
まあWindows版ですけどね
1.9.3って開発版だっけ?なんかよく分からなくなった
394デフォルトの名無しさん:2011/12/15(木) 21:01:16.88
>>391
で?
395sage:2011/12/15(木) 21:17:16.71
失礼。上げちゃった
396デフォルトの名無しさん:2011/12/15(木) 22:44:39.62
>>387 >>389 >>392
ありがとうございます
一通りではないのですね
397デフォルトの名無しさん:2011/12/15(木) 22:55:35.15
Rubyの使い道が良く分からない
web系ならnode.jsに完璧に負けてるじゃん
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv
LLなのにwebでこんなベンチマーク出されてたらwebでの利用はパスする
じゃあどこで使えばいいんだって話になるとイントラネットでredmine使うだけしかなくね
398デフォルトの名無しさん:2011/12/15(木) 23:00:06.92
イントラネットでredmineを使うだけしかないと自分で言っときながら
使い道がよく分からないとはこれいかに。
399デフォルトの名無しさん:2011/12/15(木) 23:20:03.80
>>397
node.jsを実際に触った事あるなら、
同期処理が不得手だって事も合わせて知ってると思うんだが。
知りもしないのに持ち上げるとか勘弁してほしいわ。
400デフォルトの名無しさん:2011/12/15(木) 23:33:00.65
いつもの人だ、ほっとけ。
401デフォルトの名無しさん:2011/12/15(木) 23:38:56.74
>>399
その為にasync.jsがあるけどこのライブラリも否定できる根拠があるのかね?

>>400
Rubyを使った事もないいつもの煽り屋さん出張ごくろうさま
402デフォルトの名無しさん:2011/12/15(木) 23:48:35.10
で、何が言いたいんだこいつ
素直に node.js 使えばいいじゃない
403デフォルトの名無しさん:2011/12/15(木) 23:52:54.04
このスレくるとかまってもらえるからな。
初心者スレはいい防波堤になってくれている。
404デフォルトの名無しさん:2011/12/15(木) 23:56:33.80
なんだ、やっぱりいつもの人か。
405デフォルトの名無しさん:2011/12/16(金) 00:12:56.27
ていうか>>402-404のレスってスレと関係なくね
406デフォルトの名無しさん:2011/12/16(金) 00:14:37.83
ほとんどのレスが関係ないね
407デフォルトの名無しさん:2011/12/16(金) 00:16:32.47
どこのスレでも見かけるけど自治してるつもりの人が一番迷惑
408デフォルトの名無しさん:2011/12/16(金) 01:46:39.37
>>401
で、そのパフォーマンスは?w
409デフォルトの名無しさん:2011/12/16(金) 02:43:10.12
>>407
たとえば >>407とか....
410デフォルトの名無しさん:2011/12/16(金) 09:08:12.98
>>397
テキストフィルタとか書かないの?
411デフォルトの名無しさん:2011/12/16(金) 09:15:09.12
perlでいいとかpythonでいいになるんじゃねえの?
412デフォルトの名無しさん:2011/12/16(金) 09:27:48.83
Perlは確かにそうだね
てかRubyのフィルタ的に使える部分はPerl由来だから当然か

でもPythonでフィルタ…は何か違う気がする
そりゃ書けるっちゃ書けるが、少々まどろっこしい感じ
nodeでフィルタ書けばいいじゃないみたいな(実際書けるだろうし)
413デフォルトの名無しさん:2011/12/16(金) 09:33:48.69
Pythonで作るのは「アプリケーション」な気がする
PerlとRubyは言語自体は同じ方向向いてるんだが、実稼動上では第三者ライブラリ格差が大き過ぎる
414デフォルトの名無しさん:2011/12/16(金) 09:46:01.62
第三者ライブラリ格差って今はどっちが上位なの?
やっぱ過去資産の量的にCPAN持ちのPerlのが上なんだろか。
415デフォルトの名無しさん:2011/12/16(金) 10:14:49.32
>>412
awkで書いてあった在庫管理システムを、PerlとRubyで書き直した事があるけど、これって珍しいのかな?
416デフォルトの名無しさん:2011/12/16(金) 10:23:15.49
ふつうじゃないの。
417デフォルトの名無しさん:2011/12/16(金) 10:46:32.53
>>397
ruby vs jsでネイティブ実装の対決なのになんでそんなに差が出るんでしょうね
418デフォルトの名無しさん:2011/12/16(金) 10:49:09.37
自演乙
419デフォルトの名無しさん:2011/12/16(金) 10:59:41.12
その変は設計の思想だと思う
node.jsはwebを視野に作られてるけど
rubyはwebも出来る盆用的な言語として作られてる訳だし
420デフォルトの名無しさん:2011/12/16(金) 12:09:15.80
凡庸的かよ!
421デフォルトの名無しさん:2011/12/16(金) 12:14:16.03
どちらかと言うと、煩悩的。
422デフォルトの名無しさん:2011/12/16(金) 12:17:27.92
Rubyはやっぱ最高や!
423デフォルトの名無しさん:2011/12/16(金) 15:09:46.64
[1].delete 1 # => 1
{1=>2}.delete 1 # => 2
Set.new([1]).delete 1 # => #<Set: {}>

Set#delete も削除した要素を返す方が良いような気がするんですが、どう思います?
424デフォルトの名無しさん:2011/12/16(金) 15:16:24.50
複数の例外を発生させたい時があるんだけど、どうしたらいい?
たとえばこんなの:
errors = []
callbacks.each do |callback|
begin
callback.call(self)
rescue Exception => ex
errors << ex
end
end
raise errors # 複数のコールバックが例外を発生させたので、それら全部をraiseしたい
425デフォルトの名無しさん:2011/12/16(金) 16:15:14.24
>>424
それはできない
というか、例外をジャンプ可能メッセージとして普段遣いすることは、Rubyでもやっぱり好ましくない
「複数の例外発生源を含んでるかもしれません例外」を自力で作ってそれをraiseするしかないな
426デフォルトの名無しさん:2011/12/16(金) 18:48:51.59
Rubyはメモリを食うって聞いたことあるんですけどそれは最新版では改善されてますか?
427デフォルトの名無しさん:2011/12/16(金) 18:55:31.32
何をしてどれぐらいメモリを喰うのか聞きました?
428デフォルトの名無しさん:2011/12/16(金) 18:57:02.44
初心者なのであんまり深く聞いてませんでした
429デフォルトの名無しさん:2011/12/16(金) 19:55:17.37
まあそんなもんだと思う

メモリ消費量が他の言語に比べて本質的に多めなのは間違いないので、
レンタルサーバ上で1秒間に何十回も起動されうるプログラムとか
空き使用可能メモリが5MBのマシンでも平気で動作するプログラムとか
そういうのを作るのにはRubyは向かない
430デフォルトの名無しさん:2011/12/16(金) 20:04:00.62
まあメモリそんな気にしてたらLLなんて使ってられないものばかりだ。
PerlやPHP、Pythonに置き換えたところで何も解決しない。
431デフォルトの名無しさん:2011/12/16(金) 20:08:26.56
メモリ喰うっていっても普通に使う分には
それが問題になることは少ないんじゃないかな。

システム要件で細かくきまってて検討が必要なら
実際にデモとか書いて試したほうがいいよ。Rubyに限らず。
432デフォルトの名無しさん:2011/12/16(金) 20:12:58.70
通常のRuby使用圏内では(普通の範囲が初心者とそれ以外では違うのが難点だが)
「起動して速攻終了させれば別に問題ないよね」
「多重起動を避ければどうということはないよね」
「読み込むデータで圧迫されるメモリのほうが遥かに大きいから誤差レベルだよね」
とかいうので片づけられてしまう局面のほうが多いと思う

これに対して「ふざけるな」と言わなければならない局面には、Rubyはあんま向かね
433デフォルトの名無しさん:2011/12/16(金) 22:00:17.52
パフォーマンスは必要だとしても、
誤差程度のメモリを気にするのは笑っちゃうわな。
気になるなら一からネイティブで書けっての。
434sage:2011/12/16(金) 23:16:18.36
普通に使うって言っても人によって普通は違うからな
テキストフィルタとかの用途ならさほど気にする必要無いだろうが
素の状態で1プロセスあたりのメモリがでかい。
何十プロセスも起動すると...
435デフォルトの名無しさん:2011/12/16(金) 23:22:26.51
> 普通に使うって言っても人によって普通は違うからな

だよな。だから >>426 みたいな漠然とした質問されてもまともに答えようがない。
436デフォルトの名無しさん:2011/12/16(金) 23:22:36.14
どの言語でも得手不得手があるんだから、複数覚えて、トータルの手間を減らしたら?
437デフォルトの名無しさん:2011/12/16(金) 23:26:21.33
というか今時のエンジニアは言われるまでもなく複数の言語使ってると思う。
昔みたいにCOBOLだけで食べてましたなんてのはいないんじゃないのかなぁ。
438デフォルトの名無しさん:2011/12/17(土) 00:10:48.89
二言語目(できれば発想が違う言語)を覚えるまでは、あれだ、
ハンマーを持つと何でも釘に見える。
439デフォルトの名無しさん:2011/12/17(土) 00:59:05.36
>>434
Rubyの競合言語に何十プロセスも起動してぜんぜん平気な言語なんてあるの?
競合言語以外と比較しているなら、使い方が悪いだけ。
スパゲティを食べるのにスプーンを使っていたら、そりゃあいろいろ困るだろう。
440デフォルトの名無しさん:2011/12/17(土) 01:09:51.41
>>439
Erlangとか?
441デフォルトの名無しさん:2011/12/17(土) 01:15:00.05
VMでなくOSのプロセスだお

ふつうはブラウザとか動画開くほうがよっぽどメモリ消費すると思うけど
どんなスクリプト想定してるんだろ
442デフォルトの名無しさん:2011/12/17(土) 01:17:17.19
>>440
あれの「プロセス」は一般的な意味とは少し異なるから
Rubyと用途もあまり被ってないし
443uy:2011/12/17(土) 02:09:08.53
>>439
表現が適当すぎるだろ
皿に乗っかったスパゲティを食べるのに同じ程度の大きさの皿ですくって少しずつ食べるというほうが近い
444デフォルトの名無しさん:2011/12/17(土) 03:43:57.44
バージョン1.8.3を使っています。

module AAA
BB = <数,(\d)>i
end
などのようにしておいて、別の場所で
@text =~ AAA::BB ? $1.to_i : 0
として@text内の <数,n> の数値nを読み取ることはできましたが、
(\d) to_i などを書き換えて <数,[1,1]> のように数値ではなく配列を読み取らせることはできますか?
445デフォルトの名無しさん:2011/12/17(土) 03:44:38.20
バージョン1.8.3を使っています。

module AAA
BB = <数,(\d)>i
end
などのようにしておいて、別の場所で
@text =~ AAA::BB ? $1.to_i : 0
として@text内の <数,n> の数値nを読み取ることはできましたが、
(\d) to_i などを書き換えて <数,[1,1]> のように数値ではなく配列を読み取らせることはできますか?
446デフォルトの名無しさん:2011/12/17(土) 03:49:30.12
バージョン1.8.3を使っています。

module AAA
BB = <数,(\d)>i
end
などのようにしておいて、別の場所で
@text =~ AAA::BB ? $1.to_i : 0
として@text内の <数,n> の数値nを読み取ることはできましたが、
(\d) to_i などを書き換えて <数,[1,1]> のように数値ではなく配列を読み取らせることはできますか?
447デフォルトの名無しさん:2011/12/17(土) 03:50:32.54
バージョン1.8.3を使っています。

module AAA
BB = <数,(\d)>i
end
などのようにしておいて、別の場所で
@text =~ AAA::BB ? $1.to_i : 0
として@text内の <数,n> の数値nを読み取ることはできましたが、
(\d) to_i などを書き換えて <数,[1,1]> のように数値ではなく配列を読み取らせることはできますか?
448デフォルトの名無しさん:2011/12/17(土) 08:05:34.37
バージョン1.8.3を使っています。

module AAA
BB = <数,(\d)>i
end
などのようにしておいて、別の場所で
@text =~ AAA::BB ? $1.to_i : 0
として@text内の <数,n> の数値nを読み取ることはできましたが、
(\d) to_i などを書き換えて <数,[1,1]> のように数値ではなく配列を読み取らせることはできますか?
449デフォルトの名無しさん:2011/12/17(土) 08:34:16.33
@text[/<数,\[([\d\,]+)\]>/i,1].split(',').map{|e| e.to_i }
450デフォルトの名無しさん:2011/12/17(土) 12:27:50.12

あ-35-9
平成21年度民主党第5区総支部(手塚仁雄議員)収支報告書(行番号1151、1204)
報告書73ページ目に、平成21年8月18日 「中山 諭」 250万円ってあるけど、誰だ?wwこいつはww

野田の側近の、手塚首相補佐官殿がお金もらってた中山諭って、
不動産販売会社 ダイナシティの当時社長で、覚せい剤取締法違反で
現行犯逮捕されてる奴だろ?w (共同通信) 2005 年- 6 月29 日

そういえば、レンホーちゃんも仲良しらしいじゃんw
それと、手塚っちがレンホーと中山さんと飲み会したって暴露ってるぞ?www
ヤクザとずっぶっずぶだなあwミンスはww
451デフォルトの名無しさん:2011/12/19(月) 13:31:41.90
「はじめてのRuby」ってなかなかいい本だよ。
452デフォルトの名無しさん:2011/12/21(水) 15:20:11.05
こうゆう桁数が膨大な問題はrubyが得意って聞いたんでお願いします

100万種類のトレーディングカードがあり、15枚1セット525円で販売されている。
全ての種類をコンプリートするまで買い続けるとき、かかる費用の期待値はいくらになるか。
ただし、1セットには全て重複なしのバラバラのカードがランダムに入っているものとする
453デフォルトの名無しさん:2011/12/21(水) 15:22:18.57
2%
454デフォルトの名無しさん:2011/12/21(水) 15:38:20.33
>>452
最終的な計算はRubyにまかせてもいいけど、
場合分けが有限じゃないから自分で計算式考えなきゃだめだよん。

計算式を考えるところはこのスレの対象外。
455デフォルトの名無しさん:2011/12/21(水) 15:48:36.13
宿題スレみたいなとこに書きこむと誰か計算式教えてくれるかもね。
456デフォルトの名無しさん:2011/12/21(水) 23:53:10.37
WindowsでRuby使う場合ってcygwinで利用するのが一般的でしょうか?

あと企業サイトでRubyを使って構築する場合場合は
RubyGemsで必要なものをインストールして使うものですか?
もしくはgithubなどからソースコードを取ってきて個別にインストールして使うものですか?
457デフォルトの名無しさん:2011/12/22(木) 00:13:18.47
github と rubygem の関連性がよくわからんのだけど
github にしかなけりゃ github から取ってくるし
rubygem にあってそれで足りるなら rubygem から取ってくるわ

あと ruby on cygwin は今はマイナーだと思う。公式でバイナリも配布してないし。
458デフォルトの名無しさん:2011/12/22(木) 00:32:01.84
Windows Server + cygwin + ruby で企業サイト構築とな?
459デフォルトの名無しさん:2011/12/22(木) 00:55:20.77
cygwin環境ありきなら……個人でも少数派だろうな
その1人ではあるけど
460デフォルトの名無しさん:2011/12/22(木) 01:25:16.07
>>456
windows 7 だけです。
cygwinなし
461デフォルトの名無しさん:2011/12/22(木) 01:41:31.99
>>452
クーポンコレクター問題という有名な問題だ
全n種類集めるのに必要な枚数の期待値はn*ln(n)で近似できから
((n*ln(n))/15)*525でおおよその購入金額は計算できる
正確な値が知りたいならググって自分でゴリゴリ計算してくれ
Rationalクラスが組み込みであるから簡単に計算できるはずだ
462デフォルトの名無しさん:2011/12/22(木) 11:02:36.79
redmineをダウンロードしてきたのですが
redmineのソースに#!C:\ruby1.8.7\bin\rubyを入れて
これをapacheのcgi-binに入れたのですが動きません
apacheでcgi自体は動作確認済みで動くようになってます
redmineはapacheで動かせないのですか?
463デフォルトの名無しさん:2011/12/22(木) 11:36:57.85
>>462
まずはApacheのエラーログ出力を見るべきだよん
464デフォルトの名無しさん:2011/12/22(木) 11:39:34.87
馬鹿には無理
465デフォルトの名無しさん:2011/12/22(木) 11:46:40.78
464先生は天才らしいので皆さん何でも質問してください
天才はすぐ答えがわかりますよ^^
466デフォルトの名無しさん:2011/12/22(木) 12:34:45.38
>>462
RailsはRailsスレへ
467デフォルトの名無しさん:2011/12/22(木) 14:26:42.19
>>465
それはちょっと早計だな。

自己紹介かもしれんじゃないか。
468デフォルトの名無しさん:2011/12/22(木) 18:01:51.38
ファイル名を foo_bar_baz.rbにするかfoo-bar-baz.rbにするかfoobarbaz.rbにするか、で迷ってるんだけど、
これってなんか指針とかあったような気がする。
だれかおしえて。
469デフォルトの名無しさん:2011/12/22(木) 18:11:11.23
なにかそのスクリプトの中核となるクラスがあるならクラス名をダウンケースにしたものが標準的ではある。
470デフォルトの名無しさん:2011/12/22(木) 18:15:49.17
どれもダメ
使い捨てのスクリプトならそれでもかまいませんが
そうでないならもっと意味のある語を使いましょう。
471デフォルトの名無しさん:2011/12/22(木) 18:23:45.38
foo-bar-bazはうっかり-bar-baz.rbを作ってしまったときに
シェルが-bオプションと勘違いするかもしれないから避けたほうがいいかも

>>470
http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E6%A7%8B%E6%96%87%E5%A4%89%E6%95%B0
472デフォルトの名無しさん:2011/12/22(木) 18:32:41.85
>>470
こういうネタなんだかマジレスなんだか判断に苦しむレスが一番困る
473デフォルトの名無しさん:2011/12/22(木) 19:13:20.88
ネタが分かってもらえずマジレスされたこっちもつらい
474デフォルトの名無しさん:2011/12/22(木) 19:51:42.25
>>468ですが、
Railsが
・ファイル名はfoo_bar_baz.rb (例: active_support.rb)
・パッケージ名はfoobarbaz (例: activesupport-x.x.x.gem)
だったので、そうすることにしました。
475デフォルトの名無しさん:2011/12/22(木) 20:09:26.79
activesupport のオートロードの規則に
SomeClass を使う時は some_class.rb を見に行くってのがあるから
camel case の区切りのところにアンダーバーを入れるにしておくのが無難。
476デフォルトの名無しさん:2011/12/23(金) 01:09:19.56
震災前

     /::::::::::::::::::::::::::::::;;::ノ ヽ;::\
    /::::::::;;;;;;;;;,,,;;...-‐''"~    ヽ:;::l
     |:::::::::::|    岡田 異音    |ミ|
     |:::::::/     ,,,  ヽ,、   '|ミ|  
     '|:::::::l    '''""   ゙゙゙゙`   |ミ|
       |:::::|.  ,,r ‐、   ,, - 、  |/
     ,/⌒|  ノ ・ _), (. ・ `つ|
     | (   "''''"    |"'''''"  | 
      ヽ,,.        ヽ    |
       |       ^-^_,, -、   |   
         |    _,, --‐''~    ) |  マニフェストもう守れない。どうしよう・・・・ 
         'ヽ  (   ,r''''''‐-‐′ / 


震災後

     |:::::::::/            |ミ|
     |::::::::|   ,,,,,    ,,,,,   |ミ|
     |彡|.  '''"""''   ''"""'' |/
     /⌒|  -=・=‐,   =・=-  |
     | (    "''''"   | "''''"  |  
     .ヽ,,         ヽ    .|  キリッ
        |       ^-^    |
   .     |     ‐-===-   |   大震災が起こったのだからマニフェストの破綻も致し方ありません
         ,\.    "'''''''"   / 
朝鮮民主党
    解党
477デフォルトの名無しさん:2011/12/23(金) 10:25:35.52
スレを無関係なレスを投下する貴様こそ今すぐハラかっさばいて
死ね >>476 死ね >>476 死ね >>476 死ね >>476
478デフォルトの名無しさん:2011/12/23(金) 10:34:54.71
今削除依頼まとめてるからまっててね
>>477も含めて
479デフォルトの名無しさん:2011/12/23(金) 13:49:13.61
items = request_path.split(/¥//)
path = nil
found = false
while (item = items.shift)
 path ? (path << "/" << item) : (path = item)
 if File.file?("#{path}/index.html")
  found = true
  break
 end
end
if found
 puts "found: path=#{path}"
else
 puts "not found"
end

これをもっとかっこよく書く方法を教えて下さい。
できればfoundというフラグをなくす方向で。
480デフォルトの名無しさん:2011/12/23(金) 13:53:56.46
動いてるんだからそれで十分じゃね?
481デフォルトの名無しさん:2011/12/23(金) 15:04:29.73
>>479
前半部分をpathかnilを返すメソッドとして括ってしまえばいいんじゃね?
482デフォルトの名無しさん:2011/12/23(金) 15:05:18.15
["a", "b", "c", "d"]
から
["a", "a/b", "a/b/c", "a/b/c/d"]
という配列を作ってfindする
483デフォルトの名無しさん:2011/12/23(金) 15:07:17.37
>>482
頭いいなぁ・・
484デフォルトの名無しさん:2011/12/23(金) 15:10:11.92
injectを使ったドヤ顔バージョン

result = request_path.split("/").inject([]) {|paths, item|
paths.push([paths.last, item].join("/"))
}.detect { |path|
File.exist? File.expand_path("index.html", path)
}

if result
puts "found: path=#{path}"
else
puts "not found"
end
485デフォルトの名無しさん:2011/12/23(金) 15:15:52.63
>>484
実行するとネームエラーになると思われるところもドヤ顔バージョンにふさわしいな。
486デフォルトの名無しさん:2011/12/23(金) 15:26:08.16
injectワロス
487デフォルトの名無しさん:2011/12/23(金) 15:52:25.41
eachあれば生きていけるし
488デフォルトの名無しさん:2011/12/23(金) 18:05:12.80
体重、身長からBMIを求めてBMIから肥満度をa,b,c,dに分類した後、
・group_byで肥満度毎に分割
・injectで体重、身長などを合計した後肥満度毎に分割された人数で平均をだす
プログラムを作りたいんですが、group_byで分けた後どの様にしてそれぞれの平均を出したらよいのでしょうか?
489デフォルトの名無しさん:2011/12/23(金) 18:37:07.38
inje...
490デフォルトの名無しさん:2011/12/23(金) 18:39:47.32
WindowsにRubyをバージョン違いでzipからフォルダにおいたんですけど
gemで何かインストールしたらレジストリに書き込みとかされますか?
あとgemで入れたものって他のバージョンからも使えるのですか?新たにgemでインストールしないとダメなものですか?
491デフォルトの名無しさん:2011/12/23(金) 23:32:58.67
>>488
group_byで出てくるハッシュに対してcollectすればいいんでないの
492デフォルトの名無しさん:2011/12/24(土) 01:22:05.03
>>490
AというバージョンでインストールされたgemがBというバージョンでも動くかどうかはまったく保障できない
動かなかったとしても、流用のせいで動作しないということを見わけるのはかなり難しいと思う
レジストリは通常は使用しないが、絶対に使用しないとは言い切れない
あと、複数のバージョンのRubyをシステムにインストールするのはあんまりお勧めできない
493デフォルトの名無しさん:2011/12/24(土) 10:28:28.88

 東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
 もろに北朝鮮と繋がっているテレビ局が1つ  
宮城県庁を訪問する谷垣禎一(自民党)と松本龍(民主党)
http://www.youtube.com/watch?v=5uF_aN-0fbQ

自民党と民主党の違いw
494デフォルトの名無しさん:2011/12/24(土) 12:28:35.51
>>492
Rubyって不便ですね
495デフォルトの名無しさん:2011/12/24(土) 13:05:15.26
なんだいつもの奴か
Rubyは不便だから別の言語を使えばいいよ
496デフォルトの名無しさん:2011/12/24(土) 13:55:22.78
Arrayクラスにfirstとかlastっていうメソッドがありますが、なんでそんなメソッドがあるのでしょうか。
そんなの使わなくてもarray[0]やarray[-1]ですみますよね。
わざわざfirstやlastがある理由を教えて下さい。
497デフォルトの名無しさん:2011/12/24(土) 14:12:17.33
配列の先頭と末尾にアクセスすることはよくあるので
それに特化したメソッドを設けても別におかしくはないと思われ
あとはary.last(2)はary[-2..-1]より書きやすいことぐらいか
498デフォルトの名無しさん:2011/12/24(土) 14:39:19.89
>>496
キューやスタックとして使っている場合、インデックスによるアクセスはやりたくない。
499デフォルトの名無しさん:2011/12/24(土) 14:50:40.20
いちおう、読み方以上の意味はないとは言える
Array#[] での書き方よりも文字数長いし

「「の先頭」「の最後」って書けたほうがわかりやすいよなジョージ」
「そうだねその通りさマイクHAHAHA」
とかいうような考えもないわけではない
出自としては、配列をキューやスタックとみなすメソッド Array#pop や Array#shift なんかと同じ方面
500デフォルトの名無しさん:2011/12/24(土) 16:27:11.89
firstは0番目ではなく1番目を返すべき
501デフォルトの名無しさん:2011/12/24(土) 17:30:50.34
>>500はブリテン
502デフォルトの名無しさん:2011/12/24(土) 17:34:48.21
コード読んでる時に添字に負の数が入ってるの見るとなぜか緊張がはしる
503デフォルトの名無しさん:2011/12/24(土) 18:18:12.94
一番目の添え字は0
504デフォルトの名無しさん:2011/12/24(土) 20:58:49.64
>>501
地上1階がground floorとかドヤ顔が目に見えるようだ
505デフォルトの名無しさん:2011/12/24(土) 21:10:04.10
gem install sqlite3 を実行すると

ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.

D:/Ruby/bin/ruby.exe extconf.rb
checking for sqlite3.h... *** 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.

というエラーが出るのですが、sqlite3.hというファイルが足りないということでしょうか。
またその場合、sqlite3.hはどこに配置すると良いのでしょうか。
環境はwin7の64bitです。
506デフォルトの名無しさん:2011/12/24(土) 21:33:28.48
64bit Windows の sqlite3-ruby バイナリは存在しないから、コンパイルしようとしてエラーになるのか
sqlite3.dll を SysWOW64 に入れてからだとどうだろう
507デフォルトの名無しさん:2011/12/24(土) 23:52:48.67
>>506
ありがとうございます。その方法では不可能でしたが
rubyをクリーンインストールすることですんなりとインストールでき、自己解決しました。
508デフォルトの名無しさん:2011/12/25(日) 01:57:01.02
変数の中に変数を入れることは可能ですか?

例えば
i=1
diary_1=Hash.new
の時に

puts diary_1
の1の部分にiを使いたいのですが可能でしょうか?
509デフォルトの名無しさん:2011/12/25(日) 02:03:32.88
よくわからんが
diary_i で dialy_1 を参照したいってことかね

puts eval "diary_#{i}"
510デフォルトの名無しさん:2011/12/25(日) 02:09:16.43
>>509
ありがとうございます!できました!!
511デフォルトの名無しさん:2011/12/25(日) 02:24:01.46
最近1.9系を使い始めたのですがgem関係の「セグメンテーション違反」エラーが頻出してくじけそうorz
512デフォルトの名無しさん:2011/12/25(日) 11:28:40.27
総相 川端達夫 帰化人。 在日韓国人法的地位向上議員連盟
法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟
文科相 中川正春 在日韓国人法的地位向上議員連盟
厚労相 小宮山洋子 帰化人。 在日韓国人法的地位向上議員連盟 自身の選挙区の太平建設と談合
国家戦略相 古川元久 パチンコ協会政治アドバイザー 

韓国人から賄賂を貰っている野田
韓国人の集いに参加している野田
野田は日本人じゃないだろ
513デフォルトの名無しさん:2011/12/25(日) 14:17:16.99
__FILE__ って、必ず絶対パスでしょうか。相対パスになることはありますか。

>>511
もうちょっと詳しく状況を書いた方がいいんじゃないでしょうか。
514デフォルトの名無しさん:2011/12/25(日) 15:04:54.92
>>513
ファイルの呼ばれ方による。

http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fvariables.html
>フルパスとは限らないため、フルパスが必要な場合は File.expand_path(__FILE__) とする必要があります。
515511:2011/12/25(日) 19:06:54.92
>>513

同じような状況に陥ってる人の例を挙げるとこんな感じです
http://d.hatena.ne.jp/pirosikick/20101021
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/42502

linuxでRuby1.9.2をインストールすると、最初の頃は問題無く動いているんです
しばらくすると常時稼働しているはずのrubyスクリプトが落ちているので調べてみると、
gem関係が全く動かなくてセグメンテーション違反とやらでニッチもサッチもいかなくなります
gem -vすらもダメです 上記URLのようなエラーが出てしまいます
516デフォルトの名無しさん:2011/12/25(日) 21:30:54.81
rubyのソースコードはCとC++どっちで書かれているのでしょうか?
517デフォルトの名無しさん:2011/12/25(日) 21:31:56.58
Cですよ。
518デフォルトの名無しさん:2011/12/25(日) 22:08:30.56
了解しました
519デフォルトの名無しさん:2011/12/26(月) 00:44:48.74
>>515
1.9.2じゃなくて、1.9.3だとどうなる?
520デフォルトの名無しさん:2011/12/26(月) 02:35:29.43
初心者はmailread.rbを読むと練習になるとあったので読んでみたいのですが、
そもそもこのファイルはどこにあってどうやって見たらよいのでしょうか?
521デフォルトの名無しさん:2011/12/26(月) 07:35:41.30
わかりません!
522デフォルトの名無しさん:2011/12/26(月) 07:41:11.35
>>515 prelink 絡みかなぁ?
523デフォルトの名無しさん:2011/12/26(月) 09:01:06.70
>>520
puts $:
すると表示されるディレクトリのどれかにある
自分の好きなテキスト閲覧できるアプリで嫁
524デフォルトの名無しさん:2011/12/26(月) 11:21:43.92
>>523
ありがとうございます!
一つずつ探しても発見できなかったのですが、そもそも無いこととかあったりするんですか?
525デフォルトの名無しさん:2011/12/26(月) 11:26:26.25
WindowsでRubyからマウスを絶対座標x100:y100に移動させるっていう処理は実現できますか?
526デフォルトの名無しさん:2011/12/26(月) 11:39:17.79
>>524
1.9では標準で添付されなくなったらしいよ。
527デフォルトの名無しさん:2011/12/26(月) 11:40:44.57
>>525
出来る。完全にruby特有の問題じゃなくWin32APIの勉強になるけど。
ここらへんの記事でも読んでみるといいよ。
http://nijzero.dw.land.to/document/labo/ruby.html
528デフォルトの名無しさん:2011/12/26(月) 13:56:16.74
>>514
さんくす
529デフォルトの名無しさん:2011/12/26(月) 17:45:39.59
テストってあるじゃないですか
自分はテストって何をするのかよくわかってないのですが
web用途のテストについてどの板のどのスレをチェックしたら良いでしょうか?
530デフォルトの名無しさん:2011/12/26(月) 19:01:08.38
スレ見るよりテストの本買ったほうがいいんじゃない?
531デフォルトの名無しさん:2011/12/26(月) 19:05:23.95
532511:2011/12/27(火) 06:10:40.25
>>519
今のところ1.9.3だと問題無く動いています
1.9.2はp180,p290ともに>>515で挙げたエラーが出ました
ちなみにgemはデフォルトの1.3.7からgem update --systemで1.8.12に上げていました
533デフォルトの名無しさん:2011/12/27(火) 20:06:48.04
p Object,new #=> #<Object:0x29ef640>
このコロン以降はなんでしょうか?この部分を個別に取得することは可能ですか?
534デフォルトの名無しさん:2011/12/27(火) 20:35:53.87
平松邦夫/民主党
大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派

VS

橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
 様子見:公明
535デフォルトの名無しさん:2011/12/27(火) 20:36:32.06
Object#object_id で取れる

foo = Object.new
p foo.object_id

整数値だから、その表示みたいに16進にしたかったら .to_s(16) とか追加して。
536デフォルトの名無しさん:2011/12/27(火) 21:00:08.76
申請書クラスを作りたいときクラス名は何にすりゃいい?
537デフォルトの名無しさん:2011/12/27(火) 21:12:26.22
>>536
クラス名・変数名に迷ったら書き込むスレ。Part20
http://toro.2ch.net/test/read.cgi/tech/1311942721/
538デフォルトの名無しさん:2011/12/27(火) 22:44:26.90
rubyでコード書くアルバイトを探したいのですがこういうのってどこの求人サイトを見ると良いでしょうか?
539デフォルトの名無しさん:2011/12/27(火) 23:04:57.16
twitterでruby書きてえ書きてえようって訴えてれば拾ってもらえるんじゃないの。
540533:2011/12/28(水) 00:33:20.43
>>535
o = Object.new
p o #=> #<Object:0x29ef7e4>
p o.object_id #=> 21986290
p o.object_id.to_s(16) #=> "14f7bf2"

まるで一致しないw
これは何を間違えてますか?
541デフォルトの名無しさん:2011/12/28(水) 00:37:28.25
・ そこそこの頻度でプログラミングなブログを更新するか、ついったーでコンピュータや仕事に関して有意義な話をする
・ githubで自分のコードを公開する
  (ユニットテストとreadmeと意味のあるコミットログは人となりならぬ「プログラミングとなり」を知るのに必須なので必ず書くこと)
・ ○○県○○市のへんに住んでます、程度の住所はネットで公開しておく(それ以上の細かい情報はバカだと思われる可能性が大)
・ 近所にLLやネットプログラミング関連の勉強会とか集まりがあったらブログ名やついったアカウントを出しておく

ということをしてれば、もしかしたらなんかあるかも
Rubyの場合はこれくらいやらないとどうにもならないということでもあるけれど…

Rubyっぽくないことに定評のあるRailsならまたちょっと別で、これは根気よく探せば客先派遣や契約社員のようなものは稀にある
学生でもできるようなバイトの仕事はほぼ無い
542デフォルトの名無しさん:2011/12/28(水) 01:21:49.69
>>540

単純にそのままではなかったりします。

Fixnum以外は、左1ビットシフト(2倍)してください。
Fixnumは、さらに最下位ビットを立てます。

(21986290<<1).to_s(16) #=> "29ef7e4"

4バイトアライメントなアーキテクチャでは、ポインタは最下位の2ビットが
1にならないことを利用して、ポインタと整数を同じ領域にマッピングする
テクニック。名前は忘れた。

543デフォルトの名無しさん:2011/12/28(水) 01:24:25.76
>>540
俺もずっとobject_idだと思ってたんだけど違うんだ

o = Object.new
puts o.inspect #=> #<Object:0x28322594>
puts (o.object_id * 2).to_s(16) #=> 28322594

なんでこうなってんだろ
544デフォルトの名無しさん:2011/12/28(水) 01:30:50.87
RHG読むと判る
545デフォルトの名無しさん:2011/12/28(水) 01:32:23.82
>>543
4バイトアライメントなアーキテクチャでは、ポインタは最下位の2ビットが
1にならないことを利用して、ポインタと整数を同じ領域にマッピングする
テクニック。
546デフォルトの名無しさん:2011/12/28(水) 01:33:28.85
>>543
おまえの目は節穴か
547デフォルトの名無しさん:2011/12/28(水) 01:48:46.89
false.object_id
#=> 0 == 0(2)
0.object_id
#=> 1 == 1(2) == 0<<1 | 1
true.object_id
#=> 2 == 10(2)
1.object_id
#=> 3 == 11(2) == 1<<1 | 1
nil.object_id
#=> 4 == 100(2)
2.object_id
#=> 5 == 101(2) == 2<<1 | 1

このあとは、末尾2ビットが
01 か 11 なら Fixnum、
00 なら通常のオブジェクト(ポインタ値そのまま)、
10 は未使用だと思う。

548デフォルトの名無しさん:2011/12/28(水) 02:06:59.39
どうせポインタ末尾00なんだから右シフトせずにobject_idにしても
いいような気がするのは、なんか勘違いしてる…?
549デフォルトの名無しさん:2011/12/28(水) 02:18:46.47
>>542
後半の意味は分からないけど確かに一致した
ありがとうございます
550デフォルトの名無しさん:2011/12/28(水) 06:28:36.68
「オブジェクトのIDをそのまま表示してもいいはず」だとは思う
というか、これが公開されてないせいで自前で inspect が書かれてるクラスは object_id だったり object_id.to_s(16) だったりして一貫性がない
まあ、この書き方だと負になることはないうえに(object_idは負の整数であることもある)一意性が保たれてるんで、こんな変な芸をしてるんだろうけど

ユーザーとして欲しいのは具体的なオブジェクトのIDの数値ではなく「オブジェクトaとオブジェクトbが同一かどうかがわかる印」なんだしさ
551デフォルトの名無しさん:2011/12/28(水) 07:09:10.53
552デフォルトの名無しさん:2011/12/28(水) 15:10:42.38
Ruby1.9にしたら、irbでC-zが効かないんだけど、そんなことない?
当方MacOS X、Ruby1.9.3
553デフォルトの名無しさん:2011/12/28(水) 15:13:50.70
RUBY1.9.3でゼロパディングはこう書いても大丈夫ですか?
もっと良い書き方がありましたら伝授してください

puts 25.to_s.rjust(5, "0")
554デフォルトの名無しさん:2011/12/28(水) 15:24:45.53
'%05d' % 25 や sprintf('%05d', 25) とも書けるけど、どれが良いかはおまかせ
555デフォルトの名無しさん:2011/12/28(水) 20:36:13.76
■民主党政権になって放送禁止になった言葉一覧■
[道義的責任・進退問題・発言のブレ・閣内不一致・派閥・プライマリーバランス
空気が読めない・庶民感覚・国民目線・バラマキで人気とり・国民に信を問うべき・OECDの貧困率
ワーキングプア・ネットカフェ難民・世襲・料亭・漢字・読み違え・直近の民意・国民の生活が一番、政権交代が最大の景気回復策、公務員改革
ガソリン値下げ、景気回復策、解散総選挙、ホッケの煮付け
世襲制廃止、地域主権、議員定数削減、地球温暖化対策]
556デフォルトの名無しさん:2011/12/28(水) 22:20:30.81
1MBなサイズの要素を100個含む配列arrがあったとして
arr.mes1.mes2{|x| ... }.mes3
は各メソッドチェーンの部分で最大100MBくらい新たに使用しますか?
ガベージコレクションのタイミングが悪いと300MBくらい一時的に占有する?
557デフォルトの名無しさん:2011/12/28(水) 22:26:24.17
メソッドの中でその100MBオブジェクトのコピーないしそれに類するものを作ってたりしない限りは、
新たに100MB占有したりはしない。
558デフォルトの名無しさん:2011/12/28(水) 23:44:12.24
>>556
「それにRubyが気を遣うことはない」「メソッドが要素そのものを複製改変する動作をする場合は余分にメモリを消費する」でいいと思う
559デフォルトの名無しさん:2011/12/29(木) 00:04:25.46
コレクションを扱うメソッドがチェーンしまくってるとハラハラする
select だの reject だの map だの繋げまくってると N x N x N...ってオーダーが指数関数的に増えていくって認識はあってるよね?
560デフォルトの名無しさん:2011/12/29(木) 00:15:22.65
Rubyでいう大部分のメソッドチェーンは
全部あわせてO(n)に収まると思う
もちろんcombinationとかを使い始めると大変だが
561デフォルトの名無しさん:2011/12/29(木) 00:15:31.68
Ruby製Zen codingってないですか?
javascript製のコードが読めないのでRubyで読みたいのですが
562デフォルトの名無しさん:2011/12/29(木) 00:21:13.77
>>560
(1..1000).map {|v| v * 2}.each {|v| print v} なんかも 1000回のループで済んじゃうの?
563デフォルトの名無しさん:2011/12/29(木) 00:27:44.14
>>559
100個要素があるArrayに対していくらcollectをつなげても、
処理回数もメモリの使い方も100+100+100+...
みたいな増え方しかしないだろ?

>>562
それのループ回数は2000回だろ?
564デフォルトの名無しさん:2011/12/29(木) 00:50:00.70
>>563
ああ・・俺頭悪いわ・・・ 1000 + 1000 だね確かに。
565デフォルトの名無しさん:2011/12/29(木) 02:17:16.23
あれー、だれもこのもんだいにあたってないの?おれだけ?

>>552
>Ruby1.9にしたら、irbでC-zが効かないんだけど、そんなことない?
>当方MacOS X、Ruby1.9.3
566デフォルトの名無しさん:2011/12/29(木) 03:35:06.09
Leopard、MacPorts版だが普通にC-zが効いてると思うのだが

$ ruby1.9 -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [i386-darwin9]
$ irb1.9 -v
irb 0.9.6(09/06/30)
$ irb1.9
irb(main):001:0> RUBY_VERSION
=> "1.9.3"
irb(main):002:0>
[1]+ Stopped irb1.9
$ fg
irb1.9


irb(main):003:0*
irb(main):004:0*
irb(main):004:0>
=> nil
$
567デフォルトの名無しさん:2011/12/29(木) 18:31:10.41
Class#newの使い方がいまいちよく分からないのですが
Class#newで生成されたインスタンスが引数を受け取るためにinitializeメソッドを上書きするのでしょうか?
568デフォルトの名無しさん:2011/12/29(木) 19:28:42.26
>>567
…ん? Class#new はインスタンスの生成のために日常的に使うものだと思うんだが…

ちなみに Class#new はインスタンスを生成後
生成したインスタンス#initialize
を呼ばれた引数そのままに呼ぶ、それだけだよ
569デフォルトの名無しさん:2011/12/29(木) 19:43:22.06
>>568
私の言い方がおかしかったかも

dot.push(Dot.new(rand(10)+75, 0))

で初期値の引数を渡すとき

class Dot
def initialize(x, y) ←ここで受け取ってるんだと思うけど
@x = x
@y = y
end
end

これってinitializeって名前じゃないとダメですよね?
570デフォルトの名無しさん:2011/12/29(木) 19:51:32.12
何が言いたいの
571デフォルトの名無しさん:2011/12/29(木) 19:56:32.14
Dot.new(0,1)

というような形で引数を渡すときメソッドの名前がinitializeじゃなくて別の名前だと受け取れないってことでしょうか?

class Dot
def nanntoka(x, y)
@x = x
@y = y
end
end

これだと受け取れませんか?
572デフォルトの名無しさん:2011/12/29(木) 20:18:40.66
>>571
そりゃそうだろう。
それで受け取れてしまうと、newしたときにどのメソッドで初期化すればいいかわからない。

どうしても初期化処理をinitialize以外の名前でやりたいなら
def initialize(*args)
hage(*args)
end
def hage(*args)
...
end
とかすれば。
573デフォルトの名無しさん:2011/12/29(木) 20:22:36.30
>>572
つまりinitializeは初期化するときのために使われる特別なメソッド名と言うことでしょうか?
574デフォルトの名無しさん:2011/12/29(木) 20:25:55.80
>>573
そう。
575デフォルトの名無しさん:2011/12/29(木) 20:29:23.82
>>574
なるほどinitializeが特別な名前だったんですね
答えていただいてありがとうございました
576デフォルトの名無しさん:2011/12/29(木) 22:00:57.63

| ┏━━━┓   従軍慰安婦は反日朝日新聞の捏造でした。
| ┃借収安┃    デマだらけの報道に注意しよう
| ┃三三婦┃
| ┃○○大┃
| ┃○○募┃
| ┃○圓集┃
| ┃圓以  ┃
| ┃迄上  ┃_
\┃可   ┃ \
  ┗━━━┛  \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
http://img04.ti-da.net/usr/wishcomestrue/t02200190_0220019010786142693.jpg
577デフォルトの名無しさん:2011/12/29(木) 22:05:18.66
特別な名前って言うか、newがinitializeを呼ぶっていうただそれだけのことなんだけどね
578デフォルトの名無しさん:2011/12/29(木) 22:40:35.16
あるプロセスのstdin/stdout/stderrを、すでに起動している別のプロセスに渡すようなことはできますか。
渡す先はすでに起動済なので、パイプは使えません。
579デフォルトの名無しさん:2011/12/29(木) 23:07:08.37
入出力を中継するプロセスを作る
580デフォルトの名無しさん:2011/12/30(金) 00:00:35.76
Ruby1.9.2か1.9.3で動くプロジェクト管理ってありませんか?
本当はredmine使いたいんですけど1.8.7は入れたくないのです
581デフォルトの名無しさん:2011/12/30(金) 00:07:22.30
多分 ruby で動いて redmine と同じぐらい充実してるのはあんまりないんじゃないかな。
http://itpro.nikkeibp.co.jp/article/NEWS/20100730/350873/

VM か何かで redmine 専用の環境作っちゃったほうが捗るよ。
582デフォルトの名無しさん:2011/12/30(金) 00:13:11.21
>>579
>入出力を中継するプロセスを作る
もうちょっと具体的にお願いします。
583デフォルトの名無しさん:2011/12/30(金) 00:38:50.16
>>578
無理じゃないか・・?
584デフォルトの名無しさん:2011/12/30(金) 00:39:54.47
Rubyで、プロセスの実行ユーザを変更することはできますか。
Apacheだと、rootで起動してもワーカープロセスはdaemonとかwwwだったりしますが、
あれに似たことがしたいです。
585デフォルトの名無しさん:2011/12/30(金) 00:42:56.02
>>584
setuid
586デフォルトの名無しさん:2011/12/30(金) 00:46:32.20
>>578
既に起動しているプロセス側に何か仕掛けが出来るなら渡せるんじゃないかな
名前付きパイプなりソケットなり。

587デフォルトの名無しさん:2011/12/30(金) 01:18:17.09
>585
setuidは意味が違いますよね。実行ファイルの所有者としてプロセスを実行することだから。
588デフォルトの名無しさん:2011/12/30(金) 01:25:57.99
>>587
は?何いってんの?
setuid bit のことじゃなくてシステムコールのことなんだが。
589デフォルトの名無しさん:2011/12/30(金) 01:35:35.89
setuidでググッて最初に出てきたwikipediaの最初の数行読んでわかった気になったんだとみた
590デフォルトの名無しさん:2011/12/30(金) 01:52:37.33
>>588
知ってました。
591デフォルトの名無しさん:2011/12/30(金) 01:58:15.67
平松サイド  vs   橋下サイド

民主党         大阪市民
自民党          ν速民
共産党
財界
関西電力
連合
自治労
日教組
公務員
毎日新聞
MBS
解同
極左

大阪の敵が濃縮されてわかりやすくなったな
592デフォルトの名無しさん:2011/12/30(金) 06:25:26.42
>>591 死ねよバカウヨ
593デフォルトの名無しさん:2011/12/30(金) 10:01:04.15
rubyでload("filename")するときに、そのファイルになんらかの引数をあたえる方法はありますか。
やってみたこと:
@var = 1
load("filename") #=> @varはnil

o = Object.new
o.instance_eval do
 @var = 1
 load("filename") #=> @varはnil
end

できれば$globalvarやCONSTANTを使わない方法を希望します。

594デフォルトの名無しさん:2011/12/30(金) 10:40:58.73
ファイルはインスタンスとは違うから@varなんかでは渡せないよ。
なんでそんなことしたいのか分からないけどグローバルスコープのものでしか値は渡せない。

最終的に何をしたいのかとかfilenameの中身がなんなのかとかがわかればもちょっとマシな助言が貰えるかもね。
595デフォルトの名無しさん:2011/12/30(金) 10:52:53.00
>>593
o.instance_eval の方で@varがロードしたファイルでnilになるのは当たり前。
loadやrequireはどこでロードしようがトップレベルにロードされる。
oのインスタンス変数@varに1を入れようが向こうの@varにはなんの関係もない。
そこにそのスクリプトの内容を挿入するというようなものじゃない。

o.instance_eval do
  @var = 1
end
p @var #=>nil
とかやってんのと同じ。

当たり前だけど、トップレベルで
@var = 1
load("filename")
やったらロードしたファイルでもトップレベルの@varには1が入ってたよ?
596デフォルトの名無しさん:2011/12/30(金) 11:00:25.88
>>581
プロジェクト管理についてはどの板のどのスレできいたほうがいいですか?
597デフォルトの名無しさん:2011/12/30(金) 11:32:25.25
これ。
【バグ管理】 BTS使ってる?【追跡】 3
http://toro.2ch.net/test/read.cgi/tech/1244347242/
598デフォルトの名無しさん:2011/12/30(金) 11:39:32.66
>>588
Process::Sys.setuid() でできました。ありがとうございます。
できれば最初から「Process::Sys.setuid」だと教えてくれた方が助かります。初心者スレなので。
599デフォルトの名無しさん:2011/12/30(金) 11:58:35.18
>>586
>>>578
>既に起動しているプロセス側に何か仕掛けが出来るなら渡せるんじゃないかな
>名前付きパイプなりソケットなり。

ありがとうございます。起動済のプロセスは自分でいじれます。
「名前付きパイプ」や「ソケット」を使うということですが、
stdin/stdout/stderrを、名前付きパイプやソケットに繋ぎ換えることはできるのでしょうか。
600デフォルトの名無しさん:2011/12/30(金) 12:02:23.30
その発想が初心者だよな
お前がもともとどこまで知ってるかなんてしらねーよ
601デフォルトの名無しさん:2011/12/30(金) 12:08:54.52
>>599
stdin,stdout,stderrはいくらでも繋ぎ変えられるよ。
602デフォルトの名無しさん:2011/12/30(金) 12:10:43.40
ゆとり乙
603デフォルトの名無しさん:2011/12/30(金) 12:20:25.29
>>599
今調べてみたら ruby は標準では名前付きパイプサポートしてないわ。
rubygem にはあるみたいだけど。暇があったら FIFO で調べてみてね。

んで、ソケットの場合は・・・

起動済みプロセス側:
・入出力用のソケットを作って適当なポートで bind しておく

入出力を渡す側:
・ソケットを作って connect して IO.new で wrap する
・STDIN/STDOUT/STDERR の reopen メソッドで wrap したソケットを開きなおす

でいけるんじゃないかな。
604デフォルトの名無しさん:2011/12/30(金) 12:39:09.76
とある状況の変数の内容(データ的には大量)を
なるべく読みやすい形でHTMLに書き出したいんですが
[a, $b, C].to_htmlfile("debug#{Time.now.to_s}.html")
位簡単に使えるライブラリって無いですか。
605デフォルトの名無しさん:2011/12/30(金) 12:42:41.78
railsならrailsスレに行ったほうがいいよ
そうじゃないならそんな限定的な需要にこたえるライブラリはないと思う
606デフォルトの名無しさん:2011/12/30(金) 12:44:43.26
自作ライブラリですね、わかります
607デフォルトの名無しさん:2011/12/30(金) 12:46:00.71
pp の変形みたいなの探せばあるんじゃない?
608デフォルトの名無しさん:2011/12/30(金) 12:46:10.39
なんでHTMLなんだろう?
csvとかに書き出すのをさっさと自分で書いたほうが早くね
609デフォルトの名無しさん:2011/12/30(金) 12:51:09.82
>>611
これじゃだめなの?たいした手間ではないと思うけど....

for x in [a, $b, C]
  File.open("debug#{Time.now.to_s}.html") do |io|
    io.printf "<html><body>#{x.to_s}</body></html>"
  end
end

もしHTML文書を自由にカスタマイズしたいのならERBを使えばいいと思うよ
610デフォルトの名無しさん:2011/12/30(金) 12:52:21.13
書きだすだけなら Marshal とか Yaml とか自分で作らんでも既にあるがな。

pp って自分で拡張可能なようにつくられてるのな。
ちょっといじれば HTML ダンプも出来るようになるんじゃないの?
http://doc.ruby-lang.org/ja/1.9.3/library/pp.html
611デフォルトの名無しさん:2011/12/30(金) 12:52:44.94
颯爽と現れてfor文を書いていく回答者
612デフォルトの名無しさん:2011/12/30(金) 12:54:36.16
個人的に、質問するときは目の前の問題の解決法だけじゃなく
やりたい事そのものも書いたほうが良い示唆を得られると思うぞ。

HTMLダンプしたい根本の理由によっては色々ベストなやり方も変わってくると思う。
613デフォルトの名無しさん:2011/12/30(金) 12:55:21.33
>>611
何か問題でも?
each なんて死ねばいい。
614デフォルトの名無しさん:2011/12/30(金) 12:58:32.92
そうだそうだ
死ね死ね
615デフォルトの名無しさん:2011/12/30(金) 13:00:53.59
PHPのdump_vars()に相当する関数ないですかって質問はちょくちょく見る
616デフォルトの名無しさん:2011/12/30(金) 13:02:28.52
>>613
for文は置いとくとしてもちゃんと動くもので回答しろよ
617デフォルトの名無しさん:2011/12/30(金) 13:10:27.40
for文を使ってまったく答えになっていないコードを書いていくから
「これだからfor文を使うやつは」って言われるんだよ
書くならもっとちゃんと書いてくれ…
618デフォルトの名無しさん:2011/12/30(金) 13:15:03.30
<html><body><code>〜で出来ましたみたいなのは望んでないだろw
619デフォルトの名無しさん:2011/12/30(金) 13:19:02.25
Pythonスレから俺たちは関係ないと声明が出されました
620デフォルトの名無しさん:2011/12/30(金) 13:26:54.25
>>619
kwsk
621デフォルトの名無しさん:2011/12/30(金) 13:27:24.53
user agentを指定したりheaderに指定したデータをつけてGETでページにアクセスしたいのですが
なんていうメソッドを使えばこういうのはできるのですか?
622デフォルトの名無しさん:2011/12/30(金) 13:32:40.53
open-uri, user-agentでぐぐってみて
623デフォルトの名無しさん:2011/12/30(金) 14:14:05.95
趣味でRubyを勉強したいのですが、プログラミングのプの字も知らない初心者なので、皆さんのおすすめの本やサイトがあったら教えてください。
624デフォルトの名無しさん:2011/12/30(金) 14:17:51.49
初心者と言ったらNetBeands一択だな。
625デフォルトの名無しさん:2011/12/30(金) 14:46:08.41
初めて聞くIDEだな
626デフォルトの名無しさん:2011/12/30(金) 14:48:09.18
はじめてのRuby
627デフォルトの名無しさん:2011/12/30(金) 14:50:40.04
秀丸で開発できない人、正直言うと軽蔑してます
628デフォルトの名無しさん:2011/12/30(金) 14:52:18.86
Railsなら<%= debug(variable) %>でpreに入ったYAMLが吐ける。
見やすさは主観入るから知らん。
629デフォルトの名無しさん:2011/12/30(金) 15:06:26.47
>>624さん>>626さん
ありがとうございます。
調べてみたら初心者でも理解出来そうなので、少しずつ勉強したいと思います。
630デフォルトの名無しさん:2011/12/30(金) 15:11:22.77
>>629
(オライリーの)初めてのRubyはプログラミング初心者には無理
寄らば大樹のなんとかでたのしいRuby買ってここで質問するのがいいかと
最低限のプログラミング環境設定はたのしいRubyに書いてあると思う
631デフォルトの名無しさん:2011/12/30(金) 15:20:32.98
たのしいRubyはそう馬鹿にしたもんでもないよな
632デフォルトの名無しさん:2011/12/30(金) 15:28:55.52
でもあれの練習問題はちょっと

Webから見れる解答例がその章ではまだ習ってない知識を利用するものだったりして
633デフォルトの名無しさん:2011/12/30(金) 15:42:03.54
そこらへん具体的に指摘すればテンプレに一行や二行入るんじゃないか
634デフォルトの名無しさん:2011/12/30(金) 15:56:22.68
>>630さん
ご指摘ありがとうございます。
勘違いをしていました。
「Ruby はじめてのプログラミング」という本を調べていました。
「初めてのRuby」はプログラミング経験者向けみたいなので、やめておきます。
薦めてくれた方、申し訳ありません。
635デフォルトの名無しさん:2011/12/30(金) 16:03:41.53
>>634
Rubyではじめてプログラミング覚えて「たのしいRuby」から入ったよ俺
とりあえず全文通読してから、改めてじっくり初めから読むのがおすすめ
分からない言葉があったらネットとか索引で調べる。
1ページ目から順に進めていくと自然と分かる、というつくりになっていない。
なのでとにかく一回全部読むのがいい。
636デフォルトの名無しさん:2011/12/30(金) 16:17:16.46
>>635さん
ありがとうございます。
「たのしいRuby」は第3版が新しいみたいですね。
本屋で探してみます。
637デフォルトの名無しさん:2011/12/30(金) 16:31:25.38
>>597
ありがとうございます
しかしredmineってなんで1.9に対応してくれないのでしょうかね
638デフォルトの名無しさん:2011/12/30(金) 16:48:56.25
jsp見たいにhtmlに埋め込んで書いて動かす方法の参考ページってありませんか?

<% p 11111111 %>
639デフォルトの名無しさん:2011/12/30(金) 17:04:09.25
rubyinstallerからRuby1.9.3をZIPのほうをダウンロードしてきてC:\Rubyに入れました
パスも自分で入れました
その後にgemをupdateしたり適当にライブラリを入れました
この場合、パスを消してC:\Rubyをフォルダを消すだけで大丈夫ですか?
他のバージョンを入れなおしたいんですがレジストリとか他の場所で消すものとかありますか?
ちょっと心配なのがgemでインストールされたものってどこにインストールされてるのかわからないので困ってます
640デフォルトの名無しさん:2011/12/30(金) 17:05:24.18
レジストリは気にしなくて良い
641デフォルトの名無しさん:2011/12/30(金) 17:16:18.01
>>638
eruby で検索
642デフォルトの名無しさん:2011/12/30(金) 18:49:23.40
>>641
ありがとうございます
643デフォルトの名無しさん:2011/12/30(金) 18:50:42.13
DevKitが入ってるバージョンのRubyってRubyInstallerにはないんすか?
別々にいれてくれってことなんすか?
644デフォルトの名無しさん:2011/12/30(金) 19:30:40.01

朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。

Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社

−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ 09.3

645デフォルトの名無しさん:2011/12/30(金) 21:35:40.15
てんさいです

【東京都渋谷区】 12/31(土) 年忘れしてはならない!紅白さくら祭 みんなで「韓流紅白」をぶっ飛ばせ!
年忘れしてはならない!紅白さくら祭 みんなで「韓流紅白」をぶっ飛ばせ!

12時00分 渋谷駅ハチ公前広場 「街頭演説」(〜13時30分)
13時30分 移動
14時00分 渋谷公会堂前 「街頭演説」(〜14時45分)
15時00分 代々木公園・NHK横「イベント広場」
「年忘れしてはならない!紅白桜祭」
抗議集会・コンサート・炊き出し等々
盛りだくさんでお送りします!(〜21時00分)
646デフォルトの名無しさん:2011/12/30(金) 23:16:35.98
>>637
単に手が足りてないんでないの?
あと、この手のシステムってまともに運用始めちゃうと
強力なメリットでもない限りバージョンアップしたくなくなる。
647デフォルトの名無しさん:2011/12/30(金) 23:29:48.00
障らぬ神に祟り無し
648デフォルトの名無しさん:2011/12/30(金) 23:37:14.03
1.9への移行は簡単とか言われてたんだから、誰かささっとやりそうなもんだけど、
実際はそうじゃなかったということなのか
649デフォルトの名無しさん:2011/12/30(金) 23:51:52.70
redmine のロードマップみてると ver 1.4 で 1.9 に正式対応になるみたいだね。
Rails 3 は後回しっぽい?

Ruby 1.9 support
http://www.redmine.org/issues/4050
Rails 3 support
http://www.redmine.org/issues/4796
650デフォルトの名無しさん:2011/12/31(土) 00:06:22.90
じゃあ今1.3.0だからマイナーバージョンが0だから1.4は数年後になるってことなんですか?
遅いからこまる
651デフォルトの名無しさん:2011/12/31(土) 01:01:36.71
見限るか寄付でもするかコミッタになるか
さあどうする?
652デフォルトの名無しさん:2011/12/31(土) 13:25:05.19
自分で1.9対応してpull requestすればいいんじゃない。
653デフォルトの名無しさん:2011/12/31(土) 16:04:48.28
ファイルには、作成日時、更新日時、アクセス日時が属性としてありますが、
ユーザが任意の属性をつけることはできますか。
具体的には、ファイルのハッシュ値をinodeに保存できないものかと考えてます。
654デフォルトの名無しさん:2011/12/31(土) 16:19:38.84
できません。
ファイルシステムに依存しちゃうのでそれは ruby の範疇ではありません。
ruby側のアプローチならinode とハッシュ値の対応表を別に持つほうが現実的。
655デフォルトの名無しさん:2011/12/31(土) 16:20:08.64
そういうのは、そういう機能があるかを尋ねてから実装したい言語でそれが
可能かを尋ねるという順序になると思うが…

http://ja.wikipedia.org/wiki/拡張ファイル属性
656デフォルトの名無しさん:2011/12/31(土) 16:41:42.99
>>655
おお、すばらしい。さんくすです。
「ruby 拡張ファイル属性」でぐぐったら、みごとに見つかりました。
http://www.quredo.net/2011/10/ruby-xattr/
FAT32でなければ、LinuxでもMacでもWindowsでも使えそうですね。
657デフォルトの名無しさん:2011/12/31(土) 17:21:46.86
658デフォルトの名無しさん:2011/12/31(土) 18:12:40.81
1.8のプログラムを1.9でうごかしたら、
warning: variable $KCODE is no longer effective
というエラーが出ました。
$KCODEを使わないようにするのがまっとうな手段だとは思いますが、
そんなに重要なスクリプトでもないし、とりあえずエラーがでなければいいので、
1.9でエラーになることなく$KCODEにアクセスする方法を教えて下さい。
659デフォルトの名無しさん:2011/12/31(土) 18:23:54.93
ただ無視するだけなら -W0 つければいいんとちゃう?
660デフォルトの名無しさん:2011/12/31(土) 18:34:30.25
>>655
こんなのがあるのか。知らなかった
相当便利に使えそうな代物だけどはてさて
661デフォルトの名無しさん:2011/12/31(土) 18:56:06.20
便利かぁ?
存在がわかりにくい分、アプリに勝手に追加されまくってたら相当うざいぞ。
662デフォルトの名無しさん:2011/12/31(土) 19:01:02.46
つーても、どんなファイルシステムでも、表に出ない属性なんて大体あるんだがな
NTFSなんて属性だらけだぞマジで
663デフォルトの名無しさん:2011/12/31(土) 19:04:47.41
ファイルにタグ付したりコメントつけたりと普通に便利だな
別のdb等でファイルと付加情報をペアで管理しようとすると
ファイルの移動、リネーム等であっさり破綻するし
664デフォルトの名無しさん:2011/12/31(土) 19:05:10.76
標準でサポートされてる属性ならまだいいが
そのアプリでしか使わん属性とかばら撒かれるとレジストリ汚染並にうっとおしいと思うが。
665デフォルトの名無しさん:2011/12/31(土) 19:09:20.76
見もしないのに鬱陶しがれるなんてずいぶん器用だなw
666デフォルトの名無しさん:2011/12/31(土) 19:12:26.99
使われてないのがいい証拠だろ。
667デフォルトの名無しさん:2011/12/31(土) 19:14:58.03
使われてないってどこ情報よ
Linux界じゃ普通に使われてますがなにか
レジストリとか言ってるWin糞はひっこんでろ
668デフォルトの名無しさん:2011/12/31(土) 19:17:16.13
SELinux以外に使ってるのってあったっけ
669デフォルトの名無しさん:2011/12/31(土) 19:18:25.42
拡張属性に親でも殺されたか。
670デフォルトの名無しさん:2011/12/31(土) 19:20:14.92
>>668
>>655にBeagleって書いてある
671デフォルトの名無しさん:2011/12/31(土) 19:20:44.23
>>667
頭大丈夫?
672デフォルトの名無しさん:2011/12/31(土) 19:21:56.71
Linux界ってどこにあるんだ?
673デフォルトの名無しさん:2011/12/31(土) 19:23:53.82
>>672
面白くないから
674デフォルトの名無しさん:2011/12/31(土) 19:25:36.69
折角あるんだし使うに越したことはない。
未読管理とかに使いたいなー。
675デフォルトの名無しさん:2011/12/31(土) 19:40:14.32
>>671
MacOS XにはSpotlightという全文検索機能があって、
各アプリケーションがプラグインで拡張属性を追加できるAPIが提供されている
以下はその仕様の一覧

・MacOS X Metadata Importers Reference
  http://www.h6.dion.ne.jp/~machan/mdimref/mdimref-0.2/

最初の CoreService というのがOSが標準提供している拡張属性で、
他のすべてはアプリケーションが独自に定義した拡張属性
たとえば BathyScaphe というのは MacOS X向けの2ch専ブラになる
  http://www.h6.dion.ne.jp/~machan/mdimref/mdimref-0.2/bathyscaphe.html
これら拡張属性はファインダ(Windowsのエクスプローラ相当)から
ファイル検索の検索条件として指定できるから、超便利なんだ
676デフォルトの名無しさん:2011/12/31(土) 19:45:52.24
Win糞にはそういう機能ないもんな
677デフォルトの名無しさん:2011/12/31(土) 20:01:55.97
File.utime() でアクセス時刻(atime)と更新時刻(mtime)を変更できますが、
ctimeは変更できないのでしょうか。
ばかな質問でしょうが教えて下さい。
678デフォルトの名無しさん:2011/12/31(土) 20:29:21.12

民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣

1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河   流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし

679デフォルトの名無しさん:2011/12/31(土) 20:49:52.47
WindowsでRuby1.9.3です
日本語ディレクトリをRubyから何とかして作る方法はございませんか?
680デフォルトの名無しさん:2011/12/31(土) 20:53:28.05
>>677
utimeやchmod等を使ってステータスが変更された時間がctime
681デフォルトの名無しさん:2011/12/31(土) 21:10:12.77
ファイル操作なんて全部`mkdirとかwshでやっておしまい
682デフォルトの名無しさん:2011/12/31(土) 21:22:26.51
Dir.mkdir "漢字" で普通に作れないっけ・・・
ruby on cygwin 1.9.3 だけどちゃんと作れたよ。
683デフォルトの名無しさん:2011/12/31(土) 21:43:23.98
>>680
Windowsユーザなんでctimeはファイル作成時刻のことだと思ってた

windowsではファイル作成時刻のことなので
変更したいなーとか思うときがあって
作成時刻が変更できるCUIのツールで変更してる

ファイラーやファイルコピーツールでは作成時刻も含めて
ファイルコピーするかどうかのオプションがあったりするし

Rubyで作成時刻変更したいときは
上記の外部コマンドを呼び出してる

探せばGemにありそうだし
Win32APIを直接呼んでもいいだろうけど
なんかめんどうなので
684デフォルトの名無しさん:2011/12/31(土) 23:30:45.52
クラス内に列挙型の定義をしたいのです。
そのクラス内でのみ使用する固有の型識別値の列挙を定義するにはどうすればいいでしょうか?

685デフォルトの名無しさん:2011/12/31(土) 23:47:04.77
ruby に列挙型はないので昔の Java みたいに new を private にして
クラス定数にインスタンスを割り当てるやり方にでもするしかないんじゃないか。

クラス自体を private にする方法はごめんわからん。
686デフォルトの名無しさん:2012/01/01(日) 00:59:00.25
684です。
お返事ありがとうございます。
列挙用メンバ変数のみのシングルトンを作る、ような感じでしょうか?
やってみます。
ありがとうございました。
687デフォルトの名無しさん:2012/01/01(日) 01:12:53.30
K-POPの真実
89 名前:名無しさん@12周年[sage] 投稿日:2011/12/27(火) 18:42:50.71 ID:oPBf/MSP0
12月23日、東京国際フォーラムホールAで大国男児、X−5 、C-REAL、チェ・スジョンらが出演した『K-POP LIVE for X'mas 2011』が開催された。
しかし、ふたを開けてみれば2階はすべてクローズド、1階も後列は空席だらけと、さんざんな結果に終わった。

http://news.infoseek.co.jp/article/cyzowoman_27Dec2011_17759
    ↓    ↓    ↓

395 名前:山師さん@トレード中[] 投稿日:2011/12/27(火) 15:21:13.95 ID:E5FNgBRR0
K-POP LIVE for X'mas 2011
公演日:2011年12月23日(金)
会場:東京国際フォーラムホールA(収容人数5000人)
出演:大国男児 / X−5 / C-REAL / Yoonji

開演前
http://cdn-ak.f.st-hatena.com/images/fotolife/u/ukiukineko/20111224/20111224221655.jpg
http://cdn-ak.f.st-hatena.com/images/fotolife/u/ukiukineko/20111224/20111224221654.jpg

開演中
http://cdn-ak.f.st-hatena.com/images/fotolife/u/ukiukineko/20111224/20111224222054.jpg
補助金が尽きてガラガーラ テレビは捏造演出装置

688デフォルトの名無しさん:2012/01/01(日) 12:03:24.02
>>686
値に意味がなく区別さえできればよいケースなら、シンボルを使うという手がある。
689デフォルトの名無しさん:2012/01/01(日) 12:12:58.66
列挙型が欲しくなる時っていうとシンボル名でソートしたくなる時ぐらいかなあ。
rubyだと型検査ないから制約の意味での列挙型としては使いづらい。
690デフォルトの名無しさん:2012/01/01(日) 15:33:44.46
691デフォルトの名無しさん:2012/01/01(日) 19:14:46.55
正しいHello worldの書き方を教えてください

helloworld.rbに
print "Hello world"
って書いたのですがやり直しって言われました
692デフォルトの名無しさん:2012/01/01(日) 19:38:10.55
やり直しって叱ってくれた人に聞けばいいんでない?
693デフォルトの名無しさん:2012/01/01(日) 20:02:16.75
rubyでclassメソッド作ってリファクタリングしてメソッド分割すると
分割したメソッドもpublicにしなきゃダメなの?
なんなの?
694デフォルトの名無しさん:2012/01/01(日) 20:36:29.51
>>692
チャットで言われたのですもうその人には聞けないのです
695デフォルトの名無しさん:2012/01/01(日) 20:38:02.77
Rubyの松本は本気でPHPの座を取りたいならマニュアルを分かりやすくまとめるべき
分かりやすいマニュアルさえあればプログラミング初心者を取り囲める
あのライバル意識を飛ばしてくるPythonなんて眼中にねえぜ!
696デフォルトの名無しさん:2012/01/01(日) 20:49:01.32
>>691
やり直し
697デフォルトの名無しさん:2012/01/01(日) 20:59:08.45
メソッドにしろってことじゃないの?
698デフォルトの名無しさん:2012/01/01(日) 21:49:16.69
puts使うか、printなら改行するかしろということかのう。
699デフォルトの名無しさん:2012/01/01(日) 22:14:11.57

           ______
          r〃〃〃 f7⌒ろ)
           l‖‖‖ ||   f灯
            |‖‖‖ ||   | |
            |儿儿儿._」⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日〜2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。
700デフォルトの名無しさん:2012/01/01(日) 22:22:04.49
>>691
とりあえずはそれでいいよ
ruby helloworld.rb
701デフォルトの名無しさん:2012/01/01(日) 22:23:51.36
パスが通っていない、ライブラリの位置が指定されていない(環境変数)とかも
ありうる
702デフォルトの名無しさん:2012/01/01(日) 22:28:51.86
\ ⊂[J( 'ー`)し     
  \/ (⌒マ´
  (⌒ヽrヘJつ
    > _)、
    し' \_) ヽヾ\
          丶_n.__
         ruby helloworld.rb
              ̄   (⌒
            ⌒Y⌒
703デフォルトの名無しさん:2012/01/01(日) 22:33:21.61
くそこんなんで・・・
704デフォルトの名無しさん:2012/01/01(日) 22:56:17.07
こうじゃね?

#coding: utf-8
puts "hello world"
705デフォルトの名無しさん:2012/01/01(日) 23:24:10.12
>>693
よくわからん。場合によりけりじゃないの。
クラスメソッドからしか呼ばれないクラスメソッドならprivateにできるけど。

>>695
PHP の座は全く欲しがってないと思う。
706デフォルトの名無しさん:2012/01/02(月) 00:17:04.90
ブログで敵意むき出してたじゃん
707デフォルトの名無しさん:2012/01/02(月) 00:21:05.17
敵意というか嫌いなだけだろう
少なくともPHPの位置は狙っていない
708デフォルトの名無しさん:2012/01/02(月) 02:58:56.84
まあ、どちらにせよ初心者スレで語る話題じゃないな
709デフォルトの名無しさん:2012/01/02(月) 12:38:37.57
Pythonのがわかりやすい
Rubyはキモい
710デフォルトの名無しさん:2012/01/02(月) 12:44:13.46
そうですね
711デフォルトの名無しさん:2012/01/02(月) 12:52:10.20
普通にインクリメント出来なくてビビった
712デフォルトの名無しさん:2012/01/02(月) 13:04:42.14
え?Rubyはi++みたいなのはできないのですか?
713デフォルトの名無しさん:2012/01/02(月) 13:08:59.87
え?出来んの?エラー吐かれるんだけど
714デフォルトの名無しさん:2012/01/02(月) 13:11:17.68
できないよ。
↓になぜ実装しないかの理由が載ってる。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/5323
715デフォルトの名無しさん:2012/01/02(月) 13:14:03.17
あるクラスのメソッドすべてに呼び出し元のクラス名を表示する機能を付け加えたいんだけど
各メソッドにハードコーディングする以外に何か良い手ってない?

考えたアイデアはサブクラスつくって
メソッドを配列で取得してそれぞれ呼び出し元を表示しsuperを呼ぶようにオーバーライドする方法なんだけど
親のメソッドを取得する時点でつまずいた
親で定義したメソッドが取得できない
そもそもこの方法であってるの?

総ruby暦一年未満で環境はruby 1.8.6、RDE
716デフォルトの名無しさん:2012/01/02(月) 13:19:01.45
>>714
Fixnum は immutable なオブジェクトである設計になってて
メソッドは変数ではなくオブジェクトに対して作用するものだと考えると
i++ は実装しようがないわな。シンタックスシュガー的な実装はしたくなかったんだろう。
717デフォルトの名無しさん:2012/01/02(月) 13:21:21.34
>>715
これを使うほうがよいんじゃないかな
http://doc.ruby-lang.org/ja/1.9.3/method/Kernel/m/set_trace_func.html
718デフォルトの名無しさん:2012/01/02(月) 13:27:55.60
特定クラスで使いたいだけなら素直にこっちじゃね?
http://doc.ruby-lang.org/ja/1.9.3/library/tracer.html
719デフォルトの名無しさん:2012/01/02(月) 14:08:48.66
Rubyに致命的な所はマイナーバージョンが1上がるだけで互換性がない事だ
この辺が言語仕様の致命的なダメージになる
720デフォルトの名無しさん:2012/01/02(月) 14:11:07.38
そういうのがあったせいで
言語仕様の策定をまつもとの実装だけに頼らないよう標準化するようになったんじゃない?

http://www.ipa.go.jp/about/press/20110322.html
721デフォルトの名無しさん:2012/01/02(月) 15:06:47.06
>>711
i += 1
でおk
722デフォルトの名無しさん:2012/01/02(月) 15:39:50.24
互換性が無くなるようなコードを書く奴は、何使ったところでそういうコードを書く。
だから世の中に、ライブラリのバージョンを上げるなというプロダクトが山ほどある。
723デフォルトの名無しさん:2012/01/02(月) 21:18:26.15
Pythonでいう以下の処理はRubyではなんてライブラリをインポートしたらできますか?

import urllib2
import simplejson

url = ('https://ajax.googleapis.com/ajax/services/feed/find?' +
'v=1.0&q=Official%20Google%20Blog&key=INSERT-YOUR-KEY&userip=INSERT-USER-IP')

request = urllib2.Request(url, None, {'Referer': /* Enter the URL of your site here */})
response = urllib2.urlopen(request)

# Process the JSON string.
results = simplejson.load(response)
724デフォルトの名無しさん:2012/01/02(月) 21:22:02.53
require 'net/http'
require 'json'

調べる気皆無だろ
725デフォルトの名無しさん:2012/01/03(火) 00:49:48.42
>>719
>Rubyに致命的な所はマイナーバージョンが1上がるだけで互換性がない事だ

具体的に、どんな互換性が損なわれたの?
いままでそんなことに当たったためしがないから、知っておきたい。
726デフォルトの名無しさん:2012/01/03(火) 00:53:52.87
>>680
>utimeやchmod等を使ってステータスが変更された時間がctime

そうなんですか?試してみよう。

irb(main):001:0> File.ctime('foo.txt')
=> 2012-01-02 23:49:18 +0900
irb(main):002:0> File.utime(Time.now, Time.now, 'foo.txt')
=> 1
irb(main):003:0> File.ctime('foo.txt')
=> 2012-01-03 00:51:53 +0900

utime() 呼び出したらほんとうに ctime が変更されてるー!
しらなかった。どうもありがとうございました。
727デフォルトの名無しさん:2012/01/03(火) 08:46:18.51
ruby でこういう表現をするときの

a = 0
print "a の中身は #{if(a==0) then "0です" end}"

#{} ←部分の呼称ってあるんでしょうか?

他の言語でも同じようなことができるか調べたかったので
名前があれば知りたいのですが。
728デフォルトの名無しさん:2012/01/03(火) 09:05:51.15
JISだと挿入文字並び(interpolated character sequence)らしいけど、
普通変数展開とか式展開(変数じゃなくても式ならOKなので)かなー。
Perl由来の言い方だと variable interpolation だったと思う。
729デフォルトの名無しさん:2012/01/03(火) 09:07:19.37
式展開とかstring interpolationとか言う
変数でなく任意の式が文字列中に埋めこめるのは
Ruby以外ではちょっと浮かばない(探せばあるだろうけど)
730デフォルトの名無しさん:2012/01/03(火) 09:23:12.05
プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する
Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど
それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題
例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い

美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて
例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ
誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる
諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なので
バージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、
とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕

身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン
その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか
Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし
ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある
達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね
ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる
731デフォルトの名無しさん:2012/01/03(火) 09:29:30.09
tl;dr
732デフォルトの名無しさん:2012/01/03(火) 10:39:17.18
>>728-729
ありがとうございます。
他の言語だとあんまりない機能なんですね。
733デフォルトの名無しさん:2012/01/03(火) 10:47:26.99
「他の言語だとあんまりない」のは「変数ではなく式」を埋め込むってとこ。
734デフォルトの名無しさん:2012/01/03(火) 10:59:41.79
正確に言えば、「文字列の中に式を入れるという変態仕様」をしないってこと
見た目(文字列)とプログラムがきちんと分離されていない。
735デフォルトの名無しさん:2012/01/03(火) 11:01:56.99
>>724
こういうのってマニュアルでどう探したらよいでしょうか?
736デフォルトの名無しさん:2012/01/03(火) 11:02:03.71
二項演算子的なー
737デフォルトの名無しさん:2012/01/03(火) 11:27:38.78
a = m[3].nil? ? hoge : m[3]
って書いているところがあるんだけどm[3]を二度書いてるのが不満です
どう修正できますか?
738デフォルトの名無しさん:2012/01/03(火) 11:28:48.02
ごめんなさい自己解決しました
a = m[3] || hoge
でできました
739デフォルトの名無しさん:2012/01/03(火) 11:31:14.74
falseも偽なのでちうい。
740デフォルトの名無しさん:2012/01/03(火) 11:39:16.18
>>735
リファレンスマニュアルのライブラリ一覧でhttpだのjsonだののキーワードで検索するだけじゃん。
ruby http json とかでぐぐっても出るし。
だから調べる気皆無だろと。
741デフォルトの名無しさん:2012/01/03(火) 11:52:43.19
初心者スレで説教すか笑
742デフォルトの名無しさん:2012/01/03(火) 11:56:46.35
説教されたくなければ
よそに行くといいよw
743デフォルトの名無しさん:2012/01/03(火) 11:59:17.71
>>737
m[3]がnilでもfalseでも構わないなら
a = m[3] || hoge
744デフォルトの名無しさん:2012/01/03(火) 12:04:18.39
説教できるならスルーも出来るようになってほしい(´・ω・`)
745デフォルトの名無しさん:2012/01/03(火) 12:16:07.36
答えもせずに説教するならアレだけど
解答も入ってるんだから我慢しろよこのチンカス野郎
746デフォルトの名無しさん:2012/01/03(火) 12:33:53.00
>>744
断るw
ここはオレが自由きままに書きこむ場所だ。
747デフォルトの名無しさん:2012/01/03(火) 12:39:59.87
去年、俺はRuby王になると宣言した者だけど
未だに配列をforeachで出力する方法が何パターンもあって覚えられない
748デフォルトの名無しさん:2012/01/03(火) 12:40:44.47
俺はRuby使ってないけど、
1日あれば覚える自信がある。
749デフォルトの名無しさん:2012/01/03(火) 12:53:26.30
別に全パターン覚える必要ないだろ
好きな方法で適当に使っていればいい
あとからもっといい方法が見つかれば乗り換えたり使い分ければいいだけ
750デフォルトの名無しさん:2012/01/03(火) 16:16:45.74
>>739
falseが入ることはないので大丈夫です
ありがとう
751デフォルトの名無しさん:2012/01/03(火) 16:44:33.71
>>743
a = m[3] || hoge
ってaにm[3]を代入
ただしm[3]がnilまたはfalseの場合はhogeを代入

って捉え方でもあってる?
752715:2012/01/03(火) 16:56:22.77
あれからいろいろ試したらせっかく教えてもらった力技を使わずじまいになっちゃった
ちなみに下記の通り
class A
def hoge1{}
def hoge2{}
...
end

class B < A
(public_instance_methods - superclass.superclass.methods).each{ | overwride_name |
define_method(overwride_name){ p caller() ; super}
}
end

それで途中いろいろ試してて、
上記の親クラスのメソッドのオーバーライドの処理を子クラスのメソッドにしようとしたら上手くいかなかったんだけど、
クラス定義内でかつメソッド定義の外で記述された処理の省略されているレシーバ(self)は何を指してるの?
klassのインスタンス(クラスオブジェクト)?
また、クラスの中のメソッド定義内のレシーバ(self)はそのクラスから生成されたインスタンスオブジェクト?
動的にオーバーライドさせる機能のメソッド化ってrubyの仕組み上できるの?
753デフォルトの名無しさん:2012/01/03(火) 17:02:58.61
>>751
m[3]が真ならm[3]を、偽ならhogeを代入
aに m[3] || hoge の返り値を代入するだけだから、その捉え方はちょっと遠回り
754デフォルトの名無しさん:2012/01/03(火) 17:12:28.65
>>734
Perlも式展開できるよ。別にRubyだけ特殊というわけじゃない。

$a = 2;
print "$a x $a = @{[ $a*$a ]}\n";
755デフォルトの名無しさん:2012/01/03(火) 17:25:12.51
5からリファレンスつっこめば可能なんだったな。
756デフォルトの名無しさん:2012/01/03(火) 17:26:43.76
>>752
もはや図に書かないと何言ってんのかわからないレベル
757715:2012/01/03(火) 17:33:40.11
要はクラスBの
(public_instance_methods - superclass.superclass.methods).each{ | overwride_name |
define_method(overwride_name){ p caller() ; super}
}
をメソッド化したいだけなんだ
758デフォルトの名無しさん:2012/01/03(火) 17:37:26.46
もう全然わからんから define_class_method とか
define_instance_method とかどうなのよってのはどうなの
{instance,class,module}_exec とかでスコープ変えて define_methodとか
色々禿げあがるまで試すしかない
759デフォルトの名無しさん:2012/01/03(火) 19:42:12.34
>>725
1.9.2から1.9.3は結構非互換多いよ。単純に入れ替えたら動かなくなったし。
バグかも知らんけど。
760デフォルトの名無しさん:2012/01/03(火) 19:48:03.10
継承しないで alias してオーバーラップするのはだめなん?
761デフォルトの名無しさん:2012/01/03(火) 19:59:16.80
>>751
>>753も言ってるけど、
「“m[3]が真ならm[3]、偽ならhoge”を代入」であってそのとらえ方は順序が違う
って>>737の自分が言うのもあれだけど
762デフォルトの名無しさん:2012/01/03(火) 20:35:54.60
>>753 >>751
ありがとうございました
すっきり理解できました
763デフォルトの名無しさん:2012/01/03(火) 20:36:56.83
>>753 >>761
への返信でした
>>751の書き込みは私ですね
764デフォルトの名無しさん:2012/01/03(火) 20:37:35.79
あと三つほどわからない所があるんですが
よろしいですか?
765デフォルトの名無しさん:2012/01/03(火) 20:41:42.15
よろしいですわ
766デフォルトの名無しさん:2012/01/03(火) 20:42:15.37
よろしいですわ ///
767デフォルトの名無しさん:2012/01/03(火) 20:44:54.33
よろしくてよ
768デフォルトの名無しさん:2012/01/03(火) 20:53:10.55
Rubyの互換性の低さはどうにかならないのでしょうか?

REEが正統な本家になるといいです。

モルモン教は嫌いです。

の三本です。
769デフォルトの名無しさん:2012/01/03(火) 20:58:15.41
質問ひとつしかねーじゃねーか。
JISが出来た。ISOも提出されてるからその範囲では規格に従うんじゃねーの。
770デフォルトの名無しさん:2012/01/03(火) 20:59:55.57
互換性が低いという奴は、具体的にどの辺が問題なのか教えて欲しいな。
771デフォルトの名無しさん:2012/01/03(火) 21:01:14.67
互換性がない新しいRuby使うぐらいなら
他の言語に乗り換えてもいいじゃないかって

開発者が去っていくこと
772デフォルトの名無しさん:2012/01/03(火) 21:03:23.89
一緒に去ればいいじゃん。
何の問題もない。
COBOL時代でもないんだしフットワーク軽くしろよ。
773デフォルトの名無しさん:2012/01/03(火) 21:10:33.17
その結果、重要な開発者が去ってdbiのAPIバージョン変わったのに
アダプタ側の更新ないなって問題が発生する。
774デフォルトの名無しさん:2012/01/03(火) 21:13:43.50
単に自分がはまったから騒いでるだけじゃねーか
775デフォルトの名無しさん:2012/01/03(火) 21:14:05.38
ライブラリ作者が去っていくと
さらに普通の利用者も去りやすくなるな
776デフォルトの名無しさん:2012/01/03(火) 21:18:56.16
だから一緒に去ればいいだけなのに。
どんだけRuby愛してるんだよ。
777デフォルトの名無しさん:2012/01/03(火) 21:22:21.38
>>776
Rubyを愛したらダメですか?
778デフォルトの名無しさん:2012/01/03(火) 21:28:02.83
ダメにきまっとる
779デフォルトの名無しさん:2012/01/03(火) 22:19:13.55
Rubyが世界に相手にされてなくて不憫です(´;ω;`)

プログラミング言語 インデックス 備考
1 Java 17.561 17ヶ月連続1位
2 C 17.057
3 C++ 8.252
4 C# 8.205 インデックス値を大きく増やす
5 Objective-C 6.805 6位から5位へ浮上。上昇傾向
6 PHP 6.001 5位から6位へ下落。2ヶ月連続の下落
7 (Visual)Basic 4.757
8 Python 3.492
9 Perl 2.472 10位から9位へ戻る
10 JavaScript 2.199 9位から10位へ下落
11 Ruby 1.494
12 Delphi/Object Pascal 1.245

【ν速パソコン部】C,C++はもう古い。これからはC#
http://ikura.2ch.net/test/read.cgi/news/1325583758/
780デフォルトの名無しさん:2012/01/03(火) 22:50:03.72
Cが2位とかJavaScriptが10位とか色々おかしくないかそのランキング。
Rubyはそんなもんだろうけど。
781デフォルトの名無しさん:2012/01/03(火) 22:58:44.48
>>752のサンプルコードはちゃんと動いてるように見えるけど
何がどう上手くいかなかったのか、聞きたい事がなんなのか要領を得ない
「メソッド化」とかどういう意味?
782デフォルトの名無しさん:2012/01/04(水) 00:16:35.44
単に検索された数だからな
JavaはJavaScriptと混同してて
CとC++はゲーム作りたいんだけどとりあえずCってのをやればいいんだろ?ってノリなだけ
783デフォルトの名無しさん:2012/01/04(水) 00:46:15.65
>>768
1.8系でも使ったら?もう変わることはないよ。

>>779
何を数値化したのか知らんが、初心者スレで語る話じゃないな。
784デフォルトの名無しさん:2012/01/04(水) 00:49:48.24
>>783
初心者スレとは名ばかりでアンチとシンパの魂をぶつけ合うスレだから。ここは。
785デフォルトの名無しさん:2012/01/04(水) 01:03:04.51
>>784
いや、本スレよりよっぽど質問とか来るスレなんだが…
追い出しはよくないな
786デフォルトの名無しさん:2012/01/04(水) 01:04:43.06
'追い出し' => '初心者の追い出し'
787デフォルトの名無しさん:2012/01/04(水) 01:56:42.73
>>757
def create_debug_methods(klass)
klass.instance_eval do
superclass.public_instance_methods(false).each do |meth|
define_method(meth) { p caller() ; super }
end
end
end

class A
def hoge ; p :hoge ; end
def hello(name) ; p name ; end
end
class B < A ; end
create_debug_methods(B)

b = B.new
p b.hoge
p b.hello(:foo)
788デフォルトの名無しさん:2012/01/04(水) 09:34:09.16
>>759
で、きみが困った非互換とは具体的に何だったの?
おれはかなりrubyを使っているんだがそういうのに直面したことが、大昔の1.6−>1.8のcgi.rbぐらいなので、
みんな何に困ってるのか知りたい。
789デフォルトの名無しさん:2012/01/04(水) 09:53:06.43
%w記法で空文字列はどのように表現すればいいのでしょうか?

%w(foo ?? bar) => ["foo", "", "bar"]
790デフォルトの名無しさん:2012/01/04(水) 09:56:39.88
%w(foo \  bar)

やってみたらできただけで仕様上動作が保証されてるかは知らない
791デフォルトの名無しさん:2012/01/04(水) 10:03:47.06
あ、ごめん。空文字列じゃなくて " " になってた
>>790はなかったことに
792デフォルトの名無しさん:2012/01/04(水) 10:25:44.45
>>789
ttp://pc12.2ch.net/test/read.cgi/tech/1264635554/62,64,65
%wでは無理で%Wなら以下のようにできるそうだ
p %W[hoge fuga #{nil} ] #=>["hoge", "fuga", ""]
793デフォルトの名無しさん:2012/01/04(水) 10:27:28.73
あまり綺麗じゃないけど、
%W(foo #{''} bar)
くらいしか思いつかん。(大文字Wね)
794デフォルトの名無しさん:2012/01/04(水) 10:30:24.19
795デフォルトの名無しさん:2012/01/04(水) 10:36:02.11
>>792-794
d
%Wを使うんだね。
796715:2012/01/04(水) 11:29:35.27
トップレベルに記述してそれを子クラスに使いたかったわけじゃないんだ
子クラス内に記述し、メソッドとして定義して、
インスタンス化後に任意のタイミングで使用して親メソッドをラップするようにしたいんだ

最初は呼び出し元を表示する機能の付加だけを考えてたんだけど(トレースでの方法とか色々教えてもらったけど)
任意のタイミングで機能するラッパーにしたら他にも利用できそうだからいろいろ試してたんだ
でも、define_methodがクラス内の記述する場所によって通ったりエラー(NoMethodErr、Undefined等)をだしたりするから、
アクセス制限関連で省略されてるレシーバが実はクラス内でも違うんじゃないかと考え至った
それでそもそも上記のような事がrubyの仕組み上で出来るのかどうかや
自分の現段階での理解があってるかどうかが気になって再度質問したんだ
記述を子クラスにこだわるのはクラスの事は出来るだけそのクラス内でまとめたいから
797デフォルトの名無しさん:2012/01/04(水) 12:14:17.38
class A
def hoge ; p :hoge ; end
def hello(name) ; p name ; end
end
class B < A
def self.debug_on
instance_eval do
superclass.public_instance_methods(false).each do |meth|
define_method(meth) { p caller() ; super }
end
end
end
def self.debug_off
superclass.public_instance_methods(false).each do |meth|
remove_method(meth)
end
end
end

b = B.new
b.hoge
B.debug_on
b.hello(:foo)
B.debug_off
b.hello(:bar)
798デフォルトの名無しさん:2012/01/04(水) 12:44:36.54
>>797修正
class B < A
def self.debug_on
superclass.public_instance_methods(false).each do |meth|
define_method(meth) { p caller() ; super }
end
end
def self.debug_off
remove_method(*superclass.public_instance_methods(false))
rescue
end
end
799デフォルトの名無しさん:2012/01/04(水) 15:53:14.61

           ______
          r〃〃〃 f7⌒ろ)
           l‖‖‖ ||   f灯
            |‖‖‖ ||   | |
            |儿儿儿._」⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日〜2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。
800デフォルトの名無しさん:2012/01/04(水) 18:47:13.11
このスレはレベル高いよな
PHPスレとかバカの溜り場と化してる
801デフォルトの名無しさん:2012/01/04(水) 20:38:04.77
50歩100歩
802デフォルトの名無しさん:2012/01/04(水) 20:58:23.96
rubyでコマンドラインアプリを作っています。
そのアプリは多数の外部ライブラリ(rubygems)を利用しています。
コマンドラインのオプションによっては、ライブラリAを使ったり使わなかったりします。
ですので、ライブラリAをインストールされていなくてもアプリが動くようにしたいです。
ですが、先頭でrequire 'A'をした場合、エラーが起きてしまいます。

どうやって解決するのが良いでしょうか?
803デフォルトの名無しさん:2012/01/04(水) 21:07:46.66
動的に読み込む関数使えばいいんじゃねーの?
PHPならincludeみたいなの。

ま、Ruby知らないから何使うのかしら無いけどw
でも的中しているはずだから俺のことを信じて頑張って。
804デフォルトの名無しさん:2012/01/04(水) 21:23:54.95
>>802
先頭で require しなければいいだけでは。
もしくは使われた時に初めて require される autoload を使う。

require 'foo' # class Hoge と class Hage が入ってるとする

a = Hoge.new
...

autoload :Hoge, 'foo'
autoload :Hage, 'foo'

a = Hoge.new # ここで初めてロードされる
...
805デフォルトの名無しさん:2012/01/04(水) 21:24:31.97
>>802
条件判断してからrequireしたらいいんでないの
806デフォルトの名無しさん:2012/01/05(木) 01:38:34.01
あるいは、それぞれのrequireごとに個別にLoadErrorをrescueして無視する。
807デフォルトの名無しさん:2012/01/05(木) 01:39:31.46
ですよね
808デフォルトの名無しさん:2012/01/05(木) 11:36:12.58
プログラムの文字リテラルのデフォルト文字コードを途中から変えたいのですが
Encoding.default_internalへの代入では変更できないのでしょうか?
すべての文字リテラルの末尾に.tosjisをつけなければならない状況になりそうなので
方法があれば教えて欲しいです
Ruby 1.93です

# -*- coding: utf-8 -*-

puts "".encoding
Encoding.default_internal="Shift_JIS"
puts "".encoding

809デフォルトの名無しさん:2012/01/05(木) 11:54:40.56
>>808
リテラルは UTF-8 で全部書いてあるんでしょ?
それじゃ内部コーディング変更したらまずいんでないの?

別ファイルに分けたらどうかと思ってやってみたら見事文字化けしたぜ
810デフォルトの名無しさん:2012/01/05(木) 12:02:08.15
すまん
>>809 をちょっと訂正

別ファイルに分けたらちゃんと encoding わかれてたよ。

in euc.rb
# -*- coding: euc-jp -*-
puts "漢字".encoding
load "utf.rb"

in utf.rb
# -*- utf-8 -*-
puts "漢字".encoding

=>
EUC-JP
UTF-8

同じファイル内に複数エンコーディングのリテラル混在は無理でしょ。
そんな器用な保存出来るエディタもないだろうし。
811デフォルトの名無しさん:2012/01/05(木) 12:20:51.44
ファイルはUTF-8で保存しています
エディタというかRuby内部でリテラルのエンコードを途中から変えてくれる機能はないのでしょうか?

具体的にやりたいことは
function1("文字列")
function2("文字列")
と、あって
UTF-8で渡していいようには作られていないライブラリの関数だったので
function1("文字列".tosjis)
function2("文字列".tosjis)
↑こんな記述を大量に書かなければいけない状況です
なのでこの.tosjisをはずしたいのですが
812デフォルトの名無しさん:2012/01/05(木) 12:25:50.03
>>811
ラッパー書けばいいじゃん
def wrap_function1(str)
function1(str.tosjis)
end
813デフォルトの名無しさん:2012/01/05(木) 12:36:25.12
その手がありました
ありがとうございます

ちなみにこんな感じに

alias func2 func
def func t
 func2 t.tosjis
end
814デフォルトの名無しさん:2012/01/05(木) 12:42:20.20
>>811
内部リテラルのエンコードってのは、
内部リテラルが何で記述されているか、を示しているわけだから
UTF-8で保存されているのをsjisとみなすのは無理だよ。

シンプルに shift_jis で漢字を記述したファイルつくって
-*- coding: utf-8 -*- で encoding 出してみればわかる。

>>812 みたいにしたり、継承したり特異メソッド作ったりするのが正攻法だと思うけど。

class ExternalLib
def something(shift_jis_string)
# do something
end
end

class CustomLib < ExternalLib
def something(any_string)
super(any_string.tosjis)
end
end
815デフォルトの名無しさん:2012/01/05(木) 12:49:18.13
>>814
ごくろうさん
816デフォルトの名無しさん:2012/01/05(木) 13:01:01.83
class A
...
end

class B < A
def method
@@x = self.class
class << self
p @@x.superclass

=begin
この特異クラス記述部分からAクラスを参照したいんだけど
普通にself.superclassやったらClassを参照しちゃう
直書きやクラス変数で渡す以外に何か手はない?
シングルトンクラスからオブジェクトを参照するメソッドがあっても良い様に思えるんだけど
探しても見つからなかったよ
=end

end
end
end
817デフォルトの名無しさん:2012/01/05(木) 13:45:11.20
>>816
class B < A
def method
class << self ; self ; end.class_eval do
#
end
end
end
818デフォルトの名無しさん:2012/01/05(木) 15:55:37.61
>>817
初心者スレなんだからもうちっとわかりやすく書こうぜ。

class B < A
 def method1
  singletonclass = (class << self; self; end)
  singletonclass.class_eval do
   # ここは単なるブロックなのでAを参照できる
  end
 end
end

つうか単に ::A とすれば済む話かもしれない。
819デフォルトの名無しさん:2012/01/06(金) 22:01:41.42


 東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
 もろに北朝鮮と繋がっているテレビ局が1つ  
年寄はまだまだテレビという外国人に騙され続ける
820uy:2012/01/07(土) 08:55:01.19
rubyの開発環境作ってまじではやく

RDEでやるのはそろそろ限界ぽ
文字コード周りでまた新たなバグがでてきた

なんでこんなにゴミッカスなんだよ
俺様に作れっていってんの
ざけんなカス
821uy:2012/01/07(土) 08:56:36.17
今俺様はそれなりに忙しい
プログラミングなんてやっている暇はない
ああ面倒くさい
1日で作れるんかな

つうか作るとしたら前々から思ってた
ifやforの記号化をしたいから
アアアアアアアアアアアアアアアアアアもううwぁぁあああああああああああああああああああああ
822uy:2012/01/07(土) 08:58:27.72
欲しいのは色分けなんだよ
マクロ機能は
毎日ゴミグラミングやってる奴だったら、自分が登録したマクロは覚えているんだろうけど
俺様は1ヶ月に1回くらいしかもうやっていないから自分がそのとき登録したマクロなんて
1ヵ月後まで覚えちゃいないからマクロはいらない
色分けさえ出来てればはっきりいって満足
こだわらずやれば1日でいけるか
やらねーよカス
823uy:2012/01/07(土) 08:59:50.53
つうかUTF-8ってなんだよ
すべての元凶はここにあるだろ
文字コード

世界で最初に文字コード作った奴等がすべて悪い
824uy:2012/01/07(土) 09:03:02.76
ハハハッ

再帰もかけないゴミカスがこのレスを読んでるwwwwwwwwwwwwwwwwww
必死にレスを考えてるwwwwwwwwwwwwww
>>825-9999999999
チョッギルルルッリリリィィイイイイイイイィィwwwwwwwwwwwwwwwwwwwwwwww
825デフォルトの名無しさん:2012/01/07(土) 09:07:03.65
xyzzyを使って、どうぞ
826デフォルトの名無しさん:2012/01/07(土) 10:04:13.59
>>824
再帰なんか書くゴミグラマーは死滅しろよw
827デフォルトの名無しさん:2012/01/07(土) 10:25:02.08
forとかつかわねーなあ
828デフォルトの名無しさん:2012/01/07(土) 10:31:21.84
ifやforの記号化で思い出したけど
APLとかJとか使ってる人って今もいるんだろうか
829デフォルトの名無しさん:2012/01/07(土) 13:25:26.14
>>831
>チョッギルルルッリリリィィイイイイイイイィィ

これはどういう意味なんだろ....

アナタハニホンジンデスカ? >> uy
830デフォルトの名無しさん:2012/01/07(土) 13:56:46.78
外部サイトから取得してきた文字列を変数pに入れます
この文字列の文字コードが何かを調べる方法はありませんか?
それとこの文字コードをUTF-8に変換する方法を伝授してください

p = "ここに文字コードが分からない文字列が入っている"
831デフォルトの名無しさん:2012/01/07(土) 14:01:39.96
gemでインストールしたパッケージを削除したいのですが依存も含めて削除するにはどうやるのでしょうか?
WindowsでRubyをインストールした状態のときのgemのときに戻したいのです
単純にgem uninstallってやったら
ERROR: While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
ってエラーになりました
832デフォルトの名無しさん:2012/01/07(土) 14:11:10.45
>>830
kconv.guess(p)
p.toutf8
833デフォルトの名無しさん:2012/01/07(土) 14:13:03.22
>>830
変数名として p はかなり悪い部類に入る
文字列の変数名として特になにも思いつかない場合は str か s を使うとよい

で、日本語の文字コーディングシステム(文字コード、文字エンコード)の推定をするライブラリで精度が高いのは今のところ NKF しかない
これのせいで NKF を捨てられない人多数

# Ruby 1.8.x 用
require 'nkf'
%w[UNKNOWN ISO-2022-JP CP932 NOCONV BINARY us-ascii UTF-8 '' UTF-16 '' '' '' UTF-32][NKF.guess('にほんご')]

# Ruby 1.9.x 用
require 'nkf'
p NKF.guess('にほんご').name

変換に使うライブラリは、「推定が間違っていた場合どうするか」と「変換エラーな文字をどうするか」で結構違う
Ruby 1.9.x なら String#encode でいいと思うけど、1.8.x の場合はどうしよう
834デフォルトの名無しさん:2012/01/07(土) 14:14:51.26
>>831
gem ディレクトリばっさり削除でいいんじゃなかろうか
835デフォルトの名無しさん:2012/01/07(土) 14:15:12.47
>>831

* gem dependency とやって、依存がないものから消していく。
(development dependencyがあっても無視していい)

* rubyに付いてくる(ダミー)gemは
bigdecimal/io-console/json/minitest/psych/rake/rdoc
なので、それ以外を消す。
ただし、「Windowsでインストールしたときの状態」が他に有用そうなものを
同梱したパッケージングになっているかもしれないな。

* gem-orphan というgem拡張gemを入れて gem orphan を実行。(判定はわりと適当気味?)
836デフォルトの名無しさん:2012/01/07(土) 15:38:04.18
>>829
トゲピーだろ
837デフォルトの名無しさん:2012/01/07(土) 15:44:55.31
マリオに出てくるアレか
838デフォルトの名無しさん:2012/01/07(土) 15:48:06.88
それはテグザー
839デフォルトの名無しさん:2012/01/07(土) 22:10:00.48
Windows版Ruby1.9.3のFileあたりのバグって直りそう?
840デフォルトの名無しさん:2012/01/07(土) 22:19:44.31
どんなバグあったん?
cygwin だと ~ の expand がおかしかったから手を入れてごまかしたが。
841 忍法帖【Lv=13,xxxPT】 :2012/01/07(土) 23:44:04.97
ninja
842デフォルトの名無しさん:2012/01/08(日) 00:03:37.83
rubyのソースコードをきれいに整形するものってどこかにないですか?
eclipseのRDTだとある程度きれいにしてくれるけど、例えば

a=b.method(1,2)

みたいなのを

a = b.method(1, 2)

みたいなレベルできれいにしてくれるものがあったら精神衛生上非常に良いのだけど。
843デフォルトの名無しさん:2012/01/08(日) 00:18:33.49
インデント系のしかしらないなぁ・・もっともそんなのエディタレベルで充分やってくれるもんね。
1.9から ripper 標準搭載になったわけだし誰かしら作っててもよさそうなもんなんだけど。
844デフォルトの名無しさん:2012/01/08(日) 00:42:14.52
22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0
AKB=金正恩

この意味わかるか
AKBという捏造ブームの裏に何があるか見えるか?


845デフォルトの名無しさん:2012/01/08(日) 01:29:10.39
Rubyでは何がキレイなコードなのか
明快な合意が得られないような気がする

Cでも例えば if (expr) か if ( expr ) かとか
細かい流派の違いがあったりするし
846デフォルトの名無しさん:2012/01/08(日) 01:35:41.08
他言語でよくあるタイプのだとそういう細かい整形ルールを予め設定出来るのが多いよね。
eclipse 上の Java とかそんな感じだ。プロジェクト毎に統一するわけやね。
847デフォルトの名無しさん:2012/01/08(日) 01:41:31.15
>>840
前スレ参照
foreachだかでイテレータ作るとバイナリモードの指定が無視されるとか
848デフォルトの名無しさん:2012/01/08(日) 12:30:42.21
ある文字列集合に特定の文字列が含まれているかどうか知りたいとき、
以下の方法で速度は違う?あるいはハッシュを使った方が早い?

a = ["apple", "banana", "orange"]
a.index("orange") #OK
a.index("lemon") #NG

a = {"apple" => 1, "banana" => 1, "orange" => 1}
a["orange"] #OK
a["lemon"] #NG
849デフォルトの名無しさん:2012/01/08(日) 12:44:45.42
ハッシュの方が明らかに速い。
indexは線形探索。
850848:2012/01/08(日) 12:45:43.48
了解です。ありがとうございます。
851デフォルトの名無しさん:2012/01/08(日) 12:46:01.67
一応 set ってのもあるけど微妙に使いづらいんだよな。
852デフォルトの名無しさん:2012/01/08(日) 13:03:31.83
Array#index や Array#include? はコレクションの先っちょから順番に探すので、
Array のほうが毎回確実に速いというパターンはありうるけど、あんまし頻繁にある事象ではないな…

ちなみに一番時間がかかりうるのが String#equal? だったずなので、
長大な文字列ばっかりでどーしても遅いという場合はどうにかするといい
853デフォルトの名無しさん:2012/01/08(日) 13:34:04.84
もし〜〜の結果がnilじゃなかったら実行するって時に効率よいやり方知ってる?例えば以下の感じ。

for i in 0..18 do
 result = []
 result << Date.MONTHNAMES[i] if Date.MONTHNAMES[i]
end

result<< の部分でDate.MONTHNAMESを2回も書きたくないわけよ。
854デフォルトの名無しさん:2012/01/08(日) 13:39:40.92
>>852
ハッシュの場合はまずハッシュ値で探すから長大な文字列かどうかはあんまり関係ないよ。
855デフォルトの名無しさん:2012/01/08(日) 13:42:55.96
>>853
ちょっと思いつかないな・・・
自分は大人しく適当な短めの変数に受けてニ回書いてる気がするわ。
856デフォルトの名無しさん:2012/01/08(日) 13:48:34.35
forは使うな(迫真)

この手の問題は結構みんな困ってて、
result = []
0.upto(18) do |i|
if s = Date.MONTHNAMES[i]
result << s
end
end
とか条件のとこで変数代入したりしてごまかしてる
でも今これ単体で試したら警告が出るな…
> warning: found = in conditional, should be ==
857デフォルトの名無しさん:2012/01/08(日) 13:56:45.04
lisp の anaphoric if みたいのが欲しいということかな?

(aif (hoge)
  ;; (hoge) の結果が it という変数に束縛される。
  it)
858デフォルトの名無しさん:2012/01/08(日) 13:59:42.05
>> 855, 856, 857
ありがとう、わかりました。やっぱりここはある程度しょうがないのね。。
859デフォルトの名無しさん:2012/01/08(日) 14:12:19.13
foo.bar if foo
  ↓
foo..bar
くらいは欲しい所
860デフォルトの名無しさん:2012/01/08(日) 14:26:23.55
>>853
result = Date.MONTHNAMES.select{|e| e} とか書けるよ
そのくらい知ってるならスルーで
861デフォルトの名無しさん:2012/01/08(日) 14:30:33.99
そこまでして無理矢理にやりたいわけじゃないだろw
862デフォルトの名無しさん:2012/01/08(日) 14:43:12.49
>>860
それちょっと意味ちがわね?
863デフォルトの名無しさん:2012/01/08(日) 14:44:14.55
>>857
elisp でそのマクロ設定したら超はかどった記憶がある。
864デフォルトの名無しさん:2012/01/08(日) 15:06:31.26
>>853
(0..18).map{|i| Date.MONTHNAMES[i]}.compact
でいいんじゃないの?
865デフォルトの名無しさん:2012/01/08(日) 15:10:02.13
MONTHNAMESが18もあるわけないからnilが6つばかし無駄になるぞ
866デフォルトの名無しさん:2012/01/08(日) 15:23:48.67
というかあくまで >>853 のは単なる一例でループしてるのはとかはあんまり関係なくて、
if の条件部分が二度出るようなケースをどうにかならんのかって話だと思ったんだが。
867デフォルトの名無しさん:2012/01/08(日) 15:26:17.95
>>866
そんな難しい隠れた条件読めるはずないじゃないですかやだー!
868デフォルトの名無しさん:2012/01/08(日) 15:27:37.87
>>852
探索に強い偏りがあるなら自己再構成リストはアリかもしれない
発見した要素をArrayの先頭に挿入しなおす

……RubyのArray実装って、先頭を操作すると
全体がコピーし直されたりするんだっけ?
もしそうなら効率は逆に悪化してしまうかもだが
869デフォルトの名無しさん:2012/01/08(日) 15:30:44.37
いわゆる aif のようなアナフォラが許されるなら

result << it if Date.MONTHNAMES[i]

と書けるんじゃないかっていう話か
Groovyとかでは出来ないのかなあ
870デフォルトの名無しさん:2012/01/08(日) 15:30:44.09
Arrayってなんてよむの?
871デフォルトの名無しさん:2012/01/08(日) 15:31:10.06
荒井
872デフォルトの名無しさん:2012/01/08(日) 15:35:47.55
(it = Date.MONTHNAMES[i]) && (result << it)
みたいな書き方はたまにしてしまうけど
イマイチなんだよなぁ
873デフォルトの名無しさん:2012/01/08(日) 15:35:53.96
>>870
英単語読みとしても歴史的カタカナ読みとしてもアレイとお読み下さい
アクセントは「レ」にお願いします
874デフォルトの名無しさん:2012/01/08(日) 15:43:33.04
>>867
>>853
>もし〜〜の結果がnilじゃなかったら実行するって時に効率よいやり方知ってる?
875デフォルトの名無しさん:2012/01/08(日) 15:47:54.68
>>868
unshift のことならしっかり memcpy で移動してるよ。
array なんぞ使わずに普通に連結リストで実装すればいいんじゃないの。
876デフォルトの名無しさん:2012/01/08(日) 15:50:53.50
>>853
>for i in 0..18 do
> result = []
> result << Date.MONTHNAMES[i] if Date.MONTHNAMES[i]
>end

これって
result = []
for i in 0..18 do
 result << Date.MONTHNAMES[i] if Date.MONTHNAMES[i]
end
の間違い?もしそうだとして、
x = nil
result = []
for i in 0..18 do
 result << x if (x = Date.MONTHNAMES[i])
end
と書けるはず。最初にxを初期化することでxがローカル変数であるとRubyに認識させるのが大事らしい。
まあこの場合なら
(0..18).collect {Date.MONTHNAMES[i]}.compact
がいいだろうけど。
877デフォルトの名無しさん:2012/01/08(日) 16:05:17.55
>>866
そういう話だと一発で看破できるかどうかが、ぶっちゃけけっこう分かれ目だとは思う
878デフォルトの名無しさん:2012/01/08(日) 17:54:34.89
どうせ一回しか書かないんだから我慢して書いちゃえよw
879デフォルトの名無しさん:2012/01/08(日) 18:19:48.96
クラスフルパスやメソッドチェーンがすっげぇ長いとか、実行に際して副作用があるので1回しか実行させたくないとか、けっこう該当場面はある
言語レベルでサポートしてもらえたなら、まあ、そりゃ素敵ではあるが…
880デフォルトの名無しさん:2012/01/08(日) 19:14:19.93
震災前

     /::::::::::::::::::::::::::::::;;::ノ ヽ;::\
    /::::::::;;;;;;;;;,,,;;...-‐''"~    ヽ:;::l
     |:::::::::::|    岡田 異音    |ミ|
     |:::::::/     ,,,  ヽ,、   '|ミ|  
     '|:::::::l    '''""   ゙゙゙゙`   |ミ|
       |:::::|.  ,,r ‐、   ,, - 、  |/
     ,/⌒|  ノ ・ _), (. ・ `つ|
     | (   "''''"    |"'''''"  | 
      ヽ,,.        ヽ    |
       |       ^-^_,, -、   |   
         |    _,, --‐''~    ) |  マニフェストもう守れない。どうしよう・・・・ 
         'ヽ  (   ,r''''''‐-‐′ / 


震災後

     |:::::::::/            |ミ|
     |::::::::|   ,,,,,    ,,,,,   |ミ|
     |彡|.  '''"""''   ''"""'' |/
     /⌒|  -=・=‐,   =・=-  |
     | (    "''''"   | "''''"  |  
     .ヽ,,         ヽ    .|  キリッ
        |       ^-^    |
   .     |     ‐-===-   |   大震災が起こったのだからマニフェストの破綻も致し方ありません
         ,\.    "'''''''"   / 
朝鮮民主党
     おわり
881デフォルトの名無しさん:2012/01/08(日) 21:55:56.29
ちょっと違うけど
Groovyにある ?: 演算子みたいなのがあるといいね

メソッドで作ると
class Object
def 真ならレシーバーを偽なら引数を返すメソッド(arg=nil)
if block_given?
(yield self) ? self : arg
else
self ? self : arg
end
end
end

foo = ''
foo.真ならレシーバを偽なら引数を返すメソッド( '偽' )
foo.真ならレシーバを偽なら引数を返すメソッド( '空文字列' ){|e| !e.empty?}
見たいなのが標準装備されんかな

>>859
Groovyの ?. 演算子とか

メソッドチェーンを途中で打ち切る演算子だから
こればっかりはメソッドではどうにもならないなぁ
882デフォルトの名無しさん:2012/01/08(日) 22:22:42.21
メソッドチェーンを打ち切りたかったら
例外出せばいいよ。
883デフォルトの名無しさん:2012/01/09(月) 09:49:08.24
>>808
Encoding.default_internal はリテラルのエンコードを示しているわけじゃないよ。
何かと入出力するときのデフォルトの内部コードを示しているだけ。

ファイル開いたりした時に内部エンコード指定を省略するとその値が使われる。
884デフォルトの名無しさん:2012/01/09(月) 15:49:59.64
逆引きrubyのサイト、荒らされてね。。。?
885デフォルトの名無しさん:2012/01/09(月) 16:07:43.82
記事消失だな
886デフォルトの名無しさん:2012/01/09(月) 16:17:20.65
やったね!
887デフォルトの名無しさん:2012/01/09(月) 16:54:05.04
さぁみんなぁ〜〜〜〜俺のメタ言語に進化した散文詩をきいてくれたまえぇ〜〜
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1179007636
888デフォルトの名無しさん:2012/01/10(火) 09:41:28.91
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している

野田内閣は過半数が帰化人

野田はどうだろうか
韓国人から賄賂を貰い、韓国人の集いに出席している野田は
889デフォルトの名無しさん:2012/01/10(火) 10:59:01.82
http://jvn.jp/cert/JVNVU903934/index.html
これってRuby1.9.3で修正版出てますか?
890デフォルトの名無しさん:2012/01/10(火) 11:20:22.46
>>889
そこのリンク先見ればわかるけど、 1.9 系は最初から問題ないっす。

> All Ruby 1.9 series are not affected by this kind of attack.
891デフォルトの名無しさん:2012/01/10(火) 11:25:05.93
>>890
まじすか
アンインストールしてしまいました
また入れなおします
892デフォルトの名無しさん:2012/01/10(火) 11:43:20.43
>>891
正月発表のWebフレームワーク関連のハッシュテーブルがうんたらはこっち読め
http://www.ipa.go.jp/security/ciadr/vul/20120106-web.html
そのサイトは簡素でブン投げ過ぎる
893デフォルトの名無しさん:2012/01/10(火) 15:55:48.92
>>892
サンキュ

rubyのサイト不親切すぎ
894デフォルトの名無しさん:2012/01/10(火) 16:00:02.95
英語リソースのほうが充実しているのはいつものことなのでもうなんとも思わん
895デフォルトの名無しさん:2012/01/10(火) 16:11:38.80
せめて英語公式にあるものくらいは日本語に訳して置いておいて欲しいとは思う
そんなに人員足りないのだろうか
896デフォルトの名無しさん:2012/01/10(火) 16:26:31.73
自分で英語読める場合、一々翻訳しておいておこうって意欲がわかんしな。
897デフォルトの名無しさん:2012/01/10(火) 18:02:46.34
翻訳が間に合わないにしても原文へのリンクぐらいは置いとくべきだわな
開発陣のセキュリティ意識の低さが如実に現れたね
898デフォルトの名無しさん:2012/01/10(火) 18:05:25.01
>>897
というか、Ruby本家公式サイトは今も昔も英語版のほうなので…
899デフォルトの名無しさん:2012/01/10(火) 18:24:06.90
訳すも何もmputが最初から英文オンリーで投稿してるわけで。
900デフォルトの名無しさん:2012/01/10(火) 19:14:27.63
本格的に使い始めたら、どっちみち英語ページとか見る事になるから、英語読めるようになっといた方がいいんじゃないの?
901デフォルトの名無しさん:2012/01/10(火) 19:16:55.20
英語も読めないプログラマーなんているの?(笑い)
902デフォルトの名無しさん:2012/01/10(火) 19:18:03.73
あのサイト構成でそれはないわ
903デフォルトの名無しさん:2012/01/10(火) 19:19:59.55
あんたは世間知らずだな。大勢いるよ
904デフォルトの名無しさん:2012/01/10(火) 19:53:11.91
たしかになあ。
Accept-Language が ja だと強制的に日本語ページに飛ばされる上に
英語ページへのリンクはフッタまで見ないと辿れないという。
905デフォルトの名無しさん:2012/01/11(水) 00:35:42.82
まあ、パッチ作った人は、日本語メインページの編集権を持って
無かったのだろうな
906デフォルトの名無しさん:2012/01/11(水) 00:43:25.81
ていうか、これがこれであれなんだし、最初は用意できてなくても仕方ないとしても、そろそろできていいよね
907デフォルトの名無しさん:2012/01/11(水) 00:54:34.80
MLとかいろんなモノの
翻訳プロジェクトみたいなのがなかったっけ?
908デフォルトの名無しさん:2012/01/11(水) 00:56:07.08
>>906
重要度はわりと上で話題にもなってるので、Rubyとしての日本語リソースをなんとかしてくれるとホントは嬉しいな
しかも初心者スレの話題じゃねえ
909デフォルトの名無しさん:2012/01/11(水) 00:57:44.78
このタイミングで日本語ページなんて作ったら俺が2ちゃんねらだってバレるじゃないかっ…!
910デフォルトの名無しさん:2012/01/11(水) 10:41:44.94
に、2ちゃんねるを見た人に頼まれたんだよ!
という体でひとつ
911うしうしタイフーンφ ☆:2012/01/11(水) 11:14:00.80
今年は丑年!
みんな夜露死苦ね
912デフォルトの名無しさん:2012/01/11(水) 13:07:26.82
>>904
yes, and
ふだん日本語のページしか見に行ってないから
情報が英語ページにだけあるというのは想定外だった。

そう知ってれば英語ページも見に行くのだろうが。

rubyにはお世話になっています。
913デフォルトの名無しさん:2012/01/11(水) 14:17:26.09
         __________       |  見ろよ!                 |
       ./::::::::::::::::::ノ、ヽ     |  民主党支持者がいるよ!w  |
      ./:::::::;;;-‐‐''"´  |:::|     \____  ________/
      |:::::::|   。   .|:::|        ノ´⌒ V        _____
      .|::::/ ⌒   ⌒ ヽ:|     γ⌒´      ヽ,     / _____)
       |:::| /・\ /・\||    // ""⌒⌒\  )    | /        ヽ
げひひw .|´  ⌒_ ヽ⌒  |  .   i /   ⌒   ⌒ヽ )     | 〉 ⌒   ⌒  |
      .| :::⌒(__人_)⌒|    !゙   /・\ /・\i/      |/. /・\ /・\ヽ
⊂ ̄ヽ___ ヽ   \__| ⊂ ̄ヽ_ |  :::⌒(__人_)⌒⊂ ̄ヽ_ | ::::⌒(__人_)⌒:: |
  <_ノ_    ヽ_    _/ <_ノ_. \     \__|  / .<_ノ_ \ ´ \__|  ノ  い〜ひっひw
   
914デフォルトの名無しさん:2012/01/11(水) 19:03:50.39
Emacsで書いてる時に、
array = [
 "foo",
 "bar",
 "baz",
]
↑こうなって欲しいのに、実際には↓のようになってしまう。
array = [
    "foo",
    "bar",
    "baz",
    ]
これを直して、上のようなインデントにするにはどうしたらいい?
emacs-versionは22.3.1です
915デフォルトの名無しさん:2012/01/11(水) 19:05:07.73
いや、Emacsスレいけよそれは。
916デフォルトの名無しさん:2012/01/11(水) 19:05:37.11
それはRubyスレで聞くことではない
917デフォルトの名無しさん:2012/01/11(水) 19:22:42.40
それはできたような気がするが、残念ながらあんまり一般的ではないので注意
他の人の書いたスクリプト読み込むと再インデントしにくくなるぞ
918デフォルトの名無しさん:2012/01/11(水) 19:33:49.77
多重代入について質問。
lvar = *rvar
のときの挙動について、仕様が知りたいんだけど、どこ見たらいい?
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2foperator.html#multiassign
にはなさそうだった。
919デフォルトの名無しさん:2012/01/11(水) 20:18:50.57
どこにもない。あえて言うならソース。似ているので良ければメソッド呼び出し
920デフォルトの名無しさん:2012/01/11(水) 20:19:02.87
それ多重代入になってないんじゃないの
921デフォルトの名無しさん:2012/01/11(水) 20:22:58.23
>>914
NetBeandsだとちゃんと上のようになるからEmacsのバグっぽいな。
922デフォルトの名無しさん:2012/01/11(水) 20:59:19.98
>>921
Emacs の Ruby 用スクリプトを書いている人の趣味かもしれないので、
バグかどうかは分からないのでは?
923デフォルトの名無しさん:2012/01/11(水) 21:01:04.46
>>918なんだけど、
lvar = *rvar
では、
・rvarがArrayのときは lvar = rvar と同じ
・rvarがそれ以外の時は lvar = [rvar] と同じ
という理解でいいでしょうか。
これら以外の場合分けがあるのか教えて下さい。
924デフォルトの名無しさん:2012/01/11(水) 21:02:53.35
>>915,916
rubyのソースにruby-model.elがついてくるんだから、ここで聞くほうがいいと思うよ。
925デフォルトの名無しさん:2012/01/11(水) 21:08:51.80
ruby-modeで独自に設定してるわけじゃないので、やっぱEmacsスレのほうがいいと思うけどなあ
926デフォルトの名無しさん:2012/01/11(水) 21:12:57.86
>>924
>>914 が Emacs のバージョンしか明示していないので、
Emacs に付属している ruby-mode を使っているのかな。

その場合はどうなんだろう?
927デフォルトの名無しさん:2012/01/11(水) 21:13:20.58
うちの ruby-mode は普通に↑のケースになったから
>>914 の設定が変なだけだろ。
928デフォルトの名無しさん:2012/01/11(水) 21:37:23.23
キーワードのあとにある閉じていないカッコのあとに改行をした場合
直前のキーワードの終わりの深さにインデントを揃えるという設定自体は
ruby-mode に書かれてると思う

ということで ruby-deep-indent-paren を nil
ただしこれは

method_name(long_arg1,
         long_arg2,
         long_arg3)

method_name(long_arg1,
  long_arg2,
  long_arg3)
にしてしまう
929デフォルトの名無しさん:2012/01/11(水) 21:48:28.66
ruby-deep-indent-paren から [] に関する情報削ればいいんじゃね
930デフォルトの名無しさん:2012/01/11(水) 21:49:50.16
何スレだよ
emacsよりIDEを語れよ
931デフォルトの名無しさん:2012/01/11(水) 21:53:27.61
>>928
その設定でいけました。たいへんさんくすです。

>>927
emacs22.1.1 + ruby-mode.el (ruby-1.9.3-p0付属) でも
emacs22.3.1 (CarbonEmacs) でも同じ結果だったから
変なのはそっちの環境だと思う。
932デフォルトの名無しさん:2012/01/11(水) 21:55:00.38
>>929
これどうやって削るんだかさっぱりわかんにゃい
? ってなんで書いてあるんだ
933デフォルトの名無しさん:2012/01/11(水) 21:56:26.27
>>932
それこそスレ違い。
934デフォルトの名無しさん:2012/01/11(水) 22:00:30.36
>>928は要件満たしてない
>>929が正しい
935デフォルトの名無しさん:2012/01/11(水) 22:16:26.83
>>931
M-x describe-variable ruby-mode-version いくつ?
936デフォルトの名無しさん:2012/01/11(水) 22:19:58.68
>>935
931に
> ruby-mode.el (ruby-1.9.3-p0付属)
ってかいてあるじゃん
937デフォルトの名無しさん:2012/01/11(水) 22:22:11.91

800 自分:名無し募集中。。。[] 投稿日:2012/01/08(日) 22:00:50.04 0
AKBブーム捏造の裏

サウンドスキャンの売り上げでさえほとんどが業者の自社買い他社買いで
資金洗浄した金額がオリコンの枚数×CDの価格って感じかね
http://livedoor.blogimg.jp/dqnplus/imgs/f/f/fff69a26.jpg

938デフォルトの名無しさん:2012/01/11(水) 22:32:12.84
>>936
ruby-mode は ruby 1.9.3 に付属の方が emacs 本体付属よりバージョン低いのに内容が新しいという
わけわからん状態になっていてだな。
939デフォルトの名無しさん:2012/01/11(水) 22:34:34.95
emacs使ってる奴は一周回って情弱
940デフォルトの名無しさん:2012/01/12(木) 01:21:34.76
>>923
class Test
def initialize(*arg) ; @ary = arg ; end
def to_a ; [0] + @ary + [-1] ; end
end
t = Test.new(1,2,3,4,5)
a = *t #=> [0,1,2,3,4,5,-1]
941デフォルトの名無しさん:2012/01/12(木) 04:17:39.60
>>940
なにがいいたいのかわかんない。コミュ障?
942デフォルトの名無しさん:2012/01/12(木) 04:20:13.48
>>928
むしろメソッド呼び出しは下のが好きな俺は異端?
正確には最初の引数から既に次の行に書くのだけれども
943デフォルトの名無しさん:2012/01/12(木) 08:11:29.60
>>928みたいな引数改行インデントのどんなのがかっちょええか見やすいか便利か論理的かというのはぶっちゃけ答が出ない
理屈としてはカッコ開始にインデント揃えたほうがよさげなのだが、
実際に書くときはかなり書きづらいし、ものによっては文字通り「浮いて」て見映えもアホっぽい
944デフォルトの名無しさん:2012/01/12(木) 16:10:34.23


2chやニコニコ動画に民主党から反日工作費が流れていることが知られるようになってきた。
民主党が用意した資金で工作員が2chを荒らしていることもだんだんと知られるようになってきた
945デフォルトの名無しさん:2012/01/13(金) 10:30:45.48
Ruby/tkの入力関係について質問です
WindowsでTkEntry等へ日本語入力を行うと動作が停止してしまいます.
軽く検索をかけてみても良さげな解決策が見つかりませんでした.
Windows7の64bit,rubyのバージョンは1.8.7,ActiveTclは8.6.0.0を使用しています.
もしバージョンのかみ合わせが悪いだけならうまく動く組み合わせを教えていただけませんか?
946デフォルトの名無しさん:2012/01/13(金) 11:39:19.37
Ruby1.9で、パースした結果のバイトコードをファイルにキャッシュする方法ってなかったっけ?
ちょうどPythonみたいな感じ。
947デフォルトの名無しさん:2012/01/13(金) 11:41:44.30
まだない
948デフォルトの名無しさん:2012/01/13(金) 12:22:57.80
>>947
./configure時のオプションで指定するとかできませんでしたっけ?
949デフォルトの名無しさん:2012/01/13(金) 13:56:28.44
なんでそこで粘るのかね
即レスだったから?

YARVに吐かせたバイトコードを保存して再度YARVに渡すことで理屈的には同じことができるはずだが、おそらく望んだものではないと思う
950デフォルトの名無しさん:2012/01/13(金) 19:23:01.80
forkした子プロセスにタイムアウトを指定して、何秒以上たったら強制的に終了させたい。
どういう方法がいいでしょうか。
951uy:2012/01/13(金) 20:31:17.53
スレッド作って
スレッド内でforkして
スレッド内で秒数数えて
スレッドからプロセスexitして
スレッドもexitする
952デフォルトの名無しさん:2012/01/13(金) 20:32:01.26
>>950
Process.kill
953デフォルトの名無しさん:2012/01/13(金) 21:35:12.01
timeout モジュール使えば?って思ったけど
意外と使えないケースもあるんだな・・・
http://doc.ruby-lang.org/ja/1.9.3/class/Timeout.html
954デフォルトの名無しさん:2012/01/13(金) 21:49:51.03
require 'resolv' しなければどうにもなんないというパターンも意外と多い
955デフォルトの名無しさん:2012/01/13(金) 23:16:26.75
>>949
いえ、できてました気がしますが?
956デフォルトの名無しさん:2012/01/13(金) 23:37:53.99
>>949じゃないけど、ないと言われて不満に思って粘るぐらいなら自分で調べた方がいいと思うの
957uy:2012/01/13(金) 23:39:48.88
>>945
xp、ruby1.9.3でやったら別になんともなく動いた
Tkはupdateしたから最新だと思われる

ただボタンクリック時に謎のエラー(動作は停止しないけど謎のエラー)が出やがったりしたし
Ruby/Tkなんてそんなレベルのものだと思う
958uy:2012/01/13(金) 23:46:16.75
ちょっと調べた感じではrubinius でそれは出来るんじゃね?
http://d.hatena.ne.jp/kwatch/20080211/1202734840
959uy:2012/01/13(金) 23:55:19.07
rubiniusのwindows版が見つからない
動かそうって努力はしてるみたいだが

uy様ありがとうございますとか、レスあっても良いよ
960デフォルトの名無しさん:2012/01/13(金) 23:58:36.56
野田改造内閣に早速疑惑浮上

@aritayoshifu 有田芳生
捜査当局が内偵を続けている農水疑惑。詳細な怪文書まで出回っている。3億円の
行方はどこに?

@minorucchu ジャーナリスト 田中稔
野田改造内閣を揺るがす、農水省3億円スキャンダルの怪文書。二人の議員名が浮上。
34分前 webから
https://twitter.com/#!/minorucchu/status/157687110562881537

鹿野と筒井らしい
自公は問責も視野に調査開始だって
961デフォルトの名無しさん:2012/01/14(土) 00:10:50.24
uyって恥ずかしい奴って知ってた?

効いてるw効いてるwって書くと顔真っ赤にしてファビョリだすから面白いな
Rubyはネタキャラが豊富でうらやましいで
962デフォルトの名無しさん:2012/01/14(土) 00:23:29.25
最近ム板に来たお客様?
963uy:2012/01/14(土) 03:04:48.86
はいはいわろ
どんだけ工作しようが
一回広まった言語はずっと残るよ
パイソンはIDEあればRuby以上だけど
メモ帳でプログラミングやったら
パイソンじゃRubyにかてんよ
おつおつ
964デフォルトの名無しさん:2012/01/14(土) 16:46:47.45

反日ネット工作員
朝日新聞社→社員約300人
民主党とその取り巻きの資金が入った反日工作会社→数社約450人

朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが
民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている
工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。

965デフォルトの名無しさん:2012/01/14(土) 18:16:03.17
マニュアルの見方がよくわからず学習が進みません
Ruby覚えるならこれおすすめっていう入門書ありますか?
966デフォルトの名無しさん:2012/01/14(土) 19:04:01.25
とりあえずは「たのしいRuby 第3版」でいいと思う。

ちょっと1.8と1.9でごちゃごちゃしてるから躓くかもしれないけど、本を見てわからないところがあったらここで質問すればいい
967デフォルトの名無しさん:2012/01/14(土) 19:07:25.06
プログラミング経験者でもなければいきなり言語のマニュアルなんて読めないしね
どこぞのチュートリアルか入門書一冊読んで語彙を増やしてからマニュアル読むのが定石

お金があるなら逆引き本は早めに買ったほうがいいよ
968デフォルトの名無しさん:2012/01/14(土) 21:08:41.28
日本語を含んだJSONをファイルに保存すると日本語の文字列が正しく保存されていないようです。
何が原因かわかりますでしょうか?

ruby1.9.1 / ubuntu

require 'json'

open('test.json', 'w') do |f|
JSON.dump({:a=>"ほげほげ"}, f)
end


結果
{"a":"\u307B"}
969デフォルトの名無しさん:2012/01/14(土) 21:13:40.45
とりあえず最初はルール守ってプログラム作ってくれ
それはマルチバイトの関係で「実行できない」はずだ
970デフォルトの名無しさん:2012/01/14(土) 21:30:30.90
なにもしてないのに日本語のところでエラーが起きないのは何故ですか、という質問なのだろ
971デフォルトの名無しさん:2012/01/14(土) 21:31:22.33
>>968
スクリプトの文字コードは何?iso-2022-jpとかじゃない?
972デフォルトの名無しさん:2012/01/14(土) 21:36:14.88
>>971

#!/usr/bin/ruby1.9.1 -Ku
# -*- coding: utf-8 -*-

といれてますし、

nkf -g でUTF-8になっていることは確認しています。
973デフォルトの名無しさん:2012/01/14(土) 21:40:17.07
なんだろね。
うちの環境では何の問題もなかった。
ruby -v
=> ruby 1.9.3p0 (2011-10-30) [i386-cygwin]
974968:2012/01/14(土) 21:41:36.75
やっぱり環境の問題っぽいですね。。。
ちょっとソースから入れ直してみます。
975デフォルトの名無しさん:2012/01/14(土) 21:51:28.26
>>974
そのまえにhexdump -C yourscript.rb とかしてみてくれまいか
NKFが自動判別失敗してるかもしれない
976968:2012/01/14(土) 22:53:20.13
>>975


****# hexdump -C test.rb
00000000 23 21 2f 75 73 72 2f 62 69 6e 2f 72 75 62 79 31 |#!/usr/bin/ruby1|
00000010 2e 39 2e 31 20 2d 4b 75 0a 23 20 2d 2a 2d 20 65 |.9.1 -Ku.# -*- e|
00000020 6e 63 6f 64 69 6e 67 3a 20 55 54 46 2d 38 20 2d |ncoding: UTF-8 -|
00000030 2a 2d 0a 0a 72 65 71 75 69 72 65 20 27 6a 73 6f |*-..require 'jso|
00000040 6e 27 0a 0a 6f 70 65 6e 28 27 74 65 73 74 2e 6a |n'..open('test.j|
00000050 73 6f 6e 27 2c 20 27 77 27 29 20 64 6f 20 7c 66 |son', 'w') do |f|
00000060 7c 0a 20 20 4a 53 4f 4e 2e 64 75 6d 70 28 7b 3a ||. JSON.dump({:|
00000070 61 3d 3e 22 e3 81 bb e3 81 92 e3 81 bb e3 81 92 |a=>"............|
00000080 22 7d 2c 20 66 29 0a 65 6e 64 0a 0a |"}, f).end..|
0000008c
977968:2012/01/14(土) 22:58:37.11
環境入れ直したら、とりあえず\uでエスケープされた文字列は正しく出力
されるようになりました。

Macの環境だと、エスケープされずにそのまま日本語が出力されてるので
若干違いがでてますが。。。

http://aligach.net/diary/20101115.html

このへんが関係あるのかなあ。
978968:2012/01/14(土) 23:14:16.44
JSON.dump <-> JSON.loadで日本語の読み書きはできるので、とりあえず問題なさそうです。
ただ、JSON.dumpすると、ファイルの末尾に '0a' という謎のゴミが付加されていて
気になりますが。。。
979968:2012/01/14(土) 23:18:38.22
あ、改行コードか。。。自己解決しました。お騒がせしました
980デフォルトの名無しさん:2012/01/15(日) 00:35:15.27
macでrubyいれるのってlinuxみたいにコンパイル作業が必要ですか?
当方windowsしかつかったことありまsん
981デフォルトの名無しさん:2012/01/15(日) 00:44:28.89
古いのなら最初から入っている。
982968:2012/01/15(日) 01:02:43.78
>>980
MacPortsつかえば1.9.3とかも簡単にいれることできます。
983デフォルトの名無しさん:2012/01/15(日) 03:21:42.04
MacならBrewが便利。
984デフォルトの名無しさん:2012/01/15(日) 12:29:16.55
民主党が惨敗した参院選直前の政党支持率(2010年7月11日投票)

FNN 2010年7月4日
民主党 29.9% 自民党 16.3%
ttp://sankei.jp.msn.com/politics/policy/100706/plc1007060530003-n1.htm
ttp://www.fnn-news.com/archives/yoron/inquiry100705.html

マスコミに、ダマされるなよ。

985uy:2012/01/15(日) 13:43:43.64
http://bugs.ruby-lang.org/projects/ruby/wiki/HowToReportJa
バグ報告っていまいちやり方が不明なんだけど
security@ruby-lang.org
にメールすればいいの?
メールした場合ってメーリングリストにのって他人からも閲覧されんの?
986uy:2012/01/15(日) 13:44:11.69
非公開MLってかいてあるじゃねーか死ね
987デフォルトの名無しさん:2012/01/15(日) 13:51:37.78
ねらーなら修正パッチ書いてここで晒して取り込めないようにするのが筋だろ
988デフォルトの名無しさん:2012/01/15(日) 15:03:12.19
>>985
そこのページは、
「(RubyのRedmineのアカウントを持っていなければ作成し)Redmineにログインする。」
という重要な手順が抜けている。そうしないとNew Issuesが出てこないんだよな。
989デフォルトの名無しさん:2012/01/15(日) 15:31:31.94
security@は、セキュリティに関係するものはredmineには報告せず
ここ宛てに送ってくれ、対応策が出来てから公開するから、という話。
990uy:2012/01/15(日) 17:30:11.67
とりあえずRedmineには登録してみた

3.以下のページを開き、New Issues をクリックする。

1.9 で再現するバグを報告する場合: [[Ruby 1.9:]]
1.8 と 1.9 の両方で再現する場合: [[Ruby 1.9:]] に登録し、1.8 でも再現した旨を記す。
1.8 で再現するバグを報告する場合: Ruby 1.8



以下のページってどこだひょおおおおおおおおおおお
991uy:2012/01/15(日) 17:38:13.04
あ、わかった
自己解決しました
「チケット」っていう言葉の定義を変えてたわけね
992デフォルトの名無しさん:2012/01/15(日) 19:41:18.70
Ruby覚える前に英語覚えろよ
993デフォルトの名無しさん:2012/01/15(日) 20:23:18.65
人の道を勉強しろや
994デフォルトの名無しさん:2012/01/15(日) 20:31:23.99
Rubyの互換性切り捨てる馬鹿を
どうすれば言うことを聞かせられますか?
995デフォルトの名無しさん:2012/01/15(日) 22:54:43.85
死ぬほど便利なキラープロダクトを作って
新しいバージョンで互換性無視されてたら動かないような作りにしとく。
996デフォルトの名無しさん:2012/01/15(日) 23:18:13.18
>>995
あ、それいいなw

んで、Twitterみたいに
Ruby使ってたけど、Scalaに乗り換えました。
Ruby互換性切ったから使い物になりません。とか
書いておけばいいな。
997デフォルトの名無しさん:2012/01/15(日) 23:24:26.57
Ruby本体や添付ライブラリで「急に使えなくなった」ものはほとんどないんだけどね
移行周知期間だけで言えば3年やそこらはあったはずだし、これからもまあ実質2年くらいはあるだろ
1.9.0や1.9.1を見てて、自分には関係ないって思っていたのだったら、それは本気で正直どうよと思う
998デフォルトの名無しさん:2012/01/15(日) 23:42:12.55
まあここでそんなことわめいてる奴にそういう製品が作れるとは思えないけど
999デフォルトの名無しさん:2012/01/15(日) 23:43:18.20
http://www.kaoriya.net/blog/2011/09/20110913

自分で運用しているredmineが依存性の問題で動かなくなったので、腹いせ&八つ当たりでrubyをdisってみることにしました。
redmineが動かなくなりました。背景はこうです。

FreeBSDにportsでredmine入れて快適だぜ!
セキュリティとか怖いからなるべくportsは新しくするぜ!
あれredmineが動かくなったぜ? なんでだぜ?
結論からいうとruby-gemsとrailsのバージョンがコンフリクトしたのが原因でした。もともとこのFreeBSD boxにはredmine 1.2.1と
ruby-gems 1.7が入っていました。そしてある時portsでruby-gemsが1.8にアップグレードされたのです。redmine 1.2.1には
rails 2.3.11がバンドルされています。このrails 2.3.11、実はruby-gems 1.7以前でないと動かないというモノでした。
正確にはruby-gemsが1.8で後方互換性を捨てており、それを使っていたrails 2.3.11が動かなくなっていました。
このことがわかった時リアルに声を張り上げました「ふざけんな!」
ただソレ以外にもredmineには問題があります。

古いruby 1.8でしか動かない
古いrails 2.3.11でしか動かない
(rails 2.3.11は)古いruby-gems 1.7でしか動かない
こんなことは他の言語やライブラリではまずお目にかかれません。特に問題だと指摘したいのはruby-gemsという
rubyのエコシステムを構築する重要なツールが、バージョンアップに伴いあっさり後方互換性を捨て去っていることです。
新しいツールやライブラリが常に良いものだというわけではありませんが、古いツールに依存し続けるのも解せません。
いや…ライブラリがバージョンアップに伴い後方互換性がなくなってしまうので、各種プロダクトは古いライブラリに依存し続けるしかない、
そうとも考えられるかもしれません。

だとすればrubyという言語そのものにプログラマが「後方互換性を捨てたくなってしまう、実際に捨てさせてしまう」
そんな性質があるといっても過言ではないでしょう。仮にこのような性質がruby自身にあるのだとしたら、
いや私の視点からは実際にあるように見えるのですが、本当に問題です。少なくとも今後rubyで書かれたプロダクトは使いたくない、
そう思うには十分な理由となりえるでしょう。
1000デフォルトの名無しさん:2012/01/15(日) 23:44:29.30
http://maigo-lalala.blogspot.com/2011/09/rubyrake.html

rubyをバージョンアップしたらrakeが動かない
Rubyを1.9にしたらrakeが動かなくなっていました。。。

なにをやっても下記のようなメッセージが出る。

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。