5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Ruby 初心者スレッド Part 47

1 :デフォルトの名無しさん:2011/12/02(金) 18:48:49.15
プログラミング言語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がリファレンスにない。。。



13 :5: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
なんてかいてあるんですか?

16 :5:2011/12/03(土) 13:36:50.88
>>14
答えられない無能なら黙ってたほうがいいですよ。

17 :5: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
慣れじゃないでしょうかね。
あまりにでっかいのを読み解く時はローテクだけどメモとりながらやったりしてます。

21 :5: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
>>56

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
これ見て自分で判断しろ
http://www.tiobe.com/index.php/paperinfo/tpci/Ruby.html

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
フジテレビが大嫌いな君が代をフジテレビ前で歌う
http://www.nicovideo.jp/watch/sm15377275
youtube: http://www.youtube.com/watch?v=lf4iNq_E9XA

http://blog-imgs-34.fc2.com/d/e/l/deliciousicecoffee/DSCN6426.jpg
http://4.bp.blogspot.com/-mEsOSb2V_m4/TlD4HoAbG0I/AAAAAAAADEc/ou3_NGs9h4E/s1600/6.jpg


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は"あいうえお"で返ってこないのでしょうか?

202 :201: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

218 :215: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
http://img.pics.livedoor.com/012/d/6/d6f87fce733d70932354-1024.png
http://mamorenihon.files.wordpress.com/2011/09/kao-demo1.jpg
http://blog-imgs-34.fc2.com/d/e/l/deliciousicecoffee/201108040637592d3.jpg
http://tantawan.blog.so-net.ne.jp/_images/blog/_13f/tantawan/E88AB1E78E8BE4B88DE8B2B7-18690.jpg
http://stat.ameba.jp/user_images/20110820/18/lisa-w-paz/07/00/j/o0500032111430159404.jpg
http://livedoor.blogimg.jp/news30over/imgs/c/3/c3860b80.jpg



63 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)