魁け! Ruby 1.9.X

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2008/01/29(火) 19:45:46
プログラミング言語Ruby 1.9.Xについてのスレです。
2007年12月26日にリリース!されたもののまだまだ不安定だし,
1.8.Xとの互換性の問題もあることだし,
かといって,メーリングリストはほとんどROMだし(参加してないし),
ということで,1.9.Xオンリーのインストールからスクリプトまでの話題などどうぞ。
エラー,バグ報告もどしどし

■質問,話題を振る人へ
ポチッとな,とする前に次の3つのリンクを確認。
 ・http://svn.ruby-lang.org/repos/ruby/tags/v1_9_0_0/doc/NEWS
 ・http://svn.ruby-lang.org/repos/ruby/tags/v1_9_0_0/ChangeLog
 ・http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9 (参考)
未完だけど,マニュアルページもね(^^)
 ・http://doc.loveruby.net/refm/api/

質問には以下を書くこと。
 ・インストール環境(OS名、configureオプションなど)
 ・インストールの問題なのか、スクリプト自体の問題なのかを区別すること
 ・エラーメッセージ(なるべくそのままで)
 ・1.8.Xとの違いをできるだけ確認すること(1.8.Xでは実行できたとか)

質問と回答は1.9.X(いずれはRuby2.0)に寄与発展することになる!筈だ(^^)
2008/05/15(木) 15:16:55
るびきちが立てたっぽいスレ名だね
少年ジャンプだけがお友達だもんね 彼w
30過ぎても少年だね
2008/06/13(金) 16:21:57
>>77
おれの自己紹介乙
2008/06/14(土) 20:27:16
>>76
Redmineを使い始めたね。
うまく機能すると良いなあ。
2008/06/15(日) 07:58:40
Ruby1.9を読む
http://www.dzeta.jp/~junjis/code_reading/index.php?Ruby1.9%A4%F2%C6%C9%A4%E0
2009/01/19(月) 00:56:50
Ruby2.0が出ると聞いてやって来ました。
82デフォルトの名無しさん
垢版 |
2009/02/03(火) 22:16:21
Railsは1.9.1に対応済み?
83デフォルトの名無しさん
垢版 |
2009/02/03(火) 22:39:47
>>82
2.2はそう言われてる
2009/02/03(火) 22:52:29
DHHとかは対応させたつもりでいるらしい。
2009/02/04(水) 00:10:17
現時点で業務で1.9.1を採用するのは馬鹿の所業
2009/02/04(水) 00:14:37
どうせ1.9.2で非互換になるコードが入ってRails死亡だからな
おさるさんパッチ言語(笑い)
8782
垢版 |
2009/02/04(水) 00:15:54
>>83,84
う、actionmailerとactivesupportをrequire するだけで,エラーになってまう。
2009/02/04(水) 00:18:37
>>86
1.9.2は開発用バージョンだから正式リリースの1.9.3ね
2009/02/05(木) 12:32:18
>>86
逆だろう。RubyバブルはRailsに牽引されてきたわけだから
Railsが動かない時点で1.9.1に今のところ価値なし。
2009/02/05(木) 13:16:11
ま、本来は 1.9.1 が出る前のバージョンで自分のライブラリの対応を済ませるもんだが、
こればっかりはデッドロック的に致し方のないことと思う

ただ、これは一応正式安定版だから、1.9.1に対応しろという(あるいは対応しない宣言を求める)声はこれで高まるだろう
1年くらいすれば結構状況変わるんじゃねえの
2009/02/05(木) 13:22:06
まぁ、まだ出たばっかだしな。
2009/02/05(木) 13:27:20
外人さんの中にはエンコーディングとかいきなり言われても概念わっかりましぇんという人が一定数混じってるな
文字列扱うライブラリの前途は多難そうだ
2009/02/05(木) 21:20:30
比較的まともな外人で、
内部UTF-8決め打ちで対応完了、キリッ
みたいなのな。
2009/02/06(金) 01:06:00
国産なのに外人に頼ってる現状もなんだかなぁだな
2009/02/06(金) 01:34:18
日本人しか使ってないプログラミング言語なんてその名前だけで糞だろ
外国人が普通に使ってるのは普通なプログラミング言語の証拠
2009/02/06(金) 03:02:49
外部ライブラリの開発の話では?
日本人って開発には直接関わって来ないくせに要望だけは多いよね
2009/02/06(金) 09:21:30
日本人自虐厨キター

どこの国の人間だってたいして変わらんっつうの
それこそ日本語以外のレポート読めよ
お前が英語読めないだけなんじゃねえの
2009/02/07(土) 07:23:23
英語嫁って言い出してるし

国産言語じゃないの??何で日本語以外のレポート?
2009/02/07(土) 08:49:51
とまあかように《彼》は英語コンプであります
2009/02/07(土) 08:51:36
なるほど
2009/02/07(土) 09:19:02
Rubyist Magazine - Ruby 1.9.1 の歩き方
http://jp.rubyist.net/magazine/?0025-FirstStepRuby191
2009/02/23(月) 15:26:45
Windowsの1.9.1でNokogiriを使ってみた

doc = Nokogiri::HTML(html.delete("\n")), nil, 'UTF-8'
file_path = doc.xpath('//xxxxxxx').first.get_attribute 'href'

とすると「xpathなんてメソッドねーよ」と怒られたから、

p doc.class

を加えたらArrayと出た。

まじかよと思って

p doc = Nokogiri::HTML(html.delete("\n")), nil, 'UTF-8'

と「p」をつけて中を見たら、「p doc.class」の結果が「Nokogiri::HTML::Document」に変わってうまく走った。
「p」をつけたりとったりするとやっぱり結果が変わる。pをつけると本当の自分を思い出すのだろうか。
2009/02/23(月) 16:05:42
> foo = 1, 2, 3
=> [1, 2, 3]

> p foo = 1, 2, 3
1
2
3
=> nil

> foo
=> 1
2009/02/23(月) 16:14:51
つか自業自得だな
勝手に滅んでくれって感じだ
2009/02/23(月) 16:17:48
>>104
Rubyスレ全般で1.9にかみついてる基地外か
うるせーよ
2009/02/23(月) 16:20:14
>>105
違う
引数の括弧を最初から適切につけていれば全く起こらなかった問題
Ruby は特定の関数的メソッド以外の普通のメソッドの引数の括弧を省略するようにはなっていない
多値と区別できないからだ
2009/02/23(月) 16:23:42
引数のカッコをつけない人はこういうのを甘んじて受けてるんだからこれでいいんだよ
2009/02/23(月) 16:23:50
>>106
勉強し直せよw
2009/02/23(月) 16:28:58
doc = Nokogiri::HTML(html.delete("\n"), nil, 'UTF-8') と普通に書けば何も問題は起こらなかったな
doc = Nokogiri::HTML(html.delete("\n")), nil, 'UTF-8' は
doc = [Nokogiri::HTML(html.delete("\n")), nil, 'UTF-8'] という多重代入とみなされるというだけの話
Ruby 1.9.1 は特に関係ないと思われる
110102
垢版 |
2009/02/23(月) 16:30:42
おおお、元ソースからコピって修正したとき変な括弧の付け方をしてしまった。
恥ずかしいな。サンクス。

Rubyでは基本的に括弧を省略するのが慣習だと思ってたが違うのか?
何はともあれ解決したからうれしい。
2009/02/23(月) 16:43:39
>>110
>>106 の言うように、puts や print みたいな「関数っぽい」メソッドは、カッコをつけずに空白をつけることのほうが多い
△ puts("hello!")
○ puts "hello!"
その他のレシーバつきメソッド、またはインスタンスメソッドはカッコをつけることのほうが多い
△ URI.parse 'http://example.com/'
○ URI.parse('http://example.com/')
無論つけなくても動作するが、今回のように代入が絡むとヘンな解釈になることが多いので、カッコをつけるように慣らす人が大半

ただ、Rails の人はもうほとんど病的と言っていいほどにカッコを使わない
(明示的なエラーが出てからやっとそこだけ括るので、今回のようなバグに気づかないことも稀にある)
これは出身言語の影響と、言語内 DSL という特殊事情が絡まった結果だと思われ
2009/02/23(月) 16:57:36
>>111
なるほど
おれは趣味で最近使い始めたばっかだけど全般的に意識して括弧はつけないようにしてる・・・
それがRuby流だと聞いたから。1.9と関係なくてすまん。

Nokogiriは全くだめということはないようだから、次はparseexcelを試すよ
今度は間違えないようにするわ!
2009/02/27(金) 16:22:00
>>112
> それがRuby流だと聞いたから。1.9と関係なくてすまん。

そんなことはない。
RailsはRubyじゃないからな。
114デフォルトの名無しさん
垢版 |
2009/02/28(土) 09:33:38
>>113
> RailsはRubyじゃない
な・なんだってぇ!!!
115デフォルトの名無しさん
垢版 |
2009/02/28(土) 16:41:21
言語の百花繚乱は、ITバブルの残照という気がする...。

本来効率性を重視するのなら、一企業の開発言語は、絞った方がリスクマネージメントの観点からも、
良いと思うがねぇ。
2009/02/28(土) 16:47:28
ITバブルというより根本的にエンジニアの性なんじゃないかな。
「おれ言語を作り隊」みたいな。シェルなんてひどいじゃん。
2009/02/28(土) 17:29:47
>>115
工員が使う言語は少ない方がコスト低いだろうね。
2009/02/28(土) 17:35:10
>>115
万能言語があるのなら、その通り。
しかし実際にある言語は万能ではない。適用ドメインによって言語選択は変わって当然となる。
119デフォルトの名無しさん
垢版 |
2009/03/14(土) 13:12:22
米国でRuby関連書籍の売り上げが減速か − @IT
ttp://www.atmarkit.co.jp/news/200902/27/langs.html

スキルのない半可通が流行で採用して、プロジェクトは失敗。
戦犯としてRailsやRubyが処罰されるというケースの増加が心配されます
2009/03/15(日) 04:55:57
コピー乙w
2009/03/15(日) 14:37:54
間違いなく 1.9 のせいだろ
2009/03/15(日) 15:12:38
Python 3も(2.5,2.6に対する相対的な)人気はRuby 1.9みたいなもん?
2009/03/24(火) 13:44:08
微妙に違うとおも
2009/04/09(木) 17:49:27
ダメ
125デフォルトの名無しさん
垢版 |
2009/04/13(月) 18:43:04
rubyの勉強はじめたんだけど、ruby1.8の本で勉強してると
ruby1.9だと動かないのが多すぎて嫌になった。
こんなに急激に仕様を変える言語なんて勉強する気になれないからヤメタ。

Rubyの開発動機ってそもそも何?
単なる自己満?
2009/04/13(月) 18:49:52
>>125
ぜひPerl4→Perl5やPHP3→PHP4なんかにも正義の鉄槌を下してください
2009/04/13(月) 19:43:12
Perl4から5ってそんなにすごい変化だったんだ。Perlのこと全然知らないや
2009/04/13(月) 19:53:41
Perl5になったとき、手元にあった数千行のスクリプトは2行くらいしか変えなくてよかったな。
Rubyに関しても、magic commentを書くこと以外は何も変えずに済んでいる。
お前ら一体どんなひねくれたコード書いてんの?
2009/04/13(月) 20:27:08
ライブラリ, フレームワーク依存。
2009/04/13(月) 21:42:29
おれも自分で書いたところはほとんど問題なかったが、
外部ライブラリでつまづいた。
Winは捨ててCentOSで開発するようにした結果、
なんとか切り抜けて今は1.9.1オンリーだが。WinのNokogiriが痛かったな。
2009/04/13(月) 21:44:55
今は暇と体力のある人がガサガサ開拓してる状態だな
1年くらいして状況がどう変わるか楽しみだ
2009/04/13(月) 22:40:43
Perl4→5のときはpackageでクラスっぽいものが書けるようになったが、
おおむね上位互換だったと思う。
2009/04/14(火) 08:55:53
>>130
> WinのNokogiriが痛かったな。
kwsk
2009/04/14(火) 09:33:34
>>128
そりゃ単に運が良いだけだ

IOの読み書きするライブラリや、$KCODEにかかわるコードを書いてると泣く
あと他の人も言ってるように拡張ライブラリが動かなくて泣く
2009/04/14(火) 10:40:30
>>133
Winの1.9系でNokogiri動かないんだよ。もう直ってるのかもしれんが。
Nokogiriのページみたら1.9に対応してるって書いてあったんだが、
Winは対象外だったようだ。Linuxなら動くからゲストOSにCentOSを入れて開発。
今度はRadRailsでステップ実行できない問題が出たけど、
全然動かないよりはマシだから我慢してる。
2009/04/14(火) 12:39:31
>>135
> Nokogiriのページみたら1.9に対応してるって書いてあったんだが、
自前でコンパイルしろってことじゃないかね
2009/04/14(火) 13:22:52
>>136
ttp://nokogiri.rubyforge.org/nokogiri/

インストール方法で「sudo gem install nokogiri 」ってあるのに?

「sudo」ならWinは対象外ともとれるが、
「sudo」を当然のように入れて説明することはよくあるから、
それをもって判断するのは難しいと思う。

確かWinRubyにある「msvcrt-ruby18.dll」の名前が「msvcrt-ruby191.dll」に変わったことが、
原因の一つだったような気がするが、ちょっと記憶があいまい。
コピーして名前を変えたりしたやつがいたけど、
それでもうまく動かないとか言ってたような記憶もある。
がんばって時間を浪費した挙げ句けっきょくダメというのは嫌だったから、
さっくりOSを変えた。
2009/04/14(火) 14:02:44
>>137
だから「自分でコンパイル環境用意しろ」ってことなんだろ、Windowsかどうかとは無関係に。
Win版バイナリ用意しろっていうことなら山男にいってくれ。
さすがにここは見てないと思うぞ。

> 確かWinRubyにある「msvcrt-ruby18.dll」の名前が「msvcrt-ruby191.dll」に変わったことが、
> 原因の一つだったような気がするが、ちょっと記憶があいまい。

それは本末転倒な理解だな。
拡張ライブラリのインターフェースが変わってるから、1.8のDLLと1.9の拡張ライブラリじゃ動かない。
それをさけるために名前を変えている。

> コピーして名前を変えたりしたやつがいたけど、
> それでもうまく動かないとか言ってたような記憶もある。

「動くわけない」と断言する。

> がんばって時間を浪費した挙げ句けっきょくダメというのは嫌だったから、
> さっくりOSを変えた。
gj
2009/04/14(火) 14:16:26
確かにgem使ってもコンパイルするな。
おまえの言うことに対するおれの理解が浅かった。
そこまで詳しいならおまえが動くようにしてくれよ。いや嫌みじゃなくてマジで。
2009/04/14(火) 14:46:22
「自分が必要でなおかつ自分に直せてなおかつちょっと暇ならやる」というのがこの手の常套
どれかが欠けてるのだろう
2009/04/14(火) 18:32:16
>>139
もうあまりWindowsをいじってないからなぁ。
MacPortsのmingw-gccでコンパイル自体はできるかも知れんが、
gemがクロスコンパイルに対応してるかは疑問。
2009/04/14(火) 21:24:43
アーロン、きさまのどこがひげの山男なんだwwwww
とついったーの写真を見て思った。
2009/04/14(火) 21:32:47
Mechanize 0.9.3 を最優先で出して欲しい
今の 0.9.2 は全世界が迷惑した近年稀に見る極悪動作バージョンだろ
2009/04/14(火) 21:54:04
require 'rubygems'
require 'mechanize'

agent = WWW::Mechanize.new
agent.get('http://www.google.co.jp/')

これが動作しないって重症だよな
2009/04/15(水) 12:52:42
>>141
結局ソースの修正が入ると思うが。
それってコンパイルの問題とは言わないでしょ。
2009/04/15(水) 17:11:04
>>145
Windows版ではNokogiriはそのままじゃコンパイル通らないということ?
それが分かってるなら教えてやれよ。
2009/04/16(木) 16:23:51
こやつめw
148デフォルトの名無しさん
垢版 |
2009/04/22(水) 23:10:00
本屋でRubyの本を立ち読みして、Perlより全然ソースが読みやすいと思って
一気に本を買い込んでRubyデビューしようと思ったのに、
何この状況?
初心者はどうすりゃいいの?
1.8を使うほうが無難なの?
2009/04/22(水) 23:25:19
普通の人は 1.8.7 を使う
1.8.7 でできないことは特にはないし、
1.8.7 を使ってる人のほうが多いし、
今後 2年くらいは1.8.7(か、その続き)が隆盛だろう(このへんちょっと自信ないが、今年中は問題ない)

1.8.7 で Ruby に慣れた頃には、Ruby 1.9.2 が出てライブラリや入門もマトモになってるはず
1.8.7 で学んだ Ruby は、1.9.2 くらいに移行するのに充分に役立つはず
今から暗中模索の徒手空拳で 1.9.1 をやろうとするのよりは何万倍もスムーズだろう
2009/04/22(水) 23:27:37
出たw1.8.7バカw
2009/04/22(水) 23:49:22
>>148
1.9.1 を勧めるのは Ruby アンチ(この期に及んでまだいる)なのであまり真に受けないように
彼はあなたが Ruby に挫折することを望んでいます
2009/04/23(木) 00:26:52
頭いっちゃってるな
2009/04/25(土) 20:42:00
あれ?家でふつうにRuby1.8.7使って色々作ってるけど、
1.9.1って初心者が使えるような状況になってるの?
まだだよねえ?

いま自作の拡張ライブラリを1.9.1に対応させようとして
コンパイルする前にextconf.rbでエラー出て困り果ててるとこw
2009/04/25(土) 21:52:45
どんなエラーだよ
2009/04/25(土) 22:37:26
ああ、教えてもらおうと思って書いたわけじゃなかったんだ、ごめん
でもよくわかんないからせっかくだから書いてみる

Could not create Makefile due to some reason,
probably lack ofnecessary libraries and/or headers.
Check the mkmf.log file for moredetails.
You may need configuration options.

って出てて、ライブラリが見つからないってことみたい
1.8.7では普通にコンパイルできるから、パスが通ってないってわけではないと思う
参照する環境変数が変わってたりするのかな?
オプションを指定する必要があるってメッセージだけど、設定方法がわからないの(゜▽゜;)
156155
垢版 |
2009/04/25(土) 22:46:15
情報が全然足りなかったw
えっと、WindowsでWin32バイナリのruby-1.9.1-p0-i386-mswin32をダウンして、
それを使ってVC2008でコンパイルしようとしてる。
あんまり関係ないかもだけどDirectXを使おうとしてて、
1個目のdxguid.libをチェックするとこでエラーが出てる。
157155
垢版 |
2009/04/25(土) 23:14:27
extconf.rbからライブラリのとこ削って、できたmakefileに自分で追加して、
コンパイルしてみたら、windowk2.hの関数の再定義エラーが大量に出た。
やっぱ俺程度で1.9.1に手を出すのが間違いなのか。
山に篭って修行して出直してきまふ
158155
垢版 |
2009/04/25(土) 23:16:10
winsock2.hだ、どういう打ち間違いなんだorz
それではまたノシ
2009/04/26(日) 19:08:21
>>156
> えっと、WindowsでWin32バイナリのruby-1.9.1-p0-i386-mswin32をダウンして、
これはVC6でコンパイルされてる。

> それを使ってVC2008でコンパイルしようとしてる。
VC6とはランタイムがあわないからリンクできない。
本体も自分でコンパイルする。
160155
垢版 |
2009/05/02(土) 17:18:47
なんか規制されて書けなかったorz
>>159
>VC6とはランタイムがあわないからリンクできない。
>本体も自分でコンパイルする。
つまり、1.8.7ではリンクして使えてたけど、
1.9.1ではできなくなったってことでいいのかなあ?
2009/05/03(日) 06:36:59
>>160
> つまり、1.8.7ではリンクして使えてたけど、
> 1.9.1ではできなくなったってことでいいのかなあ?
1.8でもできない。
162155
垢版 |
2009/05/03(日) 16:07:29
>>161
>1.8でもできない。
えー?
だって、うちのデスクトップでVC2008でコンパイルできたし、
コンパイラとか入ってないActiveScriptRuby1.8.7だけインストールしてあるノートで動いてるよ?
ActiveScriptRubyってVC6だったよね・・・?
なんかはげしく勘違いしてるんかなー
163155
垢版 |
2009/05/03(日) 16:09:17
あ、書き忘れたけど1.9.1でもruby-1.9.1-p0-i386-mswin32とVC2008でコンパイル成功したよー
勘違いじゃなければだけど・・・。
164155
垢版 |
2009/05/03(日) 23:05:37
わかった!
俺、VC2008のランタイムをスタティックリンクしてるから使えてるんだ!
しょぼしょぼな話題で連投失礼。お騒がせしましたwノシ
2009/05/05(火) 17:54:40
>>164
> 俺、VC2008のランタイムをスタティックリンクしてるから使えてるんだ!
それだと外部ライブラリ使う拡張ライブラリが使えなくなるぞ。
166155
垢版 |
2009/05/06(水) 13:49:22
>>165
>それだと外部ライブラリ使う拡張ライブラリが使えなくなるぞ。
ヘボくてゴメン、意味がわからないorz

Ruby本体(mswin32)・・・VC6ランタイムを動的参照
俺が作ったやつ・・・VC2008ランタイムを静的参照
VC6で作ったほかのライブラリ・・・VC6ランタイム(Ruby本体と同じやつ?)を動的参照

となって、問題があるようには思えないんだけど・・・
ActiveScriptRuby同梱のVisualuRubyも同時に使えてるし。
2009/05/06(水) 14:46:48
あぁ、拡張ライブラリだけをVC2008でスタティックリンクで、か。
config.hでエラーになるはずだけど、そこは当然書き換えてる?
外部に依存しない単独のライブラリなら動くかもしれんけど、
もう長いことDLLを使う形でしかコンパイルしてないから、
動くかどうか保証はできない。
168155
垢版 |
2009/05/06(水) 21:11:11
config.hははじめのところをコメントアウトしてる。
外部に依存しない単独のってことは、つまり、
俺がつくったやつから他のライブラリを参照しようとすると
うまくいかない可能性があるって感じかな。
VC6があれば問題なかったんだけど、
VC2008しか無いのに拡張ライブラリ作って公開しようと思うあたりが困ったちゃん。
2009/05/06(水) 22:04:43
もうみんなでmingw使おうぜ!
2009/05/06(水) 22:40:26
やだよw
2009/05/07(木) 18:30:12
155がやってるのは「たまたま動いてる」だけで、動くことは保証されない。
例えば、fd渡しがあって大きめのI/O操作したらアウト。
2009/05/07(木) 18:42:22
fd渡しなら一切のI/Oでアウトだからやってないと思う。
でもまぁ、それでバイナリ配布とかはやめてね。
173155
垢版 |
2009/05/07(木) 20:47:14
ランタイムに依存するデータはライブラリ間で渡せないっていうことかな・・・。
ふむふむ、勉強になりますφ(..)カキカキ
VC6ほしいなあー
2009/05/08(金) 03:22:53
VC6から移行すべきなんだが
2009/05/08(金) 06:11:13
>>174
どういうこと? 今のrubyではVC6じゃないと動かないんじゃ?
2009/05/08(金) 09:29:42
pythonみたいに移行したほうがいいよ
誰かが音頭を取るべきだ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況