1.9系っていわゆる地雷?
>>7 世の中のライブラリの対応が追いついてないのが多い。
あと1.9での変更点や新機能を扱う解説サイトや解説本は不足気味。
これらが問題だと思うなら地雷。
C APIレベルでの変更を解説して欲しい
11 :
デフォルトの名無しさん :2009/02/04(水) 06:14:54
VCからRubyを呼び出すにはどうしたらいいんでしょうか? 一通りググってみたんですが、分かりませんでした。 参考になりそうなサイトなども知っていたら教えてください
「VCからRubyを呼び出す」の意味を詳しく
13 :
デフォルトの名無しさん :2009/02/04(水) 06:27:37
XXX.cppの中で、 Rubyで作ったMechanizeをラップした自作クラスを呼び出したいんですが
CからRubyは呼べないっしょ。 だってRubyスクリプトって 単なるテキストファイルだもの。
Python で self がうざいって言ってる人がいるみたいだが、 @classmethod や @staticmethod を使ったことが無いんだろうね。 結局ちょっと遊んでみて終わりっていうレベルの単なる食わず嫌いだってこと。 まともに使ってれば面倒とも何とも思わなくなるよ。
>>19 インスタンスメソッドの場合のselfがうざいんだろう
Pythonの場合クラスメソッドはクラスの外に書いちゃえばそれで用が足りるし
Mingw版Ruby 1.9.1-p0 で作った拡張ライブラリが mswin版Ruby 1.9.1で動かせません 原因はMingw版ruby 1.9.1-p0 がmsvcrt-ruby191.dll のDllMain@12をエクスポートしちゃってるので msvcrt-ruby191.dllをリンクしたプログラムがMingwスタートアップのDllMainではなく rubyのdllが公開している方をリンクしてしまうからです rc2からp0になってmsvcrt-ruby191.defの生成法が変わった影響のようです 従来は win32/mkexports.rb によって生成されていたのが cygwinと共通の生成方式が新設されているようです C言語環境の知識はあまりありませんが (特にWindowsのdllシステムやらMingwのdllの扱い方やらはよくわからない) DllMainなんて公開しちゃだめなんじゃないですか? ランタイムのエントリルーチンから呼び出される関数ですよね そもそもが自分で定義するか、そうでなければ デフォルトのDllMain関数がリンクされるもののはずなので よそのdllの初期化関数を呼び出すのはまずいでしょう
1おつなんたらかんたら 長いテンプレはイラネ。公式と初心者スレだけでいいよ。
いまからRubyはじめるなら ピッケル本とFlanaganのプログラミング言語Ruby、どっちが良いですか? もしくはそれ以外で良いのあります?
Rubyライブラリ編
>>24 まずは立ち読みして自分にあった本を探した方が良いよ
ジュンク堂なんか、がっつり座って読めるしな 単価が高いから無駄本買ったときのがっかり感も大きいし
28 :
デフォルトの名無しさん :2009/02/04(水) 15:10:53
この時期にピッケル本は控えたほうがいいんでは すくじゃないだろうけど、1.9対応の第三版が控えてる まあ翻訳に半年かそこらはかかるって担当の人は言ってたけど
>>29 危なかった、ピッケルやめときます
半年は長いのでとりあえずジュンク堂でオライリーとかあさってみます
>>29 翻訳に半年かかるって事だと
英語の本が春頃出たとしたら翻訳した本は年末か年明けになるの?
>>32 オフラインで読みたい...小説感覚で
ライブラリ周りはwebにたよるけど
>>30 1.9は出たばっかりでまだまだ初心者にはお勧めできない。
どうせしばらくは1.8の開発も続くし、ピッケル本でも問題ないよ。
何事も「今始める」のがやっぱ大事だよ
RubyのWindows用のバイナリが色んな種類出ているのはMatzんの陰謀だと思う
36 :
デフォルトの名無しさん :2009/02/04(水) 18:11:49
勘違いしてました
Mingw版でもmsvcrt-ruby191.def は mkexports.rbで生成されてました
>>23 redmineって誰でも問題登録できるの?
使い方がよくわからんのですけど
極端な小心者なのでMLに報告なんてのはとてもできません
そもそも普段からメールをほとんど使ってないし
Maikefile の書式もちゃんとわかってない程度だし
DllMainのことも検索しまくってなんとかちょっとわかったくらい
などとスキルも低く、しかも英語もわからんときてるorz
>>37 誠意をもってちゃんと書けば誰でも余裕で登録できる。
スキルがなかったら単にrejectされるだけ。
高校の先生が全角でRUBYと書いて「動かない!バグだ!」って
登録した例もある。そこまでひどくなくても要望ぐらいなお気軽に。
オープンソースってそんなもん。
だからWindowsなんて誰も使ってないマイナーOSの話はいいって。
>>37 Webインターフェースから日本語で報告するだけ。事前登録は必要だけど。
それさえしてあれば、
>>21 をこのスレに書くのもredmineに書くのも同じ。
もっとも、もう
>>21 は直されたみたいだけどね。
42 :
デフォルトの名無しさん :2009/02/04(水) 21:03:54
Win32用のGem ファイルを作成しているのですが、 exec.bat みたいなファイルを c:/ruby/bin とかのパスが通ったところに置きたいのだけど、 どう書けばいいのか分かりません。c:/ruby/lib///xxx/gems/appname/bin/exec.rb とかにインストールされるようにはできたので、 最低限の基本は分かっているつもりです。 RubyGem の rubyforge のページには書いてないような気がするのですが、rake とかでは実現されているので できるはずなのです。 後ついでに、PlatFormによってコピーするファイルを切り替えられるというのもできたらうれしいです。
>>16 サンクスです
>>18 ちょっと自分が知りたい情報じゃないですが、レスありがとうございます。
46 :
デフォルトの名無しさん :2009/02/04(水) 22:18:06
3927
デビアンしか動作保証してないのもどうかと思うがwww
>>36 見てみたいですけど絶版...
HTML版って内容同じですか?
それはCでRubyの処理系を書く本だからスルーしておk (素晴らしい本であることは間違いないけど) というかここよりも初心者スレで聞いた方が早いよ
>>48 基本的に同じ。
執筆後のアフターフォローとかも少し入ってる。
(最新版のRubyに追従とかはしてないけどね)
CでRubyの処理系を書く本なんだけどRubyの中身が分かる モジュールとかクラスとかスコープの解釈がどうなってるのかとか 他の言語の経験があってこれから初めてRubyを学ぶなら コーディングするときにも役に立つと思うよ
>>51 おなじ様な内容を「実践rails」でも扱ってた
あの本、読み物としては面白かったよ
53 :
デフォルトの名無しさん :2009/02/05(木) 23:10:09
>>45 おお、それで自作クラスが呼び出せるんですね
サンクスです。
もう少しで、自作クラスを呼び出す段階までいけそうです。
今rubygemsをインストールして
mechanizeをインストールしようとしてるんですけど、
zlibがないって怒られてます。
これはどうしたらいいんでしょうか?
とりあえずwindows用のzlibをインストールしたんですがmechanizeのコンパイルでは
依然怒られっぱなしです。
module M def initialize super puts "よこどりー1" end def hoge super puts "よこどりー2" end end class C include M def initialize puts "もともと1" end def hoge puts "もともと2" end end C.new.hoge これで もともと1 よこどりー1 もともと2 よこどりー2 って表示したいんだけど、どうすればいいかな
>>53 > zlibがないって怒られてます。
> 怒られっぱなしです。
状況説明できない初心者は初心者スレ行け
gem install mysql で入れたmysql.soが文字化けするんですが どうすれば正常に入るんでしょう? バージョンは↓です ruby v1.8.7 rails v2.2.2 mysql v5.0.67
> mysql.soが文字化け
>>54 class C でインクルードしないで
class K < C ; include M ; end
K.new.hoge
で期待する出力は出せるけど、これじゃダメですねそうですね
>>54 なんかソースを素直に見る限りでは
> もともと1
> よこどりー1
> もともと2
> よこどりー2
と表示されそうなんだけどな
モジュールのメソッドがガン無視されるのはなんでだろう
> モジュールのメソッドがガン無視されるのはなんでだろう C.ancestors
>>60 > モジュールのメソッドがガン無視されるのはなんでだろう
p C.ancestors #=> [C, M, Object, Kernel]
ということで、メソッド探索順がMよりCが先だから、が正解
そもそも include が
[C, Object, Kernel]
のCの1個上に割り込んで
[C, M, Object, Kernel]
とすることでメソッド追加を実現してる機能だから、
「includeで既存のメソッドを上書き」ということ自体がそもそも仕様的にできない
>>59 だと
[K, C, Object, Kernel]
にMが
[K, M, C, Object, Kernel]
という順番で割り込むから、実質、MでCが上書きできてる
>>63 > 「includeで既存のメソッドを上書き」ということ自体がそもそも仕様的にできない
これって「メソッドをクラスに追加します」とかいうへにょげた説明の割に微妙に不便な実際だよね
「include M はメソッド探索の上位に M を追加します」とかきちんと書いて欲しいなあ
ちなみに extend ならできるが、initialize の上書きができね
c = C.new
c.extend M
c.hoge
もともと1
もともと2
よこどりー2
>「include M はメソッド探索の上位に M を追加します」 うおー自作で include 使わないから知らんかった C にないメソッドのときだけ M が探索されるのね、成程
>>63 なるほど
その説明で今更いろいろな事が納得できた…
>>54 ,63
> 「includeで既存のメソッドを上書き」ということ自体がそもそも仕様的にできない
無理矢理だがこんなんでどうだろう
class C
# この段階では M を include しない
def initialize
...
def hoge
...
end
module X
define_method :initialize, C.instance_method(:initialize)
define_method :hoge, C.instance_method(:hoge)
end
class C
remove_method :initialize
remove_method :hoge
include X
include M
end
C.new.hoge
>>54 それclass Cの方で、メソッドの最後にsuper呼んだらうまくいくんじゃね?
それはメソッドのオーバーライド(再定義)とsuperがどういうしくみになってるかってことだな
実際上は
>>59 が妥当だな
Ruby におけるメソッドの上書きは「その場」で「実際」に def を実行しないと動作しないから
既存のモジュールオブジェクトを include でがっちょんと接続しただけでは期待通りにはならないと
…そもそもの include っていう名前がまずい気がしてきた
add_parent とか family とかなんかそんなクラス・モジュール関係が変化するという印があったほうがよかったのかもしれない
>>72 module M; end
class C; end
p C.ancestors
class C; include M; end
p C.ancestors
[C, Object, Kernel]
[C, M, Object, Kernel]
↑このへんがinclude
なるほどクラスの内包関係に含むからincludeか!Ruby氏ね! Mix-inとかの実装上の都合だったのか「モジュールの内包関係にあとから割り込む機能」が欲しくてこうしたのかがちょっと興味ある
>74 お前が氏ね
つーか普通 module を include するのって抽象クラスを継承するようなイメージじゃないのか? どう考えても class で書いたメソッドの方を優先して欲しいんだが。
いや思いっきり優先されてるだろ p C.ancestors #=> [C, M, Object, Kernel] は C にメソッドがない場合にのみ M の中を探す module M def msg; "Rubyはうんこ"; end end class C def msg; "Ruby最高"; end end class C; include M; end puts C.new.msg Ruby最高
・ 既存のメソッドと同じ名前のメソッドをincludeしたとき super がどうなるか ・ クラスを含んだモジュールをincludeしたときそもそもどうなるか というのがわかりにくいわぼけーという話だな
79 :
76 :2009/02/06(金) 15:59:11
>>77 いやいや、実際そうなってないということではなくて、
>>72 とかの「期待通り」って、
いったい何を期待しとるんだという話。
Ruby の include のイメージで
>>78 の「既存のメソッドと同じ名前のメソッドをincludeしたとき」
みたいな言い方は、普通出てこないんじゃないの? と思うんだが…
1.9.1文字コードがどーたらこーたらで既存のコードがうごかねー。 そういうのは2.0でやってくれよ。
文字コードなんて1.4でやっとけよ
>>81 1.9.0では動作してたものが1.9.1では動かないというのなら姉さん事件ですのでぜひ報告を
2.0でやってたらやってたで「3.0でやってくれよ」と言ってるんだろうな
なにいってるかわからない
なるほど ありがとうございました
どれだー どれに対する礼なんだー
きっと神にだよ。
なるほど ありがとうございました
>>84 少なくとも1.9.1でやるよりは10倍マシ
複雑だと思うならつかわなきゃいいんじゃねーの? なんでアホはあるもの全部使わなきゃ気がすまねーの?
誰と会話してんの
# -*- coding: utf-8 -*- を行頭に挿入すりゃいいだけだろ?何を恐れることがある
>>92 彼は今チャンピオンベルト目指して脳内キャラとスパー中です。
昔、机の上で左手と右手を戦わせてたときのことを思い出した
97 :
デフォルトの名無しさん :2009/02/07(土) 14:59:40
それなんて色川武大
きっと神とだよ。
ありがとうございました
なるほど
がんばれよ
>>90 1.9って2.0のβじゃないの?
Rubyのバージョン付けはそういうルールじゃないんだっけ。
1.9は1.10のβです
>>102 元々はそういうルールでしたが、1.9.1からいきなり変わりました
今は1.9.0が開発版、1.9.1が安定版
それ以降はもうよく分からない
>>102 2.0が当分先になりそうだから、
つなぎとして固まった仕様だけ出したのが1.9だったよーな
破壊的な変更のコストはどんどん増える一方ということを考えると、
ブロック内変数とかも含めて、
今のうちに変更しておくという決定は一理あるとは思う
1.8と2.0の掛け橋が1.9で、1.8と1.9の橋渡しが1.8.7 ライブラリ作ってるのでなければ、しばらくは1.8.7を常用するのがよい 半年もすれば1.9.1対応ライブラリもぐんと増えよう ライブラリ公開してる人はとっとと1.9.1入れて対応作業始めてくりゃれ
>>108 またそんな夢みたいなことを簡単に信じるんだから
>>108 うん、で、そのあとに続く言葉は何?
「だから1.8.6使い続けたほうがいい」?
1.8.8が出るなら今から1.8.7勉強して慣れたほうがよくないか?
hpricot(why-hpricot)とmysql(elia-mysql)は githubで公開しているgemなら1.9.1に入った。 githubのgemはオーナー名が入るのが好かんのだが。
Hpricotの復権はあるのだろうか…
>>112 Nokogiri はつまるとこ lib-libxml2 なんで、そのへんの不便を突けば並列使用は可能だと思う
>>112 なんか、why の人の blog で
「nokogiri の方が速いとか言われてマジブルー。むかついたからパーサー書き直したYO!」
とかいうエントリがあがってた。試してないから速くなったのか知らんけど。
速さ云々じゃなくてあの変態APIが(ry
hpricotがなくっても _why の多芸っぷりは憧れる
最近似たようなこと書き込みまくってる気がするんだが module M class C1; end class C2; end end この場合、C1 と C2 に関係性を持たせることはそもそもできない? たまたま含まれるモジュールが同じだけで、「知り合い」ではない? M を改造して module M_II class C1; end class C2; end end というものを作りたいんだけど
>>110 1.8.7と1.8.8って何か変更あるの?
その時の1.9.1ってどうなるの?
1.9という奇数バージョンは開発バージョンだから 2.0まで待った方がいいよ。
間違った知識で何を言うか
何年も継承されてるルールを変えられると困る
122 :
デフォルトの名無しさん :2009/02/07(土) 19:52:42
文字列処理入ると1.8より遅いのか...
不安定版を一応脱した1.9.1が出た時点で、実質「1.9は開発版」という看板は終了だ 従来動作の1.8系列と、新動作の1.9系列という2つの括りになる むしろ、次の開発版が無いのが気になる
>>117 定数とか調べてコピーを作るメソッドを自分で作れ
Application.create とか
あと↓見てよく考えろ。クラスも定数である事を忘れるな
class A
CONST = :A
def pconst ; p CONST ; end
def pselfconst ; p self.class::CONST ; end
end
class B < A
CONST = :B
end
B.new.pconst #=> :A
B.new.pselfconst #=> :B
話をループさせるの好きなんですね、わかります。
>>117 > 「知り合い」ではない?
まあ、基本的には。
ネストでも継承でもない場合、基本的に他人。
データ作成クラスとデータ構造クラスとかを知り合い関係のまま再利用させたい場合は適当にネストさせとく。
class DataMaker; end
class Data; end
class SubData; end
という並列構造はそもそもあんましよくない。
moduleインクルードすると嬉しいことって クラスの多重継承の代わりになるってことだけですか? なんならmoduleなんて排除してクラスの多重継承許しちゃえばよかったのに
ClassクラスとModuleクラスを機能的に分けたときのついでなんじゃないかと最近思う
>>126 ネストの意味のあるクラス名考えるのがとってもめんどくさいです
moduleをファイル指定にするというのはどうだろう module HogeHoge class FooBar; end end と書いたファイルは名前がHogeHoge.rbでなくてはならない、と して require ForBar from "HogeHoge" とかすんの。
1.9系は全部開発版じゃないの? というのは私も思ったけれども、よく見るとRHG巻末に「1.9.0は開発版、1.9.1は安定版」書いてあるからかなり前から公表されていたと言える。 Matzがなにか2.0 featureをあれこれやりはじめたら、そのとき開発版と1.9系安定的開発版を分けますです。
てか、単に脳内情報が更新されてない人がいるだけだ わりと前に「末尾 0 のみ開発版」というのは発表されてたはず あと、一般的命名法とかけ離れている、直感に反するポリシーだというのが(w
>>119 1.9.1も開発バージョンで2.0.0も開発バージョンなんですよね
わかります
Rubyの作者ってちゃんと働いてるの? IBMとかに入って一度リリースエンジニアリングを学んできた方がいいと思うんだが。
135 :
デフォルトの名無しさん :2009/02/07(土) 22:02:38
1.9の開発版はこの先ずっと1.9.0なんか... それとも1.9.1.0とか
あの浅田真央でさえ不調になるとこんなもんだ
どんだけ話をループさせるのが好きなんだよ、おまいらはw
Rubyの安定版が1.9.1になった理由について Matz自身が言及してる文章ってどこかにないかな? あったら教えて欲しい
何で英語の方がドキュメント豊富なんだよ 日本で生まれたって理由だけでruby選んだのに 納得できん
>>139 日本語ドキュメントが豊富だっていう理由で言語選ばなかったからだろ
>>139 日本人があまりドキュメント作る気が無いから
用途によってまた違うんだろうけど、日本語ドキュメントの質と量の総合で言うと、 Perl > PHP > Ruby >= JavaScript > Python くらいな気がする今日この頃。
公式じゃなくても優良な書籍や解説サイトがあるPerl 公式以外が間違いだらけで公式しか頼れないPHP 公式があれば必要十分なPython
Pythonの公式は情報量は多いのに、使いやすさが全く考慮されていないのが痛い。 PHPは公式の出来はとても良い。ただしGoogle検索で出てくる更新されていない公式のコピーサイトがうざすぎる。
るびま25号出たー! まさに今求められている記事のラインナップだ、素晴らしい
python信者ってやたらruby嫌うよね? 職場のpython教の先輩方々がみんなrubyアンチだ 何なんだろね
>>139 なにもかも、おまえがドキュメントを書かないせい。
>>146 犬好きと猫好きみたいなもんだって誰かが言ったと最近どこかで見たが、このスレじゃなかったのかな
るびまからリンクされてたFiberの解説を見て Fiberに対する興味が出てきたんだけど、有効な使い方がよく分からない 確かにThreadよりもシンプルだけど、使い方を探すのに悩む…
Rubyの開発ってさ、いつ終了すんの? 早く開発完了してバグ取りと仕様固定化に 力入れてくんないと、怖くて業務に使えないんだけど。
>>152 Python、PHP、Java
これらの言語の開発は終了しましたか? また終了する見込みはありますか?
それが答えです
CもC++もC#も終わってないな 終わったのはVBとCOBOLくらいか
COBOLも終わってないらしいぞ。 JIS規格の会議とか、最近でもあるし。
>>153 Javaは終わってないけど、互換性はそれなりにキープされてるから
ちょっと違う。テスト不要とまでは言わないが、コード修正は不要なことが多い。
>>154 VBも終わってないぞ。文法が違うだけで、中身がほとんどC#と同じという
意味では「終わっている」のかもしれないが。
Javaは「仕様が無い言語とか業務使用にありえないから」という理由だけで作られた政治的言語だろ 他の言語と比較するのはそれだけで場違いだ
1.9.1でバイナリファイル(画像)を File.read で読み込んだら data.encoding #=> #<Encoding:UTF-8> みたいになるんだな。これが Encoding.default_external か。 data.force_encoding('BINARY') するのと、 Encoding.default_external = 'BINARY' するのと、 どっちが行儀がよいのだろう。 とここまで書いて IO.binread の存在を知った。
gdgd
Pathname#binreadないんだな。
1.9.1(って書きづらいな。なんかコードネームでもつけてくれ)はUTF8でソースもテキストも書いとけばドツボにはまることもなくなるのかね。
>>161 万事解決かどうかは知らないが、そうしない理由もないだろ。
今日日EUC-JPとか正直なんのメリットもないしな。
・ システムがEUC-JPベースだ(オールドなLinuxとか) ・ Emacs のUTF-8 対応に許せない ・ ターミナルと UTF-8 の関係でイラつく の 3つの場合が考えられまする
そんなマイナー人種は、頑張って苦労するか日本語文字を使わないか すればいいんじゃないかと。
UTF-8 は日本語大体3バイトだしな・・・
曖昧な幅のCJK文字とか死滅すればいいのに
>>165 UTF-8というかUnicodeにまつわる問題の多くは文字のバイト数に起因していない
的外れ
def val(params = nil) @val ||= ... end とか def val(params = nil) @val if @val ... return @val = ... end とかいう、最近わりと市民権得つつある遅延評価風の処理についてなにか一言あれば
>>167 irb とひじょーに相性が悪い
普通に書いてると、new した返り値が inspect で表示される瞬間に @val が確定してしまったりしてとてもめんどくさい
容量気にすんならMIME撲滅するべきだろ
XML もですねわかります
Rubyでそんなにシビアなもの作ってる人いるんだ。
>>167 普通にキャッシュとか言ったほうがいいよ
>>168 評価されるタイミングで結果が変わるメソッドでは使うべきではない
cache or memoize
175 :
デフォルトの名無しさん :2009/02/08(日) 17:44:46
>>167 rubyって遅延評価できるんだwww
見る限り遅延評価してるようには見えないが
rubyistな後輩がrails使った自社サービス開発してるんだけど ログイン周りの拡張をする時に、汎用的に使えるようにしようってことで railsのプラグインを3日ぐらいで作ってた。 javaしか知らなかった俺は素直にすげーって思った。 このフットワークの軽さは惚れるね。rubyじゃなくてrailsがすごいのかもしれないけど。
遅延評価と遅延評価風ってJavaとJavaScriptくらいの差があるよね
知ったか乙
>>176 それはrubyやrailsが凄いのではなくて、後輩が凄いんだろう。
というか、作ったものの規模にもよるんだけど、たぶん君が極端に情けない。
>>176 3日で作るのが難しいようなプラグインだったのか?
javaしか知らないやつの言うことだぞ、分かるだろ
何年か前の15分でブログを作るってデモを思い出すなぁ 知らない人間にとっては確かに衝撃的だった
オレは、rails がいまだに何なのか知らない。w
>>183 WEB用途を主なターゲットにし、DBとの連携も手厚くサポートしているフルスタックのフレームワーク、でいいのかな
使ってみればいいよ。・・・うかつにインストールしようとするとサーバ固まるけどな。
rails1.0以前に研究室の先生に言われていじってたけど 最初の一歩はかるーく大きく踏み出せるんだけど、込み入ったことを やりだすと自分でCGIを一から書いた方が早かったという・・ 今は情報もふえてそうでもないんだろうけど。
>>185 込み入っていない大多数の場合を対象にしているのがrails
187 :
デフォルトの名無しさん :2009/02/09(月) 21:31:02
「Railを外れる」といいます
てか「フレームワーク」だということを意識しないて使って投げちゃう人いるよね "CGI" を1個か2個作る程度ならむしろRailsの学習は損で、個別に作ったほうがお得だ 設計上似通った感じのものをいくつも作るような人が、 その似通った途中経過をざっくり省略するために使うのがフレームワークであり、 Ruby理解者に向けたWeb上での小箸キ中規模アプリサポートプログラムがRails
190 :
デフォルトの名無しさん :2009/02/09(月) 22:36:30
Redmineてどーよ?
それが問題追跡システムの出来の事をいってるなら、結構いいよ Rubyの開発・サポート体制の事を言ってるなら、知らね
192 :
デフォルトの名無しさん :2009/02/10(火) 03:44:45
ちょっと他のスレッドで発見したのですが ↓ ラーメンタイマーでも作ってみれ。 カップヌードル用(3分)とどんべい用(5分)に分ける。 できればタスクバーに駐在する奴。 こういうのってRubyでもサクっと作れますか? できればexe化したもの
>>192 Rubyの仕事ではないと考える
っていうか、作ったとしても中身の95パーセントくらいはRubyではないな
VB2005スレの話題じゃん 「Rubyでは作れない」でいいと思う
vrubyで簡単に作れる
>>192 WxRuby使えばサクっとできる。たぶん他のGUIツールキットでもすぐできるだろう
タスクバー駐在のところは出来るかどうか解らないが
おまいらそんなレスでお茶を濁していていいのか Pythonスレでも見て来い
>>198 標準でできないことはRubyで無理してやれって言わないのがRubyのジャスティスって今決めた
ていうかPythonはGUIサポートがまともだから比較すらできんぞ
RubyのこのへんはどっちかってとPerlとかに近い
RUbyはexe化でも結構悩む死ね
Shoesいいな
ソース散らばるのがいやならコンパイラ言語使えばいいじゃん。あとHSPとか。 インタプリタ言語でexe化とか矛盾してるでしょ。
んなこたない
矛盾はしてない。 ただRubyでやるには整備不足というだけで。
スクリプト言語に何でもやらせすぎだよ。 本質はテキスト整形言語だぜ? ちゃんとしたアプリは横着せずCやVBで作ろうぜ。
超簡易ラーメンタイマがちゃんとしたアプリってのもw exe化する一番大きいメリットは多分、、Rubyが入ってないマシン(普通は入ってない)に 持っていっても使えるツールになることだと思う
>>206 C言語やVBにこだわりすぎだよ。
ちゃんとしたアプリだからといって思考停止せずスクリプト言語で作ろうぜ。
Cで細かい文字列処理をするのがめんどくさい
ここら辺はC#やDelphiでやるのが手っ取り早いよ。 タイマーといえども作りこむと結構な大作になるしな。
.NET Frameworkが必要です。>C# Rubyで作れば作り方次第ではLinuxにも持って行けるよ!いけるよ!タスクトレイってなに?! 誰もJavaって言い出さないのが素敵だ。
Javaのクライアントアプリなんて総じて糞だからな。 それしかないって時以外は絶対に使わない。
.NET Framework上でもRuby動くよ。 C#で作っても作り方次第ではLinuxにも持っていけるよ。Gnomeのタスクトレイ(相当)もOK。
メイン環境がLinux, GNOMEなのでRuby/Gtk2でいい感じに
ウィンドウとか作るのはRubyの仕事ではないとみなしていいと思う タスクトレイ云々はあれはたまたまウィンドウ出てないだけで内部的にはウィンドウだし
しかし敢えてHaskellを使う
ところで、普通は「駐在」じゃなくて「常駐」って言わないか?
ひょっとするとSwingスレにいた奴かもな。ヒマなやつだ
SWTも思い出してあげてください
SWTってeclipseの?
ここのところずっとsocketがいじられてるねえ
>>219 >SWTも思い出してあげてください
AWT(Abstract Window Toolkit) の間違いじゃなくて?
デビアン前提の言語だしなあ。窓はサポート外。
誰もサポートの話なんかしてないよ
オナテーションっすかw
松本教祖様への忠誠を示す集会か。信者どもは、しっかり寄付しろよ。
>>234 もともとRubyのシェアは少ないからな
使いたい一部の人に広まり切っただけで数字上は拡大になるぞ
>>233 残念だががいしゅつ(
>>145 )
たぶんURLが書かれてなかったから、検索しても見つからなかったのだろう
GUIだとShoesが一番人気なんだな。知らなかった
一番人気というか、面白そうなので注目中ってとこだね
ひどいタイトルだなあ。
経験はあるけどみんな挫折したってことだよね rubyのGUIツールがほとんどないって事実が物語ってる。 一方pythonはGNU/Linuxにおけるシステム/GUIツールの地位を不動にしたよね 俺もDbus呼ぶプログラムとかがんがん書いてるし。つまり、Rubyは日本人による オープンソースへの貢献をさまたげてるってことか・・・・
>一方pythonはGNU/Linuxにおけるシステム/GUIツールの地位を不動にしたよね いや、それは初耳だ
相手にするな どうせPythonユーザの間でも煙たがられてるさ
アナコンダとyumあたりのことを言っているのでは
>Rubyは日本人によるオープンソースへの貢献をさまたげてるってことか・・・・ 正しいとは思えんけど あながち否定できんな
真面目に考えると Ruby製のGUIアプリケーションってほとんど見たことない……なんでだろう それとも、見たことないのは俺が見つけてないだけで 実際には色々なアプリケーションがあったりする?
rabbitはたまに使う
漏れは自分で使うプログラムはRuby-Gnome2でGUI作ってるわ
大半の用途じゃCUIでも困らないような Ruby版Delphiみたいなのが登場すれば使うかも
251 :
249 :2009/02/12(木) 20:59:19
>>250 Linuxでしっくりくる画像ビューアがなかったので作った。
たしかに大半はCUIでいけるね。
>>250 他のツールキットは知らないけど、QtでDesignerとか使えばほぼそれに近くないかな?
$ apt-cache rdepends python-gtk2 | wc 270 271 3845 $ apt-cache rdepends ruby-gnome2 | wc 3 4 51 圧倒的じゃないか
% apt-cache rdepends libgtk2-perl|wc 48 49 790 _| ̄|○
$ apt-cache rdepends libgtk2-ruby|wc
15 16 218
情報操作はやめなさい
>>253
大して変わらんとか
これってシステムやらウインドウマネージャ周辺のツールをpythonで統一してるだけでしょ まあ、それを差し引いてもrubyの方が少ないとは思うけどさ
「だけ」っていうか、それも違いのうちだろ
ディストリビューション提供のツールだから別のディストリには入ってないって事 *BSDや別のディストリで調べたらこんな桁違いの差は出ないだろ
ディストリ限定であっても,どんだけ採用されてるか,どんだけ使われてるか,ってのは気になるところでしょ ライブラリとかは豊富で便利になってくれたほうがいいし
潔く負けを認められない人たちばかりなんですね
勝ち負けはどうでもいい。負けてるのは分かりきってるから というわけで、関心が集まるのは内実
勝ち負けは基本的にどうでもいいんだけどPythonの人はこのスレに来て何をしたいの? 新規ユーザーをrubyに取られるのが怖いの?ネガティブキャンペーンてやつ?
疑問はもっともだが安心して。 PythonスレでもRubyをダシにして同じ様なことが繰り返されているのだから。
265 :
デフォルトの名無しさん :2009/02/12(木) 23:34:49
kita2はruby製
べつに Python > Ruby ということが言いたい訳じゃないんだよね Python ユーザーは普及がどうたらこうたら気にしないのに Ruby ユーザーはやたら普及度を気にしてると このスレを見てて思う
>>267 それはPythonがかなり普及してるからだ!
なんつうか愉快犯っぽい中学生が双方のスレに出没してるな
単に春厨がわいてるだけでしょ Linux板でもほとんど同じやりとりを見たよ。言語を使用するって行為には参加できないけど 人気合戦なら簡単に誰でも参加できるからね。VIPでやってる茸vs.竹の子みたいなものだから 無視すればいいだけと思うよ。 ところで、ChangeLogのForzenっていつ見ても笑えるね。いつ直されるかなw
pythonのスレいくつか見てきたけどrubyのスレよりひどいね 技術的な話には食いついて来ないから 267 みたいな対立煽りかな
Matzは、もう青い鳥を追い求めるような泥沼開発をやめ、 仕様を固定したうえでバグ取りと高速化とドキュメント整備に専念すべき。 でないとRubyはbrainfuckレベルの趣味的言語で終わる。 それでいいと言うなら構わないが、ならばIT業界を巻き込むのはやめてくれ。
本人に言え
巻き込まれるのは弱小IT会社だけ。 スマートなやつはRubyでばんばんアプリをつくるし 大規模Webサイトも構築して巨万の富を得ている。 速くて仕様が決まっててお役所並の文書がある言語しかつかえない カスグラマはJava/C#を使って代替可能なコマになればいいだろう
>>272 教授 「皆勝手にそっちから関わって来たんだ」
IT業界を巻き込んでるのはMatz本人じゃなくて そこに群がる金目当てのとりまき連中だろ
あーあの会社とかあの会社とかか。
RubyなのにJavaの4文字があったら緊急回避の印
Net::HTTPHeader#add_field(key,val) って確か、 既存のヘッダがあればその値の末尾にセミコロンつきで val を追加するよね これってどんなときに嬉しいの? 末尾に追加されるより先頭に挿入してもらったほうが嬉しくね?
railsを一からじっくり勉強し直したいんだけど良い書籍が見つからない。 ●RailsによるアジャイルWebアプリケーション開発 第2版 これはいくら内容良くてもバージョンが1.2だから論外 ●Railsレシピブック これは使い方は分かってもRailsの勉強にはならない…もっと実装の奥を知りたい ●実践Rails(オライリー) 本屋で立ち読みしたけど、これは既にRailsを良く分かってる人が読む本だと思うので除外 他にも色々見たけど見つからない。皆どうやって勉強してるの?
>>281 > もっと実装の奥を知りたい
つ ソース
意味わからん。 フレームワークは使ってナンボ。 実装の中身を知る必要はない。
>>283 実装の奥と実装の中身の違いを説明してくれ
つまらんこと聞くな。
とにかく
>>281 は言っていることがおかしい。
Railsの使い方を勉強してるヤツはゴマンといるが、
実装を勉強してるヤツなんかいない。
言い切ったw
それこそ個人でソース読めソース読めないような人間は要らんで終了ではある 研究してる人間がいないとは言わないが、他人向けに解説するような人がいるとは思えないし、 Railsに限っては解説を受けたからってよりうまく使えるようになるとも思えねー
実装を知りたいんじゃなく、実装のその奥を知りたいんだろ。 つまり思想だな。 Matzの啓蒙書でも呼んどけ。
DHHじゃないの?
Railsはまつもとゆきは無関係だな
そうでした。
>>290 ホントは嫌いなんじゃないかと思うことはある
>>292 Rails を好きな Rubist なんていません!!!
Railsのコピーを作りたいとか
まあ、DSLの勉強をしたいのかなとはちょっと思った
Ruby開発陣がほとんどRails使ってないのは常識。
ちょっとMatzに会ってくる
いってらっしゃい
>>281 秀和のRuby on Rails入門は?
アマゾンのレビューで叩かれている理由がわからんが
入門と銘うってるのに入門じゃないてところが叩かれてる Railsの初心者であってRubyに対する十分な習熟を持つ人を対象にした「入門」だとしたらRubyとかOOPの説明がいい加減すぎる 結局どんな人を対象にした本なの? っていうのが主な叩かれてる理由
>>300 Rubyに対する十分な習熟を持つ人を対象にした「入門」なんだから
RubyとかOOPの説明なんてさわりだけでいいだろ?
おれはSimply Rails 2.0を最初に読んだ。 Rubyは特に知らなくても大丈夫だけど、なんらかのOOPを分かってないと つまずくかもしれない。というのが前提になっちゃうかもしれないが、 一通り読めばRailsのさわりは一通り分かる、って感じで 自分にはなかなかよかった。 日本語訳が出てるかどうかは知らない。
>>301 むしろ要らない、が件の本はそういうのにページ割き過ぎということ
simply railsって日本語版無いよね 英語だと酷く効率落ちる やっぱり英語読めないと辛いなぁ
結局RailsのAPIリファレンスは避けて通れないしな
Railsやめてramaze使おうぜ1.9対応してるし
大学出と専門卒の差は英語力の差も大きいかもね 大学だと英語の論文読めないと話にならないし
うちは大学院ですけどそうでもないみたいですが
外国と交流する必要があるかどうかで決まるよね 国内だけで完結するような研究なら英語読めなくても問題なさそうだ
うち(計算機科学)の大学院に来た教育学修士の人がほとんどの資料も テキストも英語なのを見て青ざめていたのを思い出した。
リアルタイムで会話するんでもなけりゃ、必要なぶんは半年もあれば慣れるけどね 大学入試で英語とらなくて教養でも英語やらなかった人(いるのか?)でもない限り大丈夫
使わないのが問題なのかなぁ
Matzにあってきた. 初めて生で見たよ
見たこと無いけどピザって本当なの?
matzをピザだと形容するケースがあるというのは初耳
イケメンでもないけど,そんなピザってほどでもない この業界の人間なら普通のルックスだと思う っていうかネット上に写真いくらでもあるから見ればいいじゃん
dan kogaiならまだわからんでもないが
Matz若返ったなと思ったらささださんだった
dan kogaiの書評はあてにならない
そういえば、ジュンク堂でトークセッションがあったんだっけ? どこかに動画上がってくれないかな
ERBで <% hoge.each do |x| %> <% x.each do |y} %> <% end %> <% end %> ってできないのかな? xを使おうとすると激ギレされてEclipse毎回落ちる
>>325 |y}
を
|y|
に直したら動いたよ。
# hoge = [[1,2],[3,4]]とか適当に設定はした。
>>326 タイポすまねw
class Hoge
attr_accessor :x
end
このxが別のクラスの配列なら動作しますかね?
Rubyは全部オブジェクト扱いだから動くのかなぁ
めんどいのでerb外すけど hoges.each do |hoge| hoge.x.each do |e| end end という話なら、xが(Arrayのように)eachを持ってればそれなりに動くと思うが。 xというのは、 外側のeachのブロックのxというローカル変数なのか、 Hogeクラスのアクセサメソッドなのか。
>>328 そうですよね俺のコードの何がいけないんだろうか。
Cのソースを生成するERBを書いているのがいけないのかなぁ
>>329 C言語ジェネレータとは珍しいものを作ってるなあ
でも何を出力してるかなんて関係ないでしょ
「ERB上だとうまく動かない構文」とかなんて聞いたことないし,
意図されてないオブジェクト,構文,メソッドになってたりするだけでは?
とりあえずどんなオブジェクトになってるかデバッグとかちゃんとしてる?
<%= hoge.inspect %>
<% hoge.each do |x| %>
<%= x.respond_to? :each %>
<%= x.inspect %>
<% end %>
>>329 どうしても上手くいかないんだったらテンプレートエンジンつかったら?
Rubyで適当なものがあるのかどうかは知らないけど。
例えばPHPのテンプレートエンジンとか、自己矛盾で滑稽で無駄とかさんざん
言われたりしてたけど一定のニーズ、効用はあったみたいだし、ましてやERBは
Rubyのブロックの書式のせいで、素のPHPよりも読みづらいし。
[ruby-list:45870] Re: Ruby1.8 と1.9の安全な共存 > Ruby 1.9.1 はライブラリ作者用であって、ライブラリを使う側のユーザ向けではありません。 > > 率直に言って、(中略)使う側の人は 1.9.2 を待った方がよいでしょう。 1.9.1ってそういうリリースなの?安定版だけどエンドユーザ向けじゃないっていう よくわかんないや
安定版ではあるけど、 現状ではまだgemのライブラリとかが追いついていないから 使う側の人はもう少し移行を見合わせたほうが良いですよって論旨でしょ
335 :
デフォルトの名無しさん :2009/02/15(日) 16:56:30
>>333 ちょwww
結局リリース失敗で去年と同じかよwww
いつになったら安定版リリースされるんだ?
おいおい、公式のトップページで 新版登場を煽っておきながらそれはねーだろ。 何も知らない初心者をハメ殺しするつもりかよ。
これはリリース失敗とは言わないだろ サードーパーティのライブラリがいきなり1.9系対応に化けたら逆に怖いわ ・・・・・・分かった。例によって公式サイトが悪い こういう所こそPythonを見習うべきだろ ちょっとした一文でいいから、現在の状況を書いとけば良いのに
>>337 そういう事なんだろうけど、いきなりってわけでもないのでは?
外野から見てると。
何のための1.9.0だったのかと。
>>338 1.9.0の時点で対応しなかったライブラリ、アプリの作者が悪い、ということですか?
別に悪かないんだろうけど、ライブラリ作者用ってんならそっちじゃないの?っていう
まあ
>>333 も公式見解ってわけでもないんだろうし、うん、誰も悪くないよ!
っていうか、みんなでライブラリを一つ一つチェックしてパッチ作って 作者に送りつける運動やらないの?
作者が働かない人なんだから意味無いじゃんそんな運動
github見てると、勝手にforkして1.9対応してる人がいたりするね。 きっと原作者にpull request(俺の修正を反映してくれ要求)もしてるんだろうが。
>>337 Pythonなんて何も作れない駄目な言語参考にしてもしょうがないっしょ。
>>344 を雇うよりはPythonの方が役に立つことは分かった
何その半ベソかいてんの丸わかりの煽りw
なんだこの低レベルなスレ…
お前が見に来るにはピッタリだろ?
いいぞ、もっとやれ低脳ども
>>344 >Pythonなんて何も作れない駄目な言語
mercurialはほぼPythonで書かれています
おまいら釣られすぎですよ
PythonはRubyからいろいろとパクってるのにな
というかプログラム言語は基本的に相互にパクりまくってるぞ 移行者獲得のためにあざとくやることは稀で、たいていは「こっちのほうが便利そうだから」だ
日本は「せかいだいにいのけいざいたいこく」じゃなかったか?
うがー1.9.1に上げてみたがほぼ全滅…orz ひとまず1.8.7に戻すのは良いとしても2.0.0に なったときには同じ事になるんだろうなぁ…('A`)
もっとhaskellとかcoq、adgaからもパクって欲しい
Rubyは集大成的な言語だよね わりかし素直だ むしろパクりたいと思える機能が少ない
nil オブジェクトはわりと好評な模様
君たちが鼻糞ほじりながら使っているブロックつきメソッドは 他言語から見れば垂涎の的であるという自覚くらいは持って頂きたく
たぶんRubyからのぱくりだが、C#にもあるよ
ブロック付きメソッドは継続渡しのパクリ
単なる高階関数のシンタックスシュガーだが・・・・・ しかし良い。空気のようにクロージャを使える
あまりにも「1.8.7に1.9.1を上書き」というマネをする香具師が多すぎてびっくりした
やっぱ 1.8.7 と 1.9.1 が 0.0.4 しか離れてないことが原因なのかね 1.8 と 1.9 は系列自体違うということが「常識」になり過ぎてアナウンスが不足したか
たとえオフィシャルで注意されなくても 1.8 ディレクトリが既にあることから類推できる人が…あんまいなさそうだな
>>364 香具師といわず、Rubyの系列についてよく知らない人ならまず間違いなくやる
公式サイトでもわざわざ「新しい安定版」と宣言されているのだから
>>365 > 1.8 と 1.9 は系列自体違うということが「常識」になり過ぎてアナウンスが不足した
これでFA
2.0を出すときは、2.00 → 2.01・・・2.09 → 2.10・・・2.99 にするべきだね。 2系の最初の安定バージョンは、2.00.01
>>364 誰がそんなバカなことをやっているんだ?
多くのRuby初心者ってのはaptになるまでは現行バージョンを使うもんではないんだろうか。 それとも、Debian・Ubuntuのヘビーユーザで1.9を使いたくなったRuby初心者ってのは存外 多いんだろうか。
最新バージョンに突撃して玉砕するのはWindowsユーザじゃないか? ちゃんとしたパッケージ管理システムがあるLinuxであれば、 1.9は1.8とはある程度別物として扱われるし。
趣味にしか使ってないWindowsユーザーです 1.6から1.8の時は 1.8の実行ファイルのうち ruby.exe と rubyw.exeをruby18.exe rubyw18.exeとしてた 1.6のもruby16.exeとrubyw16.exeのを一応コピーしておいた 当初 ruby.exeは1.6だったけど しばらくして ruby.exeとrubyw.exeを1.8のに変えた いま、1.9で同じことをやってる 1.9の実行ファイルが ruby19.exeとrubyw19.exe スクリプト系のはirb19.bat rake19.bat rdoc19.bat ri19.bat erb19.bat等に改名して 中身もruby19を呼ぶように書き換えてる それなりに1.9がメジャーになってくれば ruby.exeを1.9のと換えることになるのでしょう ここんとこ何年も使ったこと無いけど、いまでもruby16で1.6.8が動きますよ
>>375 お前Windowsしか使ったことないだろ
自分でコンパイルすれば--program-suffixっていうオプションがあってだな…
Linux のディストリビューションパッケージでも /usr/bin/ruby18 としてインストールされる場合があるな 自前で /usr/local/bin/ruby とかにシンボリックリンク
これってバグかい? ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32] irb(main):007:0> File.extname("a.txt") => ".txt" irb(main):008:0> File.extname("a .txt") => "" irb(main):009:0> File.extname("a.txt .txt") => ".txt .txt"
>>380 バグじゃね?環境に依るのかもしれないけど
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
irb(main):001:0> File.extname("a.py")
=> ".py"
irb(main):002:0> File.extname("a .txt")
=> ".txt"
irb(main):003:0> File.extname("a.txt .txt")
=> ".txt"
パス中にスペースを含める糞OSの欠陥です。 Ruby側に何の落ち度もありませんよ。
OSに対応できてないRubyの落ち度じゃん
パス中にスペースを入れられないOSなんてあるの? Unixのことなら、改行文字だって入れられるはずだけど
てかおまいら
>>381 無視かw
1.8.7でのバグ?
>>386 1.9.1でも起きてる
たぶんなんかWindows用の設定なり書き方なりがあるのだろう
i386-mswin32作者はこんなとこみていないのでここで報告したって意味ないよ。
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-freebsd7] irb(main):001:0> File.extname("a.txt") => ".txt" irb(main):002:0> File.extname("a .txt") => ".txt" irb(main):003:0> File.extname("a.txt .txt") => ".txt"
>>388 もともとの「本体」のバグであるかどうかなんて他人の環境と比較しないとまずわからんだろ
>>382 LinuxもWindowsもMac OS Xも
いまではファイル名に普通にスペース使うと思うんだが
ファイル名にスペイスなんかつかうやつはバカです
XPかVistaかで違ったりするんだろうか ・・・まあどうでもいいが。Windowsだし。
ironrubyの情報がもっと知りたい
今日会社の隣の席から 「ったくなんて(こうRubyは)ブラックボックスなんだよ」 とキレてる声が聞こえた。 ソース読めば、とは言っておいた。そいつはまだ残業してる。。
その人が何か極めている言語があれば知りたい
ブラックボックスが嫌いみたいだから、 おそらく言語仕様に抽象がまったく無い言語だろう
その人がいうRubyはきっとRailsのことだ あれはソース読めること自体が一芸とみなせるくらいだから仕方ないな
>>397 Javaにも、eclipseにもAptanaにも、TracにもSVNにもキレてた。
いつも本は買って、手元に置いてるんだけどね。。
そしてrakeがきらいだってさ。
途中から助言するのはやめました。
>>400 C言語やVBとかなら理解しやすいのかな
ruby1.9のstateless-ISO-2022-JPエンコーディングってユーザはどういうときに使うの?
GJ!!
最近ソースからmakeするときに In file included from conftest.c:1: version.h:34:23: error: revision.h: No such file or directory こんなのが出るんだがいいのか
407 :
デフォルトの名無しさん :2009/02/19(木) 23:23:29
最近ソースからmakeするときに In file included from conflict.c:1: conflict.h:1:23: error: license.h: This file includes GPL license. こんなのが出るんだがいいのか
以上。最近ソースからmakeするときに In file included from conftest.c:1: version.h:34:23: error: revision.h: No such file or directory こんなのが出るんだがいいのか
次のバージョンのRCが出る頃になってもそのままだったらよくないが、 普段のtrunkなんてそんなもんじゃないの?
make upはしてるかい?
つうかまじでruby厨うざい。 ruby厨は全員首吊って死ねよ。 python人口の方が多い。 pythonの方がいろいろできる。 言語的仕様は好みの問題。 議論の余地無し。 以上。
一番いろいろできるのはPerlだが
C言語人口の方が多い。 C言語の方がいろいろできる。 言語的仕様は好みの問題。
>>414 >>411 は Python スレの
>>979 に対して ruby ⇔ python 変換をしてコピペしたもの。
他人のレスを盗作するしかないぐらいに悔しくなった python 厨の仕業。
以前からruby スレを荒しまくり、自分でpythonコミュニティーのアホさ加減を露呈している人間。
俺がpythonを使うのを止めて、ruby 使いになるきっかけをになってくれた張本人でもある。
完全無視推奨。
以下、オリジナルのソース:
http://pc11.2ch.net/test/read.cgi/tech/1230821097/ | From: [979] デフォルトの名無しさん <sage>
| Date: 2009/02/17(火) 14:18:58
|
| つうかまじでruby厨うざい。
| ruby厨は全員首吊って死ねよ。
|
| python人口の方が多い。
| pythonの方がいろいろできる。
| 言語的仕様は好みの問題。
| 議論の余地無し。
| 以上。
|
| From: [985] デフォルトの名無しさん <sage>
| Date: 2009/02/17(火) 17:21:04
|
| 結局のところ
>>979 が穏便かつ正論だと言わざるを得ないな
>>415 君こそそんなPython厨は無視してPython使い続けてもいいじゃない
スレ荒らす暇でPythonもRubyも覚えればいいだろ つかPythonスレだけじゃなくてRubyスレも荒らしてんのか 暇だねえ
二回変換して元にもどっとる罠。
どの言語がどうたらだからどれ使え、という話を見るたびに 全部使えば? と思うのは俺だけ?仕事なら選択肢はないし、個人なら全部使えば?だろ。
>>419 感情論で言語優越を語るやつにそんな冷静な正論を言っても無駄
全部使えとか極論って言わね? 時間は有限なんだし
>>421 必要があるなら全部使えってこと。
twistedが使いたいからPythonでその部分は書いて、RoRが便利な部分は
Rubyで書いて、システム管理系はPerlで書いて、対話処理の自動実行は
Tcl/Expectとか。必要に応じてどんな言語でも全部使えるか、短期間で
使いこなせるようになっておくのはエンジニアの義務だろ。
>>422 > 必要があるなら全部使えってこと。
同意。ノコギリで刺身を作るような真似はすまい、と自戒。
もっとも融通性のある(自分で拡張できる)道具が可愛く見えるのも確か。
>>422 不同意。そんなにヘテロなシステムじゃ保守性とか最悪だ。
手離れ悪くてそれを作れるレベルのハカーが次のプロジェクトにスムーズに移行できん。
必要なら全部使え?寝言は寝てから言ってくれ。
あーはいはい全員他のスレでやってね
手土産がなきゃ話題は変わらないよ。
CとかJavaScriptとかのコメントで /* ... */ というのがありますが、 文の途中でも abc = /* def; */ ghi; みたいに書けますね。 abc = # def # ghi だとおかしくなっちゃうんですけど こういうときはどうコメントすれば良いのでしょうか
>>428 できない。そもそもできるできない以前に行儀が悪い。
Rubyのコメントは行志向だから「途中だけコメント」はできない やってやれないこともなかったとは思わなくもないんだが、そのようになってないので「できない」が答
ネストの時の処理がめんどいから自由範囲コメントはなくしたんだっけか # から後ろ全部か、行頭の=beginから行頭の=endまで
>>428 考え方を変えて
abc = ghi # def
にするのはどうだろうか
>>428 考え方を変えて
def comment(str);end
abc = comment("this is a comment") || ghi
とするのはどうだろうか。
434 :
デフォルトの名無しさん :2009/02/23(月) 15:42:51
=begin hoge =begin fuga =end =end みたいなネストって出来ます?
>>432 ちょっと試したいときに
もともと
abc = def # ghi
だったのを
abc = ghi # def
に変えるのって面倒だから
abc = # def # ghi
ってやりたくなるときはあるね
行儀が悪いという意見には賛成
436 :
デフォルトの名無しさん :2009/02/23(月) 15:47:57
>>435 そういうときは後でなにやってたか判るように
abc = ghi # def # ghi
と書く
abc = (1==1 ? ghi : def) abc = (1==0 ? ghi : def)
>>434 できそうに思う?てか試してみれば1分で結果が出るのに。
コメントをネストして何が嬉しいのかわからんが、まっとうなエディタなら
=begin
hoge
hoge
# fuga ← ここを一括でコメントアウトor解除
# fuga ←
=end
くらい簡単にできるっしょ。
ちょいと質問 最近Nokogiri追いかけてないんだけど、inner_textや属性の値がUTF8固定なのはどうにかなった? エンコーディングを指定するとずっとそのエンコーディングで出力するとかいう素敵機能の実装とか
libxml 経由だから出力が UTF-8 固定なのは仕様だと思う
Ctrl+/でコメントのトグル&下へ移動、 Ctrl+Alt+/でカレント行を下にコピーしてコメントアウトってマクロを用意しておくと便利。
ironrubyまだかなぁ .net使いたいよ。rubyから
Ruby(ルビー)と書くならJAVA(ジャバ)とも書くべきだな てかJavaは全部大文字で書かれることが稀にあるんだがなんでなんだぜ
変態がRubyの読み方がルビーって決めつけるのキモい perlをペリルって読んでた俺より
電子メイルみたいなもんか
IBMだけは新聞とか日経なんとかでも「アイビーエム」と書かれない不思議
NTTはエヌティーティーなの?
いいえ、みかかです。
>>444 ライフスタイルの記事だからコンピュータを知らない人向けだな。
>>451 まあ、日本産のコンピュータの言語が日本の自治体でコスト削減のために使われてます、という話以上の何物でもないな
> 広く使われている『JAVA』などでは前置きがたくさん必要だったが、
> ルビーはやりたいことを書けばシステムが面倒を見てくれる仕組みを作り、最も成功した。
> 書きやすいから生産性も高い
という教授さんの説明(の勝手要約?)は苦難の痕が垣間見える
これ読んで「じゃあ我が社もルビーで」となる会社がないことを祈る 「うちのあれがルビーで間に合いそうだな」という分業のなら歓迎だけど、そんな判断できる人はレアだろうな
>>454 新聞ではカタカナで書くのが普通なんだっけか
「ルビー(Ruby)」ならまあ怒ってもいいが、最初に「Ruby(ルビー)」と断ってるなら別にいいじゃんね
この人の普段のRubyの呼び方がちょっと気になる
きちんと英単語として発音してくれてるのかしら
発音記号をカタカナにすると「ルゥービ」が近いかな? まあ英語でも地域によって訛がすごいし日本では「ルビー」でええやんと思う
オフィシャルで読み方書いてないのがな 書き方はRubyで読み方はルビーですが、ルビーとカタカナで書くのは言語呼称としては認めません、みたいな 識別子としてひらがなカタカナを認めてないって意味だろ、要は
>>454 想像力ないのは記事書いた方だろw
あるいは読者レベルを勝手に想定したか。
読者のレベルとか関係なく、新聞では固有名詞でも基本的にカタカナ表記するの。
ルビーの設計図って読みづらいから好きじゃないよ
windowsでユニコードファイル名でファイルにアクセスできないの、1.9系では直ってる?
JavaがJAVAだから気になるという話なんじゃないの
>>462 現行の1.9.1でも無理
1.9.2で直る予定って言っておけばプレッシャーになるかも
Pythonではうまくいくんだよね
なんかgemとかで誰か作ってないだろうか
redmineにチケットあったっけ
>>465 さすがWindowsにやさしい言語だなPython
468 :
デフォルトの名無しさん :2009/02/25(水) 15:11:22
>ルビーのようなプログラミング言語は、 >ソフトウエアの設計図に当たる >ソースコードを記述するための言語だ。 なんか違和感ある文章だな
るびきちさんはruby界では叩きやすさno.1だからな
>>470 だからるびきちがたわいもないこと言ってもこの住人は叩こうとするわけだ
>>470 の皮肉に気づけるかどうかの差は大きいと思う
MLもIRCも離れこのスレに隠遁する上級Rubyユーザは当然ながら皮肉に気付いているわけで
rubyにルビをふる
で?っていう
476 :
デフォルトの名無しさん :2009/02/25(水) 20:45:12
どうしてルビがrubyでルビと言われるようになったのはなぜ?
おっぱい!
マジレスするともともとは「るばい」だけどな
増山江威子ボイスで再生されますた
Ruby玄徳
>>444 中田育男・筑波大名誉教授って、
コンパイラに関していろいろ本書いてる人だよね。
>>476 活字の大きさの呼び名が宝石シリーズだった。
たまたま、ふりがなに使うサイズがRubyという名前だった。
コンパイラほどつまらない研究分野はないと感じた大学時代
言語処理系制作にハマるマは割と多い気がする
研究と制作は大体別物だよな
処理系製作は楽しいんだが、実用レベルまでライブラリ群を作りこむのがめんどくさすぎてやってられない。
新聞の部数減って国民が馬鹿だから新聞を読めないのだと決めつけて その対策でゆとり表記が蔓延しつつあるからいちいち突っ込んでもしょうがない。
学生の研究程度でできるような部分はもう掘り尽されてるって印象がある
ゆとり表記ってなんだ
日本の大学生の卒論って他人が見ても全く面白くないよね。 頭は良いはずなのにどうして皆同じことやってんだろね。
妄想乙
>>488 >新聞の部数減って国民が馬鹿だから新聞を読めないのだと決めつけて
そこはあながち間違ってないと思う
まあ、国民が新聞を読めないかどうかはともかく 新聞をわざわざ買うのが馬鹿らしいからというのが一番の理由なんだが。
10年新聞読んでないな
新聞を買うのは折込広告のチラシの割引目当てとか抜かす販売員もいたが 月3000円から出して元取れるのかと問い詰めたら帰っていった
チラシで月3000円の元は十分取れる。ニートはそんなこともわからんのかね。 食料品・日用品を月6万使ってるとしたら5%。 ネットで安売りの情報を出さないような店が多いところなら効果的だろうな。 その販売員は教えられたとおりに言ったんだろうがバカだなあ。
職場に新聞置いてあるからそこで読むけどな
>>497 チラシの割引ってそんなに付いてるか?使うか?
近所のスーパーなんかでチラシ持って行かないと割り引いてくれないとか無いが。
よくあるのは紳士服とかだけど、毎月そんなに買わないし、その店に行くかどうかすら不定。
まあ新聞の勧誘が常識の範囲内の言動になって久しいとはいえ、未だ悪い印象しか
持ってない人も多いし、しょうもないことをグダグダ言ってたら追い返されても仕方ない
>>499 クーポンしか頭にないからニートって言われるんだろw
これが・・・ Rubyスレ・・・
496がニートには見えないけど 497がものすごい下層階級なのは感じる
チラシに出てるものをチラシ頼りに超お得に買える人間ってけっこう限られるよね
そろそろスレタイ見ようぜ
プログラムでもサーバーの性能がいいからといって、 リソースを使いまくるプログラムはだめだよな。 全体も重要だがちょこちょこ気を遣って効率よく&節約しないと。 特にRubyは元からスピードの点ではハンデがあるわけだし。 と、まとめてみたがどうだ?
>>503 まあ、おおむね無職だな
フレックスタイムで10時は買い物で昼から出社とかいう人も
郊外型大規模店舗で夜10時でもらくらく豊富にお買い物とかいう人もそりゃいるだろうが
議論に乗せられるようなもんではないだろうね
Ruby(笑)
>>505 そんなことはない。今はCPUもメモリもHDDもアホみたいに安くて大容量で
速いんだし、変な最適化をする必要はない。ま、速さはちょっとぐらいは
速くしたほうがいいけど、メモリ使用量に関してはまったく気にすることはない。
ジャブジャブ使っていいよ。
演習問題レベルのプログラムならともかく、まともなアプリを組もうとしたら 言語仕様の範囲だけで出来る言語は無いからなあ。 ・目的に合ったライブラリを持ってるか? ・カット&トライがすぐ出来るか? C、Javaで事足りるアプリでのスピード競争は無意味だよ。
さて、 チラシを順次スキャンして、 画像処理してOCRなどを行い、 お得情報を統計的にまとめ、 スーパーマーケット間の移動をTSP問題のごとく解いてくれる プログラムをRubyで書くか。
>>512 JPEG画像から商品名と価格をスキャンするのが死ぬほど難しいというアドバイスだけしておく
PDFが提供されてるサイトなら簡単かと思ったがそんなことはなかったぜ
チラシ画像の新着のチェックとダウンロードだけ自動でしておいて、 実際の内容は10秒くらいかけてローカル画像を目視するというのが一番面倒がないという結論に達した
>>510 Rubyが遅いと言われるというか実際に遅いのの半分は
起動時間とライブラリロード(読み込み&解釈)にかかる時間だったりする
だから、起動してちょこっと処理して即終了というプログラムはRubyは「不利」
本編の処理時間を速くすれば速くするほど相対的に初期時間に足を引っ張られる
そこでMVMですよ
ディレクトリを巡回してすべてのファイルリストを取得してみたいなコード書くと普通に激遅だけどな。 字面が好きだから使ってるけど過度の柔軟性は害でしかない。
518 :
デフォルトの名無しさん :2009/02/26(木) 19:06:33
>>517 それって言語とかの問題じゃなくて、I/Oが律速になってるだけでね?
まあ、複数言語を使いこなしてる者は適材適所でやってるから、xxは遅いからダメ、とはわざわざ書かないだろうな。 Rubyの場合、DSLを組みやすいから目的別の実装(ネットワークに強い、DB周りが充実など)が多いのもあって 「これ1本でオールマイティ」と説明しにくいところはある。 C、Javaを使ってても、やはり似たような所があるが、実装が多いからというより、相性問題で欲しい組み合わせが なかなか組めないのが悩ましい。
ただし、Pythonはこれ一本でオールマイティです
>>520 Pythonのダックタイピングに惚れたw
RubyってPythonとPerlのパクリなんでしょ?
LispとCLUとSmalltalkのパクりだよ
再帰遅い
sprintfの書式指定みたいなのってどうすればいいですか
>>511 「にしか見えない」時というのは大抵
「そう見たいから他の可能性を無意識的に枝刈りしてる」時だよ。
別の話題に移ってるのにいちいち穿り返すなよww 空気読めない典型的な子だな
「いちいち〜するなよ」というレスを「いちいち」書き込む子ってよくわからんな。 なんで自分はノーカウントなんだろ。 自分も世界の一部であることを忘れた物言いって、オタクの語りに多いけどね。
ML見てPerl大丈夫かと不安になった
> /usr/local/lib/ruby/1.9.1/net/https.rb:102:in `require': no such file to load -- openssl (LoadError) あああああああああああしまった SSL 有効の指定忘れてたああああああああ また何時間もかけて ruby1.9.1 を make する仕事が始まるお…
checkinstallで入れろよ
あるあるw
HTTPのボディはテキストとは限らないよね。
irb> res = Net::HTTP.start('www.yahoo.co.jp', 80) {|http|
http.request(Net::
HTTP::Get.new ('/')) }
=> #<Net::HTTPOK 200 OK readbody=true>
irb> res.body.encoding
=> #<Encoding:ASCII-8BIT>
# まぁ、これは text/html なんだが。
レスポンスヘッダ見てテキストだったら、
ユーザーがボディをforce_encodingせよ、なのかな。
Net::HTTP#get したものと open-uri で read したものの encoding って違うんだよね
#!ruby1.9
#coding=utf-8
require 'net/http'
require 'open-uri'
uri = URI.parse('
http://www.yomiuri.co.jp/ ') # Shift_JIS/CP932
html1 = Net::HTTP.start(uri.host, uri.port){|http| http.request(Net::
HTTP::Get.\ new(uri.path))}.body
sleep 1
html2 = uri.read
sleep 1
html3 = open(uri).read
p html1.encoding, html2.encoding, html3.encoding
けっか
#<Encoding:ASCII-8BIT>
#<Encoding:ISO-8859-1>
#<Encoding:ASCII-8BIT>
>>539 Encodingってそもそもなんだっけって感じだな
ユーザーが内容を知らないファイルを読み込むということには対応してない概念なのか
でもこれで困ることって特にないよね?
これまで同様に NKF.guess で文字エンコード情報取り出せばいいよね?
勝手に変換されて壊れるよりまし
>>539 Ubuntu8.04 でやってみた。
ruby1.9は余り使わないんで問題ないが、1.9と、1.91では挙動が違うようだ。
% ruby1.9 -v
ruby 1.9.0 (2007-12-25 revision 14709) [i486-linux]
% ruby1.9 0227.rb
#<Encoding:ASCII-8BIT>
#<Encoding:ASCII-8BIT>
#<Encoding:ASCII-8BIT>
% ruby1.9.1 -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
% ruby1.9.1 0227.rb
#<Encoding:ASCII-8BIT>
#<Encoding:ISO-8859-1>
#<Encoding:ASCII-8BIT>
そういえば、最近ちょっとハマったんだけど ruby 1.9.1 では初期値空の StringIO にも外部エンコーディングが適用されるんだな Encoding.default_external = Encoding.find('utf-8') io = StringIO.new('ascii-string') p io.read.encoding # => <Encoding:US-ASCII> io = StringIO.new io << 'ascii-string' p io.string.encoding # => <Encoding:UTF-8> 文字列バッファ的な使い方してると落とし穴になる
大体UTF-8で使ってればその辺はよしなに変換してくれるはずだろ? CSIはUCSを包含してるはずだからなんとかできるはず
1.9.xが微妙すぎてみんなPythonに流れ始めちゃってるな。
ISO-8859 系と ASCII と UTF-8 しかない世界のガイジンさんが残念なコードを書くというのは一応共通認識だと思うが、 Shift_JIS と EUC-JP と UTF-8 あたりで互換が効くと思って NKF.guess ブチ込む日本人さんも同じくらいがっかりだと思った 知らないもんは仕方ないってことだあね、勉強勉強 っていうか Iconv はもうちょっと引数のエンコード文字列の制限を緩くしてくれてもいいと思うんだぜ
>>539 ルビ1.9.1はどんだけ危険ナンダヨwww
charsetぐらい読めばいいのにwwwww
>>547 open-uri は Content-Type ヘッダの charset トークンを内部で読んで force_encoding の引数に設定してくれる模様
require 'open-uri'
uris = %w(
http://sankei.jp.msn.com/ http://dailynews.yahoo.co.jp/ http://b.hatena.ne.jp/ http://www.2ch.net/ )
uris.each do |uri|
res = open(uri)
p "#{res.read.encoding.inspect}, Content-Type: #{res.meta['content-type']}"
end
results:
"#<Encoding:Shift_JIS>, Content-Type: text/html; charset=shift_jis"
"#<Encoding:EUC-JP>, Content-Type: text/html; charset=euc-jp"
"#<Encoding:UTF-8>, Content-Type: text/html;charset=utf-8"
"#<Encoding:ASCII-8BIT>, Content-Type: text/html"
Ruby1.9 の Net::HTTP はそれすらやらない、本当にプレーンな HTTP クライアントという性格に結果的になったってことだな
Net::HTTP のレベルで細かく処理されてたら確かに逆に面倒かもしれない
「HTTP ヘッダの Content-Type の charset があれば読んで設定、
それで valid_encoding? が偽なら meta タグの Content-Type を、
それでも invalid なら NKF.guess あたりの結果をブチ込み、
それでも invalid ならもうどうでもいいので ISO-8859-5 とかで流す」
という便利なんだか親切なんだかよくわからん HTTP クライアントは Ruby1.9 にこそあるべきだとは思う
あと、
>>539 のencodingの値はどれもほぼデフォルト値だから、
「あーこいつなんもエンコーディング処理やってねーな」と気づくことはできるぞ
これで POST ができれば完璧なんだが … 1.9.1 の open-uri は POST できたりする?
>>548 ヘッダは見るけどメタタグは見てないということか?
>>550 そう振舞うのが自然だと思う。
データの中身を見てどうにかするのは、そのデータを解析する層の仕事でしょ。
>>550 そういう疑問はマニュアルくらい読めよ
……あああああ当たり前のように全く何も書いてねええええええ
え〜、OpenURI::Meta::meta_setup_encoding が該当処理になっとります
おーむねおーざっぱには次のような処理
res = Net::HTTP.start(uri.host, uri.port){|http| http.get(uri.path)}
charset = res['Cotent-Type].scan(/charset=(.+?)"/).to_s
if enc = Encoding.find(charset) then
res.body.force_encoding(enc)
else
res.body.force_encoding(Encoding::ASCII_8BIT)
end
<meta> タグを精度よく読もうとしたら HTML のパースをきちんとしないといけないから、
open-uri にとっては動作的にも意味的にも荷が重い
なにこの「よくわからんがユーティーエフエイツって書けば黙るんだろファッキンジャップ」 とか言いつつLatin1を送りつけてくる無知外人を嵌めるブービートラップ
それで嵌るのは大概こっち側だという罠
まあ日本語で一発で表現できないからこそカタカナ語が残ったんだろうけどな 提供が近い?
おれはいつも「配置」と脳内で訳しているが
俺のイメージではインストールするだけじゃないインストール、つーかんじ?
「Railsアプリのサーバ設置とユーザへの提供」だな
Railsの本はRailsべったりでつまみ食いできないからつまんない たまにはRailsからじゃなくても単独で便利に使えるライブラリ解説本とか出ないかな
ちょこっとRailsとかやると新鮮でいいぞ 「だからRubyで書かせろよバカ」と思うことがないわけではないが
ハッカーになるために必要な言語が C/Perl/Haskell/Java/Ruby ってまじっすか?
Ruby 本体の open-uri に POST が入ることはないと思う。 どちらかというと、HTTP URI に post メソッドがつく方がまだありえる
>>562 ハッカーに「なる」ことはそもそもできない
スーパースターになるために日々特訓、というのと似たような滑稽さがある
で、それらの言語はそれぞれ極まった特徴がある言語だ
一つの言語だけの知識しかないというのはプログラマー的には(趣味仕事問わず)かなり損なので、
なるべく色々な言語に触れることが好ましいとされている
で、「色々」をわりと学びやすいと思われる組み合わせとしてよく挙げられるのがそれだ、というただそれだけの話
それを頑なに信じて実践してもご利益は特にない
Lisp処理系が入ってないから片手落ちだけど
Javaはいらないだろ
>>563 post メソッドがついてたまるかー
query と同じような感覚で mutipart とかあのへんのデータがくっつく可能性ならあると思う
>>560 ActiveRecord徹底解説みたいなのがほしい
Rails2系に対応した詳細本って全く無いよな 仕方なくAmazonで英語の本買って読んでるけどRailsより英語に苦戦してほとんど進まない
自作のライブラリのマニュアルとか書くじゃん?(書けよ?) Sting#empty? みたいな述語なメソッドの説明あるじゃん? ・ ○○なとき真を返し、××なとき偽を返します ・ ○○なとき true を返し、××なとき false を返します どっちがいい?
真偽がtrue/falseを表すとは限らないから下の方がいい
>>569 このメソッドは△△についての真偽を返します
と言っておいて
○○なとき true を返し、××なとき false を返します
と書く
ただし、これがコンディションとして使われる場合はたとえば
引数 param が nil か false だった場合…
とは(unless obj then ... みたいな実装だった場合の話だけど)書かずに
引数 param が偽だった場合…
と広く書く
質問。 Iconv の引数に渡すための文字エンコード名を、文字列を分析して取得したいんだけど、どんな方法がある? ASCII/SJIS/EUC/JIS/UTF8 は NKF.guess があるよね ISO8859-1 も Iconv の引数に入れたいんだ どうやって検出すればいい?
>>571 それってなんかの決まり事?
ルールみたいなのがどっかにあるんだったら教えてほしいな
>>567 Pro ActiveRecordという本はある。
Railsと独立してActiveRecordを使う本。
まー、内容はソースが読める人ならいらないレベル。
ソースを読めても効率を重視したい
>>574 そこまで高度な内容でもなかったような記憶。
578 :
デフォルトの名無しさん :2009/02/28(土) 00:32:10
1年後のIT土方御用言語の傾向と思って記事を読み直してみると、なかなか興味深い。
Perl/Pythonより売れてるってのが驚きだ Matzがバブルと言うのもうなずける
>>579 だってドキュメントが金出して本を買うしかないwwww
javaが落ちるのは当然だがrubyがJava以上に落ちるのは意味不明だなぁ Railsで一瞬盛り上がっただけなのかね
582 :
デフォルトの名無しさん :2009/02/28(土) 17:17:46
Rubyはある程度使ったら本読むよりネットやソース見たほうが早いって感じか。 Rubyは1.9以降でPythonは3.0以降がもっと使われだすとまた変わってくるかもね。
単純にrubyはpythonの代わりにはなれないと判断されただけだろ
Rubyはもう衰退期に入ってるのかもな
成熟期、ではないんだろうか。ないかな。ないよな
ruby(笑い)
もともとPerlやらPythonやらがあったところに食い込んでるんだから よくぞ生き残ったと思うよ これだけ発展すれば、もういきなり死ぬって事は無い
Railsに生かされてる感じだけどな
589 :
572 :2009/02/28(土) 18:58:52
あれ、みんな困ってないの? Encoding に指定するエンコーディング名だって困るよね?
はなから自動検出などあきらめている。
perl, python, phpと違って、mod_rubyが(事実上)無い事が一番致命的だった。 レンタルサーバーで使えない。
mod_rubyがどうこうと言うよりも、レンタルサーバーに関して言えば単にキラーアプリの不足だろう tDiaryはかなりrubyを広めるのに貢献したけれど、それでもperlやphpに追いつくには足りなかった
RUbyはところどころ未完成なのがいいんだよ 完成しすぎてると人気がなくなる
phpMyAdmin、Trac、MovableType あたりがキラーアプリかな? 特にMovableTypeのお陰で、そこらのへなちょこレンタルサーバでもCPAN モジュールが使えるようになったのはPerlでは大きいな。ちょっと遅かったけど。
中途半端なmod_rubyがあったが為に、まともなmod_rubyが開発されなかった。 CGIAlt以前のcgi.rbと同じ構図。
ぬるぽ
質問の前提を覆すなよwかわいそうだろ
Rubyは遅くてたまらん。 フルアセンブラで書き直して欲しい。 誰かやらないか?
もっとこう、発展余地のある方向を・・・・ JIT組み込んでみるとかさ、GCのアルゴリズム改良してみるとかさ、 部分的な型付けや型推論に挑むとかさ
はあ?
フルアセンブラ(笑) そんなに遅いならRubyなんかで書かずにフルアセンブリで書けばいいじゃない
日本で、Ruby はマイナーなテキストエディタのように生き残るよ。 日本語の漢字コードに対応しているし。
>>604 >マイナーなテキストエディタのように
何となくしっくり来る例えだな
まぁ日本に限らず世界でも、ここまで使われ始めたRubyが
そう簡単に死ぬこともないだろう
仮に知名度が下がったとしても、ハッカーは使い続けていくさ
>>600 1.9系使ってそう思うのならお前に安住の地はない
一方俺は次のLispに逃げた
一方おれは1.9に惹かれてRubyを始めた
そして実践に使える場所がないことに気づく
昔のRubyはgemだのrubyforgeだのなくて細々とRAAにユーザーのライブラリが 載ってるだけだったから、大抵のユーザーは自給自足してたけど、今は事情が違いすぎる。
1.9使いたいんだが、使いたいgemのmswin32バイナリが1.9対応してない。
>607 レン鯖にmod_ruby入れたら何が起こると思う?
レンタルなんて仮想しか使わんがそれでもダメ?
>>612 何使いたいんだ?
>>615 まじで?ほんのちょっといじってみたが、おれが使う分には動作したのだが。
HTMLとってきてxpathを使ってデータ取り出すだけだけど。nokogiriのどの機能がだめ?
ふむ 再現
Nokogiri は今重点開発中だから報告すれば('(゚∀゚∩ なおるよ!
どっちかというと Mechanize のラテン文字バグを早めに直して欲しいんだが
require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
agent.get('
http://www.google.com/language_tools?hl=en ')
Iconv::IllegalSequence: "\240(Simplified)';n"...
from /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.1/lib/www/mechanize/util.rb:29:in `iconv'
from /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.1/lib/www/mechanize/util.rb:29:in `to_native_charset'
ISO-8859-1 なページでラテン文字とか記号つき文字とかがあると絶対にそこでエラーになるという
「中でIconv使ってるから文字エンコードごとにメジャーなとこ10個くらい出入力のチェックしよう」 と考えてテスト作る人は正直なとこかなり稀だと思うっていうかめんどくさいというかむしろ テスト書くのが面倒だというただそれだけの理由でIconv使うの止めそうだ
>>617-618 まじかよ。1.8と1.9を両方入れてるから間違えたのだろうか。
これから1500万件データを入れなきゃいけないから明日試してみよう。
俺のは直る直らないと言う以前に1.9.1環境でビルドしたバイナリgemも用意しといてねって話しなんだけどね。 まぁ、それはそれとしてそんなバグもあるのか。 VC++2008 Express Editionでビルドできたら自前でビルドしちゃいたいところだけど、 これもこれで色々とうまくいかないんだよね。
Mechanize のは 「他人のコードを入れたらそこでだけバグって全体が止まった」 という教科書に典型例として載りそうな事例 メインのメンテナさんは頭抱えてると思う 教訓としては「欧米ファイルを変換する場合は NKF.guess の返り値の文字エンコード名を Iconv に渡さない」 Latin のファイルが NKF.guess で SJIS か CP932 と誤認されて(というか NKF はこの選択肢しかない)、Iconv の変換がコケる
マジでテキストの文字エンコーディングが プログラミング上の悩みの種になりつつあるな。 特にスクリプト言語だと、己のスクリプトファイル 自身のエンコーディングと、扱うテキストデータの エンコーディングの両方ともに注意が必要だ。 正規表現でマッチしなくなるとか、かなり致命的。
>>625 んなもの、webアプリの世界では遙か昔っからの問題だ
それをUNICODE文字セットで揉めに揉めるだらWindowsのよくわからんローカライズだら
EUC-JPからの切り替え遅延だら、ずーーーっと先延ばししてきただけの話じゃないか
Perlが内部エンコーディングをUTF-8にし、Encodeモジュールを標準添付にしたのは
何年前だと思ってるんだ
Matzか誰かがUTF-8を毛嫌いしてるだけで EUC信者のせいで導入できなかったのが敗因 さっさとUTF-8にするのは正解だと思う
そうだ、ISO-2022-JPもShift_JISもEUCも滅べばいい。 世界の文字コードがUTF-8になれば世界は平和になる
629 :
デフォルトの名無しさん :2009/03/01(日) 23:09:09
そう。過去資産の一部をすっぱり諦めるという英断を、開発者、ユーザを含めた全員でできれば 幸せな世界が待ってるんだ・・・・・。
2byteで済むのが3byte-6byteになるのが嫌で反対してるんですね わかります
リソースフォークに文字エンコードを書く風習が広まっていれば…
よし、じゃあ2chをUTF-8化しよう
なってなかったっけ
2ch書き込みはcp932
Unicode文字が使える設定の板があるってだけだな
Unicodeにもいろいろ違いがあるようだが、あまりよくわかってないダメなおれ 16だのなかったか?
Code Set Independent は正義
> Matzか誰かがUTF-8を毛嫌いしてるだけで > EUC信者のせいで導入できなかったのが敗因 > さっさとUTF-8にするのは正解だと思う 何を言っているんだお前は、RubyにUTF-8対応パッチが入ったのは1999年のことだぞ。 > そうだ、ISO-2022-JPもShift_JISもEUCも滅べばいい。 > 世界の文字コードがUTF-8になれば世界は平和になる 無知な人は幸せでいいですね。 > 2byteで済むのが3byte-6byteになるのが嫌で反対してるんですね > わかります 全くわかっていないので、とりあえずRFC3629くらいは読んでください。 > リソースフォークに文字エンコードを書く風習が広まっていれば… なので今更ながらmagic commentなんぞ作ったわけです。
> Unicodeにもいろいろ違いがあるようだが、あまりよくわかってないダメなおれ
> 16だのなかったか?
Unicodeは1つだからuniなのです。
通信時に用いる符号化にはUTF-8、UTF-16、UTF-32があります。
UTF-16は不幸な過去です・・・。
>>619 glibc iconv や libiconv の未定義文字があると例外投げる独自仕様は、
ほんとに有害ですよね。全てがCitrusになるといいと思います。
>>572 自動推測なんてものを当てにしていいのは小学生までです。
ていうか、ISO 8859シリーズの自動推測って不可能でしょ。
# 単語辞書とかでがんばるのかね?
XML宣言なりHTTPヘッダなりmagic commentなりを探してきてそれを使ってください。
そういうライブラリや、フレームワークはそのうち標準添付されるかもしれません。
>>636 文字集合としてのUnicodeと、そのエンコーディング(符号化方式)であるUTF、という認識から
始めればいいかと。
俺もその先は詳しく知らんけど。
CSIってのは、単独文字集合内での利用においてはそれなりの合理性があるんだろうが、
現実の開発・動作時に、文字セット間の「変換」「推測」が実質必要になるのが根元的な問題。
それぞれ勝手な文字集合を使う上、さらにそれぞれもろにエンコーディングの問題もある、はず。
物事を単純化したいなら、Unicode一択なんだろうか
> CSIってのは、単独文字集合内での利用においてはそれなりの合理性があるんだろうが、 > 現実の開発・動作時に、文字セット間の「変換」「推測」が実質必要になるのが根元的な問題。 まず、推測が必要になる時点で何かがおかしい。 そのデータを送ってきたやつはなんでそのデータのエンコーディングを送ってきてないんだ? 送ってきているのだとしたらなんでそれを無視するんだ? 日本語使いだとデータだけから言語がすぐに推測できるのだと思い込んでしまうのかもしれないが、 ヨーロッパの言語だと同じ文字を使っているから、数単語の場合は推測など不可能だぞ。 > それぞれ勝手な文字集合を使う上、さらにそれぞれもろにエンコーディングの問題もある、はず。 内部エンコーディングに処理系が対応しているものを使う限りは、 エンコーディングの問題なんか変換時に用いるエンコーディング名を正しく設定する以上はない。 未だに「表」の2バイト目は0x5Cだからエスケープと衝突して・・・なんてのは古代の遺物です。 Unicode系を内部エンコーディングとして使うとよいのは、 Unicodeが実用上もっとも大きな文字集合でかつ他のほとんどを包含してるから。 例えばJIS X 0208で足りるなら別にEUC-JPでもよい。
たとえばラウンドトリップ問題とかで、特定の内部コードに一元化という方法では 困る場合がある、というのがCSI派の主張のひとつだが。
>>642 ラウンドトリップで一緒になってしまうケースでは例えばNEC選定IBM拡張文字とかがあるが、
実際問題として、そんなもん戻らなくてよくね?
比較や検索の問題があるので、その場合元で対処する必要があるにはあるのだが、
これもまた「同じ文字」が別扱いされるバグがあったとも言うわけで。
それ以外は行き帰りで同じ変換表を用いれば問題はないはず。
>>641 > まず、推測が必要になる時点で何かがおかしい。
んだね。推測はいらない。ただ、文字集合間での変換は必要。
大体変換テーブル自体がUnicode経由だったりするし。
> 例えばJIS X 0208で足りるなら別にEUC-JPでもよい。
そういうことじゃん。JIS X 0208では足りないんだよ。それを代替できるのが、現実的にはUnicodeしかなく、
それなら独自文字集合に基づいたエンコーディングそのものが不要というか、問題の種にしかならない。
Unicodeで足りない、っていう問題は、新たに規格を作ったり拡張したりするのではなく、あくまでもUnicodeの
補完で対応するべき。JIS規格は、日本の文字規格の統一とUnicodeへの提案という意味のみで利用するべき
と思うんだがなあ
まあ文字コードの話はあんまり深入りしたくないってのも本音だな。
レガシーと現状と文化と将来の展望の主張がいり混じってほんとよくわからん。
> それなら独自文字集合に基づいたエンコーディングそのものが不要というか、問題の種にしかならない。 その「独自」の定義は「Unicodeでない」ですかね。 > Unicodeで足りない、っていう問題は、新たに規格を作ったり拡張したりするのではなく、 > あくまでもUnicodeの補完で対応するべき。 補完って、外字でも使うんですかね。 あと、今はUnicodeの拡張可能な領域って2面しかないんですよね。 > JIS規格は、日本の文字規格の統一とUnicodeへの提案という意味のみで利用するべき 今のJIS規格って、国語審議会のおもちゃでしょ。 文字の追加以外はできないようにして欲しいね。
よくCSI派から理由に挙げられるのはTRONコードとか文字鏡だっけか?
いつまでスレ違い続けますか
UNICODEについて最低限知っておくべきことを最小限の時間で知りたければ 「Joel on Software」の第4章を立ち読みすることをお奨めする。 俺はそれで UTF-8 がASCII圏の奴らのワガママだと知ったw
言語仕様的にはPHPよりRubyの方がずっといいように思う。 便利は便利だが、もうPHPに戻るつもりはない。
禿げ堂 漏れもそう思ってPHPからRubyに乗り換えた 今はPythonを使っている
652 :
デフォルトの名無しさん :2009/03/03(火) 01:58:52
> UTF-8 がASCII圏の奴らのワガママ たしかにそうかもしれんが、UTF-8は結構うまく考えられていると思うがな。
他国語化考えてない古いアプリでも UTF-8だと通ったりするからな うまく考えられてるよ そういう利点は素直に認めるべき
655 :
デフォルトの名無しさん :2009/03/03(火) 12:10:12
>>608 そんな俺は forth(というか concatenative language)に行く
1.9.1でしつもん irb で1.9対応が怪しいライブラリを実行して ArgumentError: invalid byte sequence in EUC-JP というようなエラーが出る場合、「悪い」のは irb の設定? それとも元のスクリプト? それともライブラリそのもの?
マジックコメント入れて ruby1.9 -E utf-8 hoge.rb とか適当なエンコーディング指定してもエラーが出るなら、ライブラリの書き方が悪い可能性が大 マジックコメント入れてないなら、スクリプトが一方的に悪い
>>652 >>654 うん、確かにASCIIとの互換性を保ちつつ従来の文字エンコードの
課題を克服した、とてもよい設計だと思う。UNICODEの普及に
大きく貢献してるね。
>>648 は「これで Joel に興味持ってくれたらいいな」とあえて偏見
気味に書いてみたw
あっそ
ということにしたいのですね
void キタ! Rubyには型は無いのに!
662 :
デフォルトの名無しさん :2009/03/04(水) 09:55:21
型が無いわけじゃないんだけどな。
一般的に型と呼ばれるもので「保証」されているあれこれがRubyには存在しない、が妥当な表現?
プログラム言語の理論をあまり知らない初心者だけど、 一般的に型って言った場合、どういったものを指すの? 変数(入れ物)の型?中身(オブジェクト?)の型? 静的型言語って言った場合は、前者でいいのかな。
>>664 そう
静的な型付けでは入れ物の型を先に決めるから、結果として入れることができる中身も限定される
Rubyの概念的には 「変数そのものもなんらかのクラスのオブジェクトのようなもんである言語があるらしい」 だと思ってくれればそう間違ってもいない bind_type(:str, String) とすると str は絶対に String のインスタンスしか入らない(整数を代入するとTypeError)みたいなそんな感じ
>>665 なるほど。中身そのものの型を変えられるのかどうかは知らないけど、とりあえず動的・静的って
言ってるときには、それはあんまり関係ないのかな。
あくまでも変数の型についての話、でいいのかな。
>>666 これは、TypeErrorを出しているのはその「なんらかのクラス」の機能ってことだろうか。
んでこういうこともできるから、一応Rubyに型がないわけではない、っていう意味?
Rubyしかやらないのなら型について気にする必要は一切ない 公式には型はない 型のある言語を学ぶようになってから型について学べば十分
中身の方に「お前は誰だ」って聞いてやればいいんだよね unless(String == obj) raise ArgumentError, "イテーヨシ" end みたいに。
>>669 実行時にしか評価できないのなら型の実際的意味がない
>>666 横から悪いが、何を言ってるのか分からんのだけど、どゆこと?
静的だと値にも変数にも型がある 動的だと値には型があり変数にはない とか
>>670 型を間違ってコーディングした事を、実行前に知りたい、という事?
だったら趣味ならともかく、まともなアプリにはtestは必要なんだから、型の間違いはすぐ判る。
動的に切り替えできる必要がある場合は、動的型付けの方がやり易い。
>>671 >>664 横レスだが、型には多相型(Haskellなど)、単一型(C、Java、Rubyなど)があると思ってくれ。
単一型をさらに、静的、動的に分類可。
静的--->変数と型との対応が固定。
int i=1とした後、i='a'とするとエラー
動的--->オブジェクトと型との対応が固定。 変数とオブジェクトとの対応は可変。
a=1とした後、a="abc"と出来る。
>>672 > 動的だと値には型があり変数にはないとか
Rubyはそのとおり。
>>673 いや、うん、そうだけど、あなたの言ってる事と
>>666 の内容は
およそ一致してると考えていいのかな?
俺にはそう取れなかったので
675 :
673 :2009/03/04(水) 13:56:28
>>674 「型についての知識が、静的型付け言語の範囲内」の人に始めてRubyを説明するときには、
>>666 の表現は厳密ではないが受け入れ易いと思う。
変数に型がないことを説明したいのに変数を型にはめることだけ例示されてもなー
という違和感が
>>666 にはあるな
文句言うなら自分で説明する でもスレ違いなんだけど
678 :
デフォルトの名無しさん :2009/03/04(水) 15:59:47
俺がよく使うたとえ話としては 「変数は入れ物じゃなくて、ラベルみたいなもん」 「代入じゃなくて名前付け。データとかオブジェクトに対して名前をつける」 「ラベルはどんなオブジェクトにも貼り付けられる。型はオブジェクトそのものの属性」 「ラベルには賞味期限と有効範囲がある」 「すべてのラベルが剥がされると、参照不能になってGC様の餌になる」 厳密じゃないが、おおむねこれで理解してもらえてる。
>>678 >「ラベルには賞味期限と有効範囲がある」
この辺をkwsk
エクステントとスコープのことだな。
Rubyに型がないという話なんて誰もしてないと思うんだが
683 :
デフォルトの名無しさん :2009/03/04(水) 18:17:44
>>673 型testのコードは自動で生成されるの?
でなかったら結局人間による抜けがでそうだけど...
便利さ・柔軟さのトレードオフとして危険性はある。 でも、プログラムは仕様通りの動作をすれば内部の変数にどんな型のオブジェクトがあるのかは関係ないし、 ライブライリーのpublicメソッドの引数なんかは型チェックをしてるよ。
Ruby的にはオブジェクトの種類はどうでもいい メソッドさえ動作すれば、引数のクラスは全く問わない 文字列の代わりに、Stringと同じメソッドが定義されてる別のクラスのオブジェクトを渡しても普通は動く ただ、ぶっちゃけこの考え方は柔軟だが動作の保証が非常に面倒なので、勢い raise ArgumentError unless param.is_a?(String) とか書く
bind_typeってどのバージョンから使える? 変数のエクステントって概念は知らなかった。 スコープの延長で、可視範囲から外れればだれからも見えなくなるから 忘れ去られると考えてた。これだと静的変数の説明がしにくいんだよな。
>>686 bind_type は説明用の擬似的なメソッドだろう
あれば楽しそうだが
respond_to?のお役立ち度の微妙っぷりは異常
>>683 自動testはHaskell以外は知らない。
言語によらず、型に合った(or意図的にエラーを起こさせる)テストデータを与える必要があるんでは?
>>680 そうかなーとは思ったのだが、「ラベル」の賞味期限とエクステントとがうまく結びつかない。
「オブジェクトには賞味期限があり、ラベルには有効範囲がある」なら納得なのだが。
オブジェクトの賞味期限は貼るラベルによって変わってくるからいいんじゃない? もうちょい気を利かせると「ラベルには賞味期限と有効範囲が書いてある」とかだろうか
Smalltalkには、 Objectにbecome: というのがあった気がする。
# v1.9.1 require 'prime' Prime.instance.each_cons(2).select {|x, y| y - x == 2 }.first(10) 最初の10組の双子素数を求めようと、このようにすると、当然のように selectから帰って来れません。ループ組んで10個見つけたら打ち切るみ たいにするしかないでしょうか。
仕方ないように見える 遅延評価があれば似たような書き方ができそうだが、 Rubyではサポートされていない
selectってなんだっけ
>>695 find_all
detect が find で
select が find_all で
collect が map だ
うへ、Enumeratorが無限なのか
変なの作ったなあ
>>693 ループ組んで10個見つけたら終了、という使い方を想定していると思われる
Ubuntu で Ruby1.9.1 をコンパイルしたんだけど irb で矢印キーが効きませぬ readline5 の devel は入ってたのになあ
クト類はわかりにくい select が find_all で collect が map で detect が find で inject が 特になしで reject! が delete_if
たぶん散々既出だと思うが、 select → grep collect → map にしなかったのはなぜなんだろ?(まあmapはあるのか)
detect と select は意図的に使わない というか detect は true か false を返すべきだと思う
>>700 お前んちのgrepはマッチしなかった行を空行で返したりでもするのか?
てかあのへんは既存の言語の関数をRubyのメソッドに持ってきただけだからどうにもならん
>>702 うん?
[0,1,2].select {|i| i == 1} #=> [1]
空行なんて返ってこなくていいよ
find_allって何から来てるの?
grep, map はPerlからなら素直に覚えやすいんだが。
おそらく
>>700 は矢印をオレオリジナルで使っててなおかつ自覚がない
全角矢印のム板汎用的な用法なんてあるのか? 意味は通じると思うが
Prime.instance.each_cons(2).enum_for(:select, &->(e){e[1]-e[0]==2}).first(n) first(3)まで見て出来た気になったがfirst(4)を見て全然意味を成していないことに気づく。 enum_for(*args)にはブロック渡せないぽいなぁ。
1のとき[2,3]が返る時点で気づこう。
>>705 断言しても言いが、経験上たぶん通じてない
>>693 module Enumerable
def select_by(block)
return to_enum(__method__, block) unless block_given?
each {|e| yield e if block.call(*e) }
end
end
require 'prime'
Prime.instance.each_cons(2).select_by(lambda {|x, y| y - x == 2}).first(10)
でどう?
>>709 >>Prime.instance.each_cons(2).select_by(lambda {|x,y| y - x == 2}).first(10)
=> [[3, 5], [5, 7], [11, 13], [17, 19], [29, 31], [41, 43], [59, 61], [71, 73], [101, 103], [107, 109]]
なるほどね。
Prime.instance.each_cons(2).select {|x, y| $. > 10 ? raise 'sine': y - x == 2 }
おおむねスレ違いなんだけどさ、github で「今の状態のライブラリをZIPでくれ」ということはできない?
せめてLinux板のgitスレで聞け
downloadsに用意されてなけりゃできないんじゃねーかと思う 素直に git インストールして git clone git://hoge.github.com/... するのが一番 カレントディレクトリに、たとえば rubygems のライブラリなら hoge/lib ができる
もっと英語の作文勉強しておけばよかった そんだけ
>>715 「書いてみたが、伝わるんだかどうだか不明」という場合は、既出だが自動翻訳サイトを通してみるといい
自動翻訳でなんとなく意味が通じる場合は、外人さんにもなんとなく意味が通じる可能性が高い
訳して何がなんだかわからない場合は、翻訳サイトがへぼい可能性ももちろんあるが、
そもそもの英文がかなり微妙な出来である可能性もかなり高い
日本人であることが相手に伝わってる場合、下手に凝る文章よりも
翻訳サイトで結果が出るようなプレーンな英文のほうが好ましく思われる傾向にある
スピーチとかサイトへの寄稿文とか書いてるという話なら失礼
まつもとさんになんてことを
どこの翻訳サイトはレベルが高いのがありますか?
niftyが結構マシ
やっぱ買うのがおすすめ。IT系の辞書とかつけて。 おれは英語のサイトだとすぐに回れ右していたが、 翻訳ソフトを買ってから割と読むようになったし、苦じゃなくなった。 翻訳されてるんだから当たり前だけどな。
読むのはいいんだけど、書くのがねえ…
It's easy to read, bat hard to write.
そうか?翻訳ソフト使えば書く方が簡単だと思うぞ。 書くときは自分で簡単な言い回しに変更できるけど、読む方は相手次第なんだから。 元の文章を工夫するんだよ。オフィシャルな文章じゃそうはいかんだろうけど。
書けないと読めないって良く言われるね
きっちり書こうとすると前置詞とかが難しいのよね
難しいというか、正しく伝わってるかどうか確信が持てない。 おかしい所にも気づかない。 という不安が常につきまとう。読む方にはそれがあんまりないので、 書く方がはっきり難しいと思う。
冠詞も良く分からん I am a God. は間違いらしい
そりゃそうだ・・・
go to the heaven なのに go to hell だったり
おかしいと思って調べたが「go to heaven」でいいはずだぞ。 theの使い方を覚えろよ。それにこのあたりの区別は日本語の助詞なみに難しいと思うぞ。 こんなとこ完璧にするより内容を考えろよw
日本語ペラペラでも文章の稚拙な外人っているじゃん そういう人の文章見てみんなどう感じる?
言語的な問題なら仕方ないと思うかなあ。 でも論理的な明快さに欠けてたら、母国語でもそうなんだろうなと思う。 話せればいい文章を書けるなら、 日本人は日本語ならみんないい文章を書けることになってしまう。 って、Rubyの話じゃないじゃん。
in the heaven in hell らしい
1.9のEncodingのエンコード名称って大文字限定?
>>735 まず自分でirbでも使って試してみるのがいいと思うよ!
Encoding.findオススメ
>>735 1.8でも値だけ作っておくとかそういう時は大文字で書いておくのがいいと思う
1.8.6は今存在してるんだからそれ使ってればいいじゃない。
PHP5が出た時と全く同じ騒ぎに見える。 PHPの場合は、本格移行の流れになったのは4のサポート停止が"されてから"だから大体3〜4年かかってる。 RubyはPHPほど実運用されてないので移行はもう少し早かろうが、逆にそのまま放置される恐れもあるよな。 Perl5.0や5.6も結構しぶとく残ってたし。
>>738 > 1.8.6と心中せざるをえない
具体的にはどんな人?
移行なんかしなくていいじゃん。
>>741 に回答が無い時点でたいしたもんじゃないな
>>743 まあ1.8.7にアップグレードできないのも1.8.7向けに改修できないのもほとんどは契約の問題だと思う
個々のプロジェクトの契約の問題の責任をRubyに負わせるとかお前何様って感じだ
このテストスクリプト間違ってる…
1.8.6とかで放置でも問題ないケースも多い スクリプトの寿命よりサーバーの寿命の方が先に来る
> スクリプトの寿命よりサーバーの寿命の方が先に来る だからなんだというのだろうか?
1.8.7用に書いたスクリプトが1.8.6で動かない事はあるかも知れないけど 1.8.6で動くスクリプトが1.8.7で動かない事ってあるの?
そりゃあるだろうが、割合的にはかなり稀
>>745 悪いね、正しい結果を出すのが明らかな代表的なのしか書いてないんだ
RailsのMultibyte拡張でStringにcharsというメソッドを定義してたのが 1.8.7のcharsと衝突したってのは結構知られているはず。 これは、Railsがmb_charsという名前に変更した。
あれは組み込みクラス拡張するほうが一方的に悪いから、仕方ないな 利便性と引き換えの非互換リスク
753 :
デフォルトの名無しさん :2009/03/07(土) 19:21:12
>>748 rubyは1.8.6用に書いたスクリプトが1.8.6で動かなくなったことだってあるwww
RDoc フォーマッタで attr 系列が別待遇なものが多いのはなぜ? あれ他のと混ぜて一律にメソッドとして説明すればいいじゃんね
>>755 俺もそう思ってるんだけど、
・ プロパティ厨
・ attr で書いたものはそれ自体に意図があるよ説
が結構根強い
attr_accessor :hoge
と
def hoge
@hoge
end
def hoge=(v)
@hoge=v
end
には違いがないと思うんだけどねえ
757 :
デフォルトの名無しさん :2009/03/07(土) 21:01:19
初めまして。 webkeepersにgemを入れました。その後、rubyが1.8.5だったので、1.8.7にupdate。 install時特になにも環境変数?を指定などしていません。 gem -v => 1.3.1 ruby -v => 1.8.7 とどちらも正常なようですが、require 'rubygems'にすると、"no suck file to load"と怒られます。 whereis gem => /usr/bin/gem だったので、export GEME_HOME = /usr/bin/gem と余計な事までしてしまいました。どうしたもんでしょう?お願いします。
758 :
デフォルトの名無しさん :2009/03/07(土) 21:02:46
such がsuck になっていて申し訳ございません。。。
初心者スレかと思った
>>757 ・ レンタルサーバのユーザー領域に自前でRubyをインストールしたが、gemが動かね
ということでいいか
760 :
デフォルトの名無しさん :2009/03/07(土) 21:32:35
ありがとうございました。解決はしませんでしたが、素人が余計なことをするなと言うことは理解出来ました。 けどvpsなので、rootで入れて、whereis ruby => /usr/bin/ruby /usr/lib/ruby /usr/local/bin/ruby /usr/local/lib/ruby /usr/share/man/man1/ruby.1.gz まぁ素人が、vps使うなんて危ないというのも解るけど。。。 ありがとうございました。初期状態に戻します。
素人だから余計なことをするのか それとも余計なことをしてしまうから素人なのか そもそも余計なことをしてしまったときに自分で修復出来ないから素人なのか
自分で素人と思ってるのはまだいい
>>757 インストールしたものがどこに入っていったかくらいわからんものか?
普通にソースビルドで何も指定せずに入れたらrubyは/usr/localに入り、
gemもそのrubyの設定に従って/usr/localに入るはず。
あなたのgem -vで出てきたのは、最初から入っているruby(/usr/bin)に対して
インストールされているもの。
rubygemも別途いれるべし。
gem -v => 1.3.1 ruby -v => 1.8.5 のときはちゃんと動いていたのか?
765 :
デフォルトの名無しさん :2009/03/07(土) 22:59:11
764さん、それが、1.8.5の時は、ramaze,m4dbiが、動いていたんですね。 ありがとうございました。場を少し荒らしたみたいで、申し訳なかったです。 退場します。
CentOSだろ? システム提供のパッケージを更新するんだから、rpmでインストールするか、 システム提供の物を抜いてから入れるべきだ。 rpmforgeのレポジトリを指定してyumでアップデートするのが楽だと思うよ。
うわーRubyきもい うわーまじきもい
768 :
デフォルトの名無しさん :2009/03/07(土) 23:19:20
766さんありがとうございます。がんばってみます。レスをくれた人、勉強になりました。
gemコマンドは使っているrubyと結びついてインストールされるから、 自力でrubyを入れたのならgemコマンドもそれに併せていれること。 # 1.9系列なら一緒にインストールされるけどね。
なんでそんなアホな仕様にしたの
別にアホでもない gemが自分を実行可能なバイナリを勝手に探して自分に勝手に登録するだけだ Rubyは何も関与しない
下位互換性ことごとく無いよね。松本教信者しか使えないな。
774 :
デフォルトの名無しさん :2009/03/08(日) 03:40:53
>>754 1.8.6のpatchで仕様変更をして、それで互換性がなくなったことがあるんだが
>>771 Rubyの位置が変わったくらいでgemまで再インストールしなくてもいいのに
「自分を実行可能なバイナリを勝手に探して自分に勝手に登録している」
その場所だけ1行かそこら書き換えるだけで済まないの?
>>775 確信があるのなら自分で試してみたら。
Rubyは成熟してないから自分で手を動かすしかないこともあるよ。
つまりrubyは出来が悪いと。
>>777 というか出来上がっていないという話では?
>>776 そういう意味じゃないよ
なんでそういうつくりにしなかったのっていう意味だよ
ドキュメンテーションが半端なライブラリ等はプロジェクトに 持ち込むべきじゃないし、ドキュメンテーション活動が活発なところ からチョイスした方が楽が出来る
ドキュメンテーションが半端な言語についてはどうなんだろう
782 :
デフォルトの名無しさん :2009/03/08(日) 22:24:17
1.8 で動くアプリを走らせながら、1.9でも色々テスト開発したいので、1.8と1.9を共存させようと思っているんだけど、やめた方がいいですかねぇ?なんか色々面倒なことになりそうな予感が。 バーチャルマシンでOS2つ載せてそれぞれで1.8と1.9使うってのも考えてるんですが・・ 同じOSに1.8と1.9共存させるってのについてはどんな印象でしょうか?ウェブ上でそいうことしてる人ちらほらとは見かけはするんですが・・
>>782 きちんとやれば特に問題はない
gem のライブラリを大量にインストールしてる場合は
ほぼ同じものを 1.8 用と 1.9 用にインストールしなければならないので
心情的にもディスクスペース的にも無駄なのが若干寂しいが
>色々テスト開発したいので 本気でそう思ってるなら 1.9 しか入っていない環境を一つ作るべき Virtual でも Real でも何でもいいからね 出来たアプリを別のところに持っていって動かないケースが出てきたら そっちに 1.8 が入っているのかどうかとか悩みたくないだろ
>>784 1.8用と1.9用で外部APIの要求バージョンが違うとか極悪なことしてない限りそういうことはまずない
786 :
デフォルトの名無しさん :2009/03/08(日) 23:20:36
gemは?
>>775 > その場所だけ1行かそこら書き換えるだけで済まないの?
先頭一行書き換えるだけ。
Rubyとは無関係な話なので、詳しくはshbangでググれ。
Rubyは最近調子に乗ってって 勘違いしていると思う
どの言語にも取り巻きと他言語からの工作員がいるよな…
gemって馬鹿な子なんだってことは分かりました 本当にありがとうございました
>>783 1.8 用と 1.9 用ってインストールされるファイルを分けることはできる?
gem1.9 から起動されたら hoge-0.2.3-ruby19 をインストールするとか
rubyは関係ないとかrubyのせいじゃないって言ってる香具師いるけど perl用のgemとかphp用のgemとかpython用のgemとかあるわけ?
ばかですねわかります
おれEclipseを二つ入れて使い分けてるが 開発オンリーでWindowsだけど
はぁ?
なにが「はぁ?」なのかわからんのだが はっきり書いてくれよ
統合開発環境とか使いこなせないんだろ。 そういうのは争いのもとだから相手にする必要なし。
万人には使えないとか。単に使いにくいだけだろ。 glibc並の酷いバージョン問題発生か。 進歩無いねえ。下位互換性ぐらい確保して当然だろ。 0.8とか0.9でリリースし直して徹底的に枯れてから1.xの安定板をリリースしろよ。
あん、何が何のdownward product だって?
803 :
782 :2009/03/11(水) 17:32:25
むーやっぱバーチャルマシン立てようかな・・ レスありがとうございましたm(_ _)m
円周率を計算するプログラムを見かけたのでRuby用にしてみた 元はhaskellで、それを十進BASIC用にしたもの 多倍長整数で計算するらしい 何をどう計算してるのか内容についてはさっぱりわからんが 1万桁計算する時間を計ってみることに require 'benchmark' limit = 10000 Benchmark.measure do q,r,t,i = 1,180,60,2 u,y = 3*(3*i+1)*(3*i+2), Integer((q*(27*i-12)+5*r)/5/t) #print y (limit-1).times do q,r,t,i = 10*q*i*(2*i-1), 10*u*(q*(5*i-2)+r-y*t), t*u, i+1 u,y = 3*(3*i+1)*(3*i+2), Integer((q*(27*i-11)+5*r)/5/t) # print y end end.display
Windowsにて実行 Ruby 1.8.7-p72 Mingw32 17.20s Ruby 1.8.7-p72 mswin32 25.02s をぉ、かなり違いますな てっきりVCの方がGCCより速いのかなと思ってたけど 最適化の封印とかされてるのだろうか Ruby 1.9.1-p0 Mingw32 19.89s Ruby 1.9.1-p0 mswin32 28.90s がびょーん、1.8より遅くなってる… Mingw32版は自前でビルド(configure と make しただけ) mswin32版は(う)さんの
>>805 お察しの通り、mswin32版は最適化封印されてるぞ。
最近のVCを使えば大丈夫、らしい。
それでもGCCの方が速いことが多いらしいけど。
封印てw バカじゃないのかしらw オープンソースなんだからサポートしてるコンパイラに最適化するのは当然。 そもそもVCてw せめてiccと比較しろよなw
>>807 そのへんの「事情」はMLアーカイブ読んでこい。
へたなコンパイラにへたな最適化させるとGCで必要な情報を「最適化」しちゃう?
「w」の数が多いやつはバカが多い法則は健在だな
AquesTalk/Ruby クソワロタw
>>806 やはりそうでしたか
バイナリの互換性でいまだVC 6.0でコンパイルされているのは知ってました
本体や拡張ライブラリからリンクされてるランタイムライブラリが一致してないと駄目とかなんとか
あと、なにか不味いことがあって最大限の最適化もされてないとか以前どこかで見たような記憶があったので
pythonはVC8に移行したよね
VS2008(VC9)だな
1.9.1の時点でVC9に移行しちゃっても良かったんじゃないかと思うんだがな VC6とかインストールするのもめんどくせえ
勝手にすればいいのでは
確かにな。mswin32版も、あくまでも有志サイトでの配布って形を崩してないしw
あちこちでmswin32向けにバイナリ配布されている拡張ライブラリは VC9でコンパイルしなおした場合、使えなくなる可能性が高いということですか? gcc版のrubyを使う場合は、拡張ライブラリは基本的に 自前でコンパイルしてインストールする必要があるとかそういうことですか? mswin32版しか使ったことないから考えたことがないな。
1.8の安定版スナップショット(2009/03/13 04:15:48)のwin32/resource.rbがバグっぽい。 make時に作るrcファイルがwindresでsyntax error。 rcファイルのFILEVERSIONとPRODUCTVERSIONの末尾が「,」になってるわ。0でも足しとけ。
>>818 mingwとVC6でコンパイルしたruby本体と拡張ライブラリは互換性があるんで互いに使える
それ以外のcygwin、VC7/8/9、bccなんかでコンパイルしたruby本体では
同じコンパイラでコンパイルした拡張ライブラリしか使えないし逆もまたしかり
過疎w
ruby厨ってrubyしか使ったことないかあるいは使えないんでひたすら布教するんだろうな 複数の言語を使いこなせないとは哀れな
教祖が多数の言語に精通した言語ヲタなのにねぇ…
>>823 彼らはRuby使えてないよ
実際に聞いてみるといい
ことRubyユーザーで、Rubyしか使えない層ってのはごく少数だと思うが そもそも、複数使えないと(相対的に)良い悪いなんて判断できんだろ……
なんか想像力の豊かな人がいるみたいだなw
教祖の教えだけに従うから宗教なんだろ。 教祖がこうだと言えば、反論せず賞賛するだけ。反論したら異教徒として火あぶりにされる。 plやpyの採用例に比べると、rbの採用例って驚くほど少ないから、実用面では厳しいよね。 学術研究ユーザが多いのかもしれない。
MLとか読んでる?たまにmatzもぼこられてたりするぞ ただ最終決定権(の多く?)がmatzにあるのをみんなが認めてるってだけじゃないのか
イメージで言ってるだけだろ。不満なら完全民主制の言語でも作ればいい。
>>829 matzが「コミット権取り上げますよ?」て言われたこともあったな
833 :
831 :2009/03/16(月) 17:57:01
ワロタ
その後の言い訳がまた笑えるw
ていうか、開発MLみたいなとこでも草生やしたりすんだなw
基本的にはしない 無くても議論はできるからだ が、草生やすのが最適だと思われれば躊躇うことはない
えーと、いわゆる優しい独裁者モデル? なんか違う肝。
1.9.1のtrunkは6日から進んでないけど、なんか大きな変更をやってるの?
コンビニ増えすぎだよな
>>840 trunkはとっくに1.9.2devだよ。今見たら昨日も更新してた。
それともbranches/ruby_1_9_1のこと?
>>842 そなの?
ホームページの最新版スナップショットとやらが(2009/03/06 04:13:00)から更新されてないので気になったんだけど。
1.8.8devの安定版スナップショット(2009/03/17 04:19:26)は毎日更新されているから。
>>843 ああ、そっち見てたのね。
こっちはSubversion見てたもんで。
>>843 についてIRCの方で報告があった
今は直ってます
配列をN個に(ほぼ)等分する必要があって、 グネグネしたコードを書いた。 で、気に入らないのでちょっと書き直してみた。 Ruby神、リファクタリングよろ。 メソッド名は堪忍してくんろ。 def equally(a, n) sizes = [].fill(a.size / n, 0, n) (0...(a.size % n)).each {|i| sizes[i] += 1} #p sizes sizes.inject([]) {|r, size| sub = a.slice!(0, size) break r if !sub || sub.size < 1 r << sub } end (1..20).each {|i| a = (1..i).to_a p a p equally(a, 3) puts }
Enumerable#each_slice では用が足らんのか 面倒じゃのう
リファクタリングとかいうレベルじゃないくらい別モンだけど def equally(a,n) result = [] div,mod = a.size.divmod(n) until a.empty? result << ( 0 < mod ? a.shift(div+1) : a.shift(div) ) mod -= 1 end result end
def equally(a, n) sizes = [].fill(a.size / n, 0, n) (0...(a.size % n)).each {|i| sizes[i] += 1} sizes.map {|size| a.shift(size) } end
aは破壊しちゃっていいのか? # 非破壊バージョン def equally(a, n) result = [] div,mod = a.size.divmod(n) (Array.new(mod, div+1) + Array.new(n-mod, div)).inject(0) do |i, m| result << a[i, m] i + m end result end
853 :
848 :2009/03/19(木) 17:02:41
>>849 Enumerable#each_sliceは1.9からは組み込みですか。使ったことなかったです。
>>850 なるほど。modを減らしていくほうが、自分の元の思考ともあってます。
>>851 なるほど。breakさせないほうがメソッドの動作としては自然かも。その発想頂きます。
>>852 非破壊のほうが使いやすいですよね。その発想いただきます。
shiftに引数渡せるの知らなかったんで…、
などといいつつ手元の1.8.6では使えないのでやっぱりslice!
def equally(a, n)
tmp = a.dup
(0...n).inject([]) {|r, i|
r << tmp.slice!(0, a.size / n + (i < a.size % n ? 1 : 0))
}
end
くっ…。見にくくなっただけのような。
さらにメソッド名がいかんともしがたい。
はうっ。mapでよかったんだった。 def equally(a, n) tmp = a.dup (0...n).map {|i| tmp.slice!(0, a.size / n + (i < a.size % n ? 1 : 0)) } end
Rubyでothelloをつくりたいのですが 何から始めればよいでしょう
>>855 とりあえずCUI版tic-tac-toe作れ。
出来たらそれのGUI版を作って基礎固め。
Reversiはその後だな。
間にGUI版を作るのはなぜ?
859 :
デフォルトの名無しさん :2009/03/20(金) 22:28:27
>>855 すでに誰か作ってないかあるものを探すところから
勉強のために作りたいんだろ ○×ゲームを先に完成させてから考えろというのは妥当だ
マジレスするとオセロはかなり難しい 段階踏んで作るのが間違いない 最初からオセロだけ目指したら絶対挫折する
話すこと終わっちゃった感もあるな
オセロって作った人のレベル以上に強くならないって言うけどどうなんだろ
「Rubyで」という部分を除けば完全にスレ違い
まず、質問した人はオセロ盤を作りたいのか、思考モジュールを作りたいのか はっきりしたほうがいいな。後者はRuby向きじゃないと思うが。
>>865 「Rubyに関する部分」を除いたらあらゆるものがスレ違いなんだが
そしてMatzに関する部分だけが残った。
初心者であればあるほど、言語固有の事情と言語非依存な部分の切り分けは出来ないからのう。
ありがとうございます 移動します
>>867 Ruby自体がいろんな他の言語のいいとこどりだから
すべての話題がスレ違い扱いされても文句言えない
実はRubyは初めてでも、 アルゴリズムはめちゃくちゃすごい奴だったりしてな
>>872 大丈夫
すごい人は放置されても自力で出てくる
誘導しても結局ゴミみたいな雑談してるだけという
オセロの対戦アルゴリズムは大変だろうな。
876 :
デフォルトの名無しさん :2009/03/21(土) 11:36:12
古典的なα-β法とかでシンプルに作ってやれば、 とりあえずそれなりに動く思考ルーチンは簡単に作れるyo! 強くするのはその後の課題になるけどな。
全部で60手のうち 序盤20手くらいは定石がある 終盤40手くらいからは読み切れるんだろうけど 中盤20手〜40手をどうするかが課題 あとはすれち
オセロは必勝法がもう分かっているから、 いかに人間に遊ばせてあげるか、だよ。
>>878 は嘘。
ただ、完全先読みで読み切られちゃうんで、そうとうの高段者でも
劣勢になったらひっくりかえせなくなっている。
「終盤は」を付け忘れた。
読み切られて負けるの分かってる状態よりも 引き分け前後の微妙なところで終盤にもつれる方が ゲームとして面白いのは確かだよね 苦行をしたい訳じゃなくて遊びたいんだから
相手がコンピュータの場合と人間の場合で戦略は違う 自分がまけそうなときに分かりやすい最善手を打ち続けるより 悪手でも相手が間違いやすいややこしい手を打った方が良いって 聞いたことはある
そういう変則手って、相手が人間の時こそ有効なんじゃないの?
そうだね
相手が人間の時の話なんだが
うほ
囲碁くらい複雑になると顕著だね 悪手とは言えない手でわざと難しく難しく打つやり方
オセロに必勝法があるなら、 先手か後手か決まった時点で勝負あったになるよな すべての手を洗い出しても必勝法はないってことか? やってみてなかったのか、やってないのかどっちだろう 将棋はめちゃくちゃ複雑だというが、 オセロでもすべての手を洗い出すことはできないのだろうか
>>889 ゼロサム完全情報の二者間のゲームには必勝法が存在する。
オセロは6x6なら後手必勝というのはすでに解析済み。
8x8は後手必勝ぽいけどまだ解析中。
891 :
890 :2009/03/21(土) 22:35:07
> ゼロサム完全情報の二者間のゲームには必勝法が存在する。 あと、手数が無限にならないことも条件として必要だった。
「確定」じゃないなら必勝法はないけどな
まあもし必勝法が見つかったら10×10くらいにすればいいのかな
>>890 オセロには引き分けもあるが、それでも必勝法は必ずあるの?
>>890-891 ふおおお、なるほど。6x6までは後手が必ず勝つのか。
完全情報というのは「手の内をさらす」ということでいいのか?
たとえばじゃんけんは当然必勝法はないだろうが、
駒を隠す軍人将棋にも必勝法があるとは限らないってこと?
5x5ならおれのPC(クアッド、メモリ8G)とRuby1.9でも
現実的な日にちで計算可能だろうか。
>>896 高校生かな?
大学行くと1年生の教養の情報系の授業で習うぞ
いい年こいていちいちひねたレス付けないと気が済まないのかね
>>897 に他意悪意を感じ取るのは曲芸または深刻な学歴コンプレックス
>>897 ゲーム理論習わないところもあるよ
実際、俺も情報系の学部で4年目だけど習ってない
>>900 それはなんていうか大学に抗議したほうがよくないか
俺らは選択だった
ゲーム理論という名前でテレビゲームの話だと思った人がいて半分くらいは寝てた
だいたい、大学生の誰もが「教養の情報系の授業」を取ってるって前提がおかしいw 一般教養の講義を選択できない大学があるんだろうか どっちかというと、講義より「囚人のジレンマ」の話なんかから入る人が多いだろうし
経済学にも応用されてるよね 株の必勝法とか
必勝法というか負ける可能性を低くする定番な
>>903 馬鹿が解説するとますます分からなくなるという罠
てか、ナニを目的とした記事なのかよーわからん もうちょい無難なタイトルにしたほうが吉
なんか内容がないな 高階関数って言いたかっただけなのか?
高階関数とか無名関数とか、言い換えて余計わからなくする典型的な失敗解説の例?
分かってないひとが無理に解説しようとするからw
bladeはメンテ中? MLがwebで見れなかったんだけども
原稿書く様な人は詳しくなかったりするのが問題。技術ネタは特に。 チェスでもスパコンで演算するレベルだしなあ。
Deep Blue はスパコンというより専用機
スパコンと専用機は互いに排他的な概念なの?
排他的なら「スパコンではなく専用機」という表現になると思うが
専用スパコン機でいいじゃない。駄目か。
IBMのサイトだと 「In May 1997, IBM's Deep Blue Supercomputer played a fascinating match with the reigning World Chess Champion」 ってなってるから、ディープブルーはスパコンでいいんじゃないかな チェスしか出来ない用途の狭いスパコンだけど。
>>913 DeepBlueと同じ開発チームが民生用のパソコン用にソフト開発して
例のカスパロフ氏と5分の勝負をしたって何年か前にニュースになってたと思う。
DeepBlueに似たような監事の名前だったはずだけど、思いだせない。
>>919 動的に出力してるページはHTTP headerでちゃんと吐いてるから、HTMLページだけかな
それならサーバよりmetaタグを各ページにきちんと埋め込む方がいいかもね
というかやるならきちんとXHTMLにしてもいいよね
bladeってソースはオープンになっていのかな?
XHTML1.1だとmetaタグに制約があったりするけど それ以前の問題だなぁ…
922 :
デフォルトの名無しさん :2009/03/23(月) 20:36:34
>>919 どう間違えたらcharset=iso-8859-1何て返すんだろうなwww
Apacheの初期設定を適当に使うと何でもかんでも ISO-8859-1で返すようにするのは結構簡単にできてしまった気がする。
mingwで1.9をコンパイルしてるんだけど、pthreadって使った方がいいの?
>>923 というかiso-8859-1で返すのが正式
それ以外はオプション
デフォルトでUTF-8で返してくれれば楽なんだけどな 3あたりで変わらないかな
AddDefaultCharset は Apache 2.0.53 から httpd.conf 初期ファイル群には書かれなくなった ユーザーやアプリケーションごとに設定すべきということなのだろう
そもそも、charsetなんて文書ごとに設定するのが本筋なので、 サーバのデフォルトなんてどうでもいいってことではないのかな XHTMLならXML宣言だろうし、HTMLならmeta要素?
>>929 違う
サーバーは送出するファイルのtypeとcharsetをヘッダで送信「するべき」
現行これが行われてないのは単なるサーバの怠慢
と、処理コスト無限大なことによる
本当はファイルの文字エンコードをサーバはあらかじめ知っておかなければならない
画像ファイルの type が別個であるのと同様に、テキストファイルの charset も実際の値を送信するべき
これの努力を怠ってはならない
ちなみに、 meta 要素の http-equiv は 「HTTP等価値(equivalent)」の略だ
Web ブラウザはこれを HTTP ヘッダの結果と同様に扱わなければならないという意味
だから、HTTP ヘッダが基本
meta の charset なんてのは、あれは 仕 方 な く 読んでるんだよ
>>930 > HTTP ヘッダが基本
その仕様が、Apache等の実装者を含めあんまり意味がわからないって問題では?
良ければさらっとでも解説希望。
画像のMIME typeなんかは拡張子で判別して現状それほど問題ないが、htmlやらxmlやらで
それは(今の文化的に?)無理じゃん
サーバ側の設定でやるとしたら、charsetによってURLをわけるとかディレクトリをわけるとか
拡張子をわけるとか、とにかく意味不明なサーバの挙動・仕様の要求になるわけで。
もしくは、サーバが文書の中を読んでヘッダ吐くとかのさらに意味不明な実装が出たりw
で、仕様上はHTMLヘッダの指定が優先らしいからブラウザとかもそうなってるけど、
それでは不便すぎるので、現実的にHTTPヘッダは省略しましょうってなってるんじゃないの?
文字符号化スキーム charset名 ISO-2022-JP(RFC1468) ISO-2022-JP 日本語EUC(圧縮形式) EUC-JP シフトJIS Shift_JIS なんでUTF-8載せないんだろ
非日本人は、HTTPの何も指定しない時はiso-8859-1でおkで困ってないというのが大きい。 個人的にはメールとの相互互換から、ISO-2022-JPに統一すべきだと思う。
最近サブジェクトとかヘッダが =?ut-8?B? で来るメールが増えた
gmailがそうだからね 俺も使い始めのとき、文字化けすんぞゴラァって言われてあわてて直した
>>924 mingwではpthread関係ないというか何も指定しなくていい。
つかプラットフォームによらず1.9ではpthread関連の指定は一切不要。
>>938 今時、utf-8 も処理できないようなメールクライアント使ってる方が悪い
と開き直ればOK
うちは7ビットしか通らないよwww
>>937 utf-8 ならともかく ut-8 はないな。
ガイジンさんの文字エンコーディングわかってなさっぷりはガチ 慣れない英語で何度もバグトラッキング送るの疲れた もうやだ っていうかほぼ確実に、英語で書いた俺の意図自体は伝わってねえ
>>944 バグ報告は症状1つに対し1エントリずつに小さく分けて送れ
あんまり総合的な題目で送るとたいてい独自解釈されてたいていエンバグする
2〜3行のカタマリの修正につき1エントリな感じでよろしこ
一気に3つくらい投稿が増えて正直なんか邪魔っけというか申し訳ない気もするが、
本当に不具合なのなら全く気にする必要はないし、堂々と送ればよい
バグ報告が2/2のライブラリよりも13/200のライブラリのほうが安心感があるものだ
>>944 次はロシア語のメールをUTF-8で送ってやるんだ
>>942 そんな化石みたいなサーバ?は今すぐ捨てて下さい
>>945 バグ報告の異常に少ないライブラリって使うのちょっと躊躇するよね
そういうのに限って2006年にバージョン0.2出したっきり
で、使ってみて、「あーやっぱダメだ」みたいな
RMagickでpathに2byte文字含んでると処理がうまく行かないのを何とかしてほしい。
むしろ2バイト文字のほうが世界のマイナーだし。
950 :
デフォルトの名無しさん :2009/03/26(木) 01:50:15
でも中国人多いじゃん。
マルチバイト文字に関わってる中国人は人口ほど多くはないと思う
中国人のコンピュータ利用人口が少ないってことか? インド系文字は?
まだ支那ってインターネット十分に繋がってないと思うぞ。 繋がってたら、とっくにIPアドレス売り切れてる。
ipv6の普及には支那の一般家庭のネット開通で十分ということか
MLアーカイブの番号順リストって何でいきなり無くなったの? ML入ってなくても毎日追っかけられて重宝してたのに。。。 なんか文字化けもしてるしやる気ない感じ
やる気ない
リニューアルしようとして失敗してとりあえず稼動だけしておくというのがとてもRubyらしくてよい どのへんが問題なのかぬ
そういう管理者を管理する管理者
まだルビーも公開β版みたいな物だしな。 枯れて来てから使うのがいい。
枯れる前に廃れる罠
というか、MLのnagaokaut.ac.jpって何なんだ。 ここの職員の人が管理してるの?
>>962 今から廃れさせることができたら大したもんだ
MLはメーラーで読むものだろ。archiverが壊れたぐらいで文句をいうのはお門違い
と、古参の方が申しております
mboxでもMailDirでもいいから、公式でMLのログを配布してくれるんなら、
>>965 にも同意できるが、現状あそこだけだしねえ
>>963 原信一郎先生が個人的に提供してるものだが?
グーグル先生でログを検索できないMLは役に立たないと思われ
個人情報とかうるさい昨今、MLの内容もだんだん公開に気を使うようになっていくぅーんくぅーん おやどこかに子犬が
>>968 せっかくRuby使ってるんだから
Rubyでgetして集めるスクリプト書いて公開してくださいおねがいします
そんなものを作れるなら、掲示板なんかでくだを巻いていない
>>972 昔からウェブページ作ってる人だと多いよ。
俺のウェブページもUTF-8とISO-2022-JPとEUCといろいろになってる。
まとまった暇があるときにUTF-8に統一したほうがいいかなぁとか、
考えてはいるんだけど。
>>975 そこのruby-devが悲惨なことになってるな
EmacsのUTF-8の扱いが酷いからメインに移行できないという話はまだちらほら
980
>>973 何をつくるんだw
MLのアーカイブをWEB(というかblade.nagaokaut.ac.jp)から収拾するツール?
それが本当に最善なのか?
>>981 MLのアーカイブをWEBで見られるようにするCGIじゃね?
何げにbladeは他のMLのアーカイブに比べて見やすいし使いやすいしなー なので余計に今の状況が不便なわけで…
bladeの後、誰も作ろうとしない理由もわからんではない。 実際良くできてると思う。 でもソース見れないんだよなあw
結構運用も大変だしな。 グーグルクローラとか来たとき大変だし、個別のメール削除依頼とかも手間。 gmail辺りで購読して、振り分けたほうが便利だと思うよ。
bladeはRuby関連MLのアーカイブを行っているサイトで、 このページもbladeなしではありえない(リンクが全部死ぬし、 MLを追いかけるのにもbladeのスレッド表示を利用してます) というくらい、非常にお世話になっています。ありがとうございます。
乙ぱい
bladeガンガレ
991
992
993 :
デフォルトの名無しさん :2009/03/28(土) 13:43:40
993
994
bladeガンバレ超ガンバレ
blade応援うめ
997 :
デフォルトの名無しさん :2009/03/28(土) 21:28:35
埋める手伝い(^^;;
998 :
デフォルトの名無しさん :2009/03/28(土) 21:29:35
998
うめ
1000 :
デフォルトの名無しさん :2009/03/28(土) 21:41:34
1000だったらRubyは廃れる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。