【RoR】Rubyについて Part 41【CPAN vs RubyGems】
>>1 _,...=.-、
,.-:::::::::::::::;::'::::ヽ、
r':::::::::::::::::_;:-‐'ヾ、::ヾ
.イ:::::::::::::;r'´ ヽ::!
i'::::::::::::::::i .r,ニ_ヾ
. i:::::::::::::::::::l_,. -、 :'ィナ' l
. ヽ::::::::::::;ノ rィテ-' .l
Tー、! ´ ,. ; 、 l_
.>(ヽ .‐ ´ ,ィ l::`:::::::::‐--
,r::::::::::ヽヽr ー_- 、-‐ニ.' ./::::::::::::::::::::::
./:::::::::::::;ri'ヲ--、 `く _, '!:::::::::::::::::::::::
i::::::::::::::::! ,r ‐、 ▽ .;l::::::::::::::::::::::::
l::::::::::::::::l 7´ト、. __〃!:::::::::::::::::::::::
.〉:::::::::::::;! /:::::i `  ̄ l::::::::::::::::::::::::
マツモト=ユキヒロ [Matz Ruby]
(〜
>>1 乙 日本
>>1 乙
V V
(´・ω・`) うさちゃんピース
スレタイ長すぎないか?
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
副題いらねー。 RoRの話されても困るし、CPANだの煽りしてどうすんだよ。 アンチRubyの仕業としか思えない。
少なくとも前スレのラスト50を見る限りは twitter と モルモン を入れても良かったと思う
. / / / l: / l ∨i 、 | l│ / イ ,イ. l ト、ヽ / | :l :| | l | | l_メ、」_,;./l L l V ∧ / :|/ ハ. ト、 | ト. |.____ ヽ l´ヽ{ _⊥イ イ / / / l/⌒ヽ | | ヽ | 、i┘::::i \ | r┬┬‐┬ァ V ,∧. ,' ´ レ ヽ! ゝ- ' \l i,.┘:::::iノ / ,/〉│ :| { . 7/l/l/ 、 `'ー‐ ' ∠≠r'ノ:jノ :| | λ /l/l/l ∧‐'.:|:::| ハ ', なにこのスレ・・・ `、 ヽ ,/| ::| :|:::| ./ ヽ_> ` = 、 ,.イ∧'|:l.:/l:::|´ 見たことない単語だらけで意味が分からない `>-r =ニi´、.,_`::: |:| { |:::l _,.イ´ヽ.7 / /:\;八:V:ノ /7:::::! ○O'´ /::::::::/ヽ
スレっていうかスレタイがわけのわからないことになってんな
/ \ 、 ヽ\ ヽ . / , / ! ∨丁ヽ い | /二フ” / ! | ィ 「\ | ハ l | ,′ / l ! | / /j/ '. ノ, =、!// /j/ ヽ/ l い/ ,, =x j/ ′ 〈j/ /ヽ ト ._ \_〃 :.:.:.:.} /二フ” l l { 下 ̄ .:.:.:.: -‐1 ∧ / l l T ‐个 ._ ー' イ l| ニニ! l/ /| l l//下二千ヽ_l い ─┘ ' / .′ l,ノ\/// 小、|、\ヽ\ 「〉 ?Ul / / \/ U` \ヽl i r_| ?Ul l i ! ト ヽ |
夏だな…。
これはひどい
なつだしRubyたんとか萌えキャラ作ろうぜ。
んで来年のコミケットに参加だ!
売り子はyuguiさんで
来年はMatzのコスプレでもするか どんな格好ならMatzぽいのだろうか? コードの世界の表紙みたいなのか
あれはmatzがコスプレさせられているのでわなかろうか。 冬場は革ジャンとかよく着てる気がする。
kakutaniの人(Rubykaigiでスピリチュアルなプレゼンしてる人)みたいにフォースがどうのと 精神面でコスプレしたい
とまってね?
寄生虫
なんでこんなスレタイになったのか分からん
夏だから
平和ってすばらしい
暑すぎてrubykaigi行くのしんどい。 冬にしてくれ。
1.9.2が出たんだな。それなのにこの過疎りよう
rubyで書かれたシステムの保守を引き継ぐことになり、 この8月に入ってから慌てて覚えたんだが… もうrubyって終わりなのかな?
Rails祭りは終わったしピークは過ぎたね
おまいら
ビッグニュースだぜ
20万人都市松江誕生へ 2010/08/19
ttp://www.chugoku-np.co.jp/News/Tn201008190023.html 松江市議会は18日、臨時会を開き、島根県東出雲町との合併を決める関連3議案を賛成多数で可決した。
町議会は17日の臨時会で同様の議案を可決しており、両市町は9月上旬にも県へ合併を申請する。
県議会の議決などを経て、来年8月1日に山陰最大の20万人都市が誕生する。
臨時会では、市が町を編入する廃置分合議案など3議案を賛成30、反対2で可決。
電算システムの統合などの合併準備費を盛り込んだ本年度一般会計補正予算案も可決した。
東出雲町は2002年に、松江市と旧八束郡8町村を枠組みとする合併協議から離脱。
07年に初当選した鞁嶋弘明町長の要請で昨春から協議を再開した。
議決後、松浦正敬市長は「名実ともに山陰地方のリーダーとして力を発揮できる素地ができた」と述べた。
両市町の人口は計20万8723人(7月1日現在)。合併後は鳥取市を抜いて島根、鳥取両県で最多となる。
ttp://www.chugoku-np.co.jp/News/Tn20100819002301.jpg
> 山陰最大の20万人都市が誕生する。 この辺がビッグニュースだなw 日本って土地余ってるんだよな実際
中国新聞・・・
34 :
デフォルトの名無しさん :2010/08/19(木) 11:07:02
38 :
デフォルトの名無しさん :2010/08/22(日) 22:42:40
ruby会議のチケットを買ったので行くつもりなのですが、 初日の午前、「Ruby開発会議つくば」というプログラムは、 主にコミッター向けなのでしょうか? 自分はrubyを始めたばかりなのと遠方なので、 コミッター向けなのであれば、敷居が高いので12:30のOpeningから 行こうと思うのですが・・・
yes
41 :
39 :2010/08/23(月) 13:12:58
>>42 ハードコーディングじゃなくて色んなカンファレンスに対応できるアプリになるとすごい需要ありそうだな(俺にはあるw)
設定ファイルはカンファレンスのWebに置いておいたり、見たい発表をブクマできたりとか。
45 :
42 :2010/08/24(火) 15:53:45
>>44 そうですね。
たいていのカンファレンスページは、タイムテーブルのページと、各プログラムの詳細ページの一覧に
分かれていますが、
こちらは時系列順に見たいのに、サイトではジャンル順になっていたりして、紙に印刷したときにすごく探しにくいです。
それにカンファレンスによっては、前日夜まで更新したりしているし。
だれか作ってくれ
余談:
iphone(クライアント側)ではないけど、カンファレンスサイトを構築するオープンソースソフトウェア
OpenConferenceWare
http://www.moongift.jp/2009/06/openconferenceware/
RubyKaigiってボディコンのねーちゃんこえへんのかいな(´・ω・`)
>>46 ボディコンはたぶんしないけど、とても若々しくてかわいい娘が来られないか調整中らしい。
あと、女性比率はどんどん上がってる感触がある。Railsで、デザイナーさんに近い仕事でRubyに興味持つ人が増えたからね。
>>44 内部でjsonファイル一つを取ってきてるので、仮にすべてのカンファレンスが
同じ方式のjsonファイルを提供すると考えれば、汎用化は十分可能。
実際はすぐに同じ方式になんてならないだろうから、、Aconf,Bconf,...ごとに
内部形式に変換する処理を定義すれば、あとはその内部形式を画面に表示する
ロジックだけ作っておけばOK。
という近未来age。
お前らRubyスレ落ちたので立ててお願い
スレ立てたIPアドレス(というか同一セグメント全体)って 一定期間(別の複数のIPアドレスがある程度蓄積されるまで) スレ立て出来なくなるんだけど(ただし●は除く) 最近はスレ立て自体が減ってるから 新スレ立てが非常にしにくくなって 悪循環負のスパイラルに陥っているのが今の2ch
初心者スレたててみた。 テンプレ貼り誰かおねがい。
53 :
デフォルトの名無しさん :2010/08/26(木) 10:47:46
トンクス
rubykaigi だってのに、2日間レス無し rubiest は、ム板来ないで twitter なのかな。 rubyに限らず技術系のイベントでのスライドを見ると、 2ch 用語を連発している人は多いので 潜在的な2ちゃんねらーは多いと思うけど、 技術系菜議論はここではしないってことかな。
57 :
規制被害者 :2010/08/28(土) 01:48:00
59 :
56 :2010/08/28(土) 01:57:01
>>57 そういえば大規模規制中でしたね。
自分は●持っているけど。
twitter はまだ慣れないので、これからもこちらに書いていくことにします。
※rubykaigi に行ってきましたが
来れない人は、twitter の #rubykaigi がけっこうリアルタイムにレポートされているので
眺めていると、面白いと思います。
ニコ動にも、今日のセッションの動画がすべて上がっているよ(rubykaigi.org からもリンクが張られている)
60 :
56 :2010/08/28(土) 01:59:53
このスレってコミット屋の給湯室みたいなもんでそ。 疲れたらダラダラと避難してコーヒーでも淹れつつmatz萌えとか○さんは俺の嫁とかいう場所でそ。
>>56 全部半角小文字だとrubykitiに見えるw
クリスマスにこだわってんのな
みんなLISPを使えばいいじゃない。
記帳後援おわた
67 :
56 :2010/08/28(土) 12:17:32
mixの話はよくわからんかった 普段は会社に遅刻しまくるおれが、9:30に間に合うために7:00起きしたため 昨日は4時間しかねてないので、基調講演中、少し眠ってしまった チラ裏ごめんなさい 現地は、昨日より人も多く、天気も良くて気持ちいいです
matzさん初めてみたけど話し方がきついね(´・ω・`) 初見さんからみたらの話だけどね(´・ω・`)
俺も最初Rubyコミュニティの人たちに対してそう思った時期があったけど 今はもう慣れた
大学生の質問に それは受け入れられない(キリ
is_kind_ofくそ食らえ!includeまだ使ってんの? を煮詰めていくとインタフェースとコンポジションにたどり着いて、 結局Goが色々と先を進んでるなと思わざるを得ないよね(´・ω・`)
時代は javascript だよね
さて 早起きしたから二度寝するか
>>69 まぁ慣れれば、悪くないし良い効果もある…気もしてきた(´・ω・`)
食うか食われるか、吉野家みたいなところと思えばね(´・ω・`)
開発者の中に失踪した人が何人かいるんだな
77 :
56 :2010/08/28(土) 12:38:50
昨日の基調講演(の代わり)でも wycats から出ていたけど、 ruby core の議論が外人に伝わらない、言語がコミュニケーションギャップになっているという話があった。 現地も、去年より外人が増えていると感じる。 こういうイベントも、通訳の人(日->英)の人を増やすとかしないと、 結局日本人同士、外人同士になってしまうのでは、と思った(もちろんスタッフの方々には感謝しています) ただ文句を言うだけではよくないので、昨日は3組ぐらいの外人のヘルプをした (道案内、フロア案内、彼が持っていたお菓子? の説明) ruby 初心者なのでこれぐらいしかお手伝いできない
明日RubyKaigi行くぜ。 早起きしないといけないのがつらい
今日のまとめ ・ドラ娘を現地調達 ・るび充 ・中二病をこじらせてLT
休み取れたんで、今回はじめてがっちり見たんだけどこんなにRubyコミュニティはキチガイ多かったの? もちろんいい意味でいってる
JRubyKaigi で質問者がもらえてた、Engine Yard のTシャツが欲しかった・・・
今日のお勧め教えてくんろ
>>86 公式のliveページだと動画と一緒に翻訳してる方のIRCのログ流れてたけど、
確かに翻訳ほしくなるな
Railas3っていつごろ来そう?
なぜここで聞く 公式サイトでは今週のリリースを目指すって書いてあるから、 来週中くらいじゃないか?
ぷっぷぷー♪ が脳内ループ再生して困る
ぽまいら乙
とぅっとぅるぅー
メタプログラミング、使ってないのに飽きたw 次のトレンド教えてw
さあ、今すぐRailsを使うんだ!ちょうどRails 3もでたし。 Rails使えばメタプログラミング飽きたとか言ってられないぞ!!
qtruby4の1.9バイナリマダー? MinGWじゃ謎エラーでビルドできんのよボスケテ
近所にCG-Guestって野良無線LANが3つもあるんだがw iPadが勝手に接続しちゃって焦るw
激しく誤爆
Ruby World Conference 2010 の話題はでないの?(´・ω・`) 地方過ぎるのが原因か・・・。
Worldなのに地方なのか
Worldに地方とか都市の概念は関係ないと思うが
"Hello World" と打とうとして思わず "Hello Work" と打ってしまうような無職の俺でもRubyを勉強していいですか?
いいよ
なんかもう継承って古い気がする。 仕様にせよ実装にせよ差分を積み重ねること自体が依存性を強める諸悪の根源。
ActiveRecord::Baseを継承しないで 委譲を使ったAdapterパターンでラッパーメソッドを全部実装するんですね? わかりません
106 :
デフォルトの名無しさん :2010/09/04(土) 21:30:13
>>104 まあ作りっぱなし売りっぱなしで
メンテ不要のシステムなら同意
DataMapperは継承ベースでなくmixin(include)で使うタイプだよな Rails3はActiveRecordなしでvalidationだけ使いたいなんてときにでもActiveModelのモジュールだけ使うとか 大分バラせるようになってたな
おまいら過疎ってるけどどうしたん? 燃え尽きたん?
まあ普通に毎日Ruby使ってるけど 安定してるし特にネタが無い
オライリーのSpidering hacksに載ってるようなことってRubyでも簡単に出来ますか? 簡単にってのはPerlのように用途ごとにモジュールがすぐに手に入りますかってことですが
まあMechanizeとNokogiriで真似事くらいはできる あまり細分化されてないのでRubyの知識は絶対に必要 言語覚えるのが面倒なら素直にPerl使えPerl
> 言語覚えるのが面倒なら素直にPerl使えPerl セッテイをするだけで使える部分が広いというのにはPerlに一日の長がありまくるな RubyはユーザーにRubyスクリプト書かせる気マンマンだからこういうとき困る
まぁ、PerlでできることはRubyでも当然できるわけだが、 すでに誰かがやっていてモジュールが提供されてるのとは違うからな。 Perlで誰かがやったことをRubyで書き直すのもまた車輪の再発明なのかしら
In principle, of course, any Turing-equivalent programming language can do the same things as any other.(キリッ
うむ、単純にポーティングはたのし。
テストの移植で死ぬ 自力でテストを埋めるのは楽しいこともあるが、テストの移植は果てしなく面倒だ
テストといえばgemのライプラリを3行くらい変更するだけなのにテスト20KBくらい書いてる そもそものライブラリのテストがまったく網羅してないんだよこれ 変更後も同じように動きますと言いたいだけだったのに やだこれにコメントつけたくねえ こことかこことか英語でなんていえばいいのかすらわからん ていうかもうRSpec使おうよTest::Unitは意図の説明めんどくさいよ
Addressable::URI は Ruby1.9 でまだ遅いんだな 構造的な問題なのか
むちゃくちゃでっかい定数の読み込みに時間がかかってると聞いた
まじかよ、遅延評価に汁。
String#encodeとかじゃダメなのかこれは
1.9でだけ重いんだっけか
ナニが引っかかってるんだ…?
Addressable::URI だけが超重いせろりん400環境の俺様が来ましたよ UNICODE_DATA だけコピペした idna.rb で $ time ruby idna.rb real 0m0.300s $ time ruby1.9 -rubygems -e ";" real 0m0.285s $ time ruby1.9 idna.rb real 0m4.903s いろいろ試したのだけど、{数字1 => [配列1], 数字2 => [配列2], ...} という構造を捨てて [数字1, [配列1]] [数字2, [配列2]] のように単に意味なくネストせずに各行並べた $ time ruby1.9 idna_a.rb real 0m0.485s だけが速かった ペア4000個のHashというのはRuby1.9にとってはちょっと大き過ぎるらしい ちなみに16進数をString#hexで整数に直しただけのHashの結果 $ time ruby1.9 idna_int.rb real 0m4.899s 変わんね 16進数が多いわけでも文字列が多いわけでもnilが多いわけでも配列が多いわけでもなかった模様
127 :
デフォルトの名無しさん :2010/09/08(水) 13:27:09
>>119-126 % time ~/local/ruby_1_9_1/bin/ruby idna.rb
~/local/ruby_1_9_1/bin/ruby -v idna.rb 0.62s user 0.00s system 100% cpu 0.617 total
% time ~/local/ruby_1_9_2/bin/ruby idna.rb
~/local/ruby_1_9_2/bin/ruby -v idna.rb 0.03s user 0.01s system 2% cpu 1.341 total
というわけで、1.9.1 はさっさと捨てて、1.9.2 を使ってください
>>127 それはそれでなんかキモいな
原因はなんなんだ
1.9.1向けのデータ作る際になんか気をつけなきゃならんところがあるのか
1.9.1は1.8.6なんかと比べて後腐れないバージョンなので、 1.9.2がフツーだという評価さえ広まればとっとと消えると思う
2.0が出るまでは1.8でいくよ
2.0が出るまで後5年くらいはかかるだろうから、 その前に高確率でRailsに1.8系が切られる気がする
そろそろ1.8.6の存在がめんどくさいでござる
ねー、rvm って対話型シェル以外で使うときどうするの どっかの cron で使ってる ruby とか自前の CGI で呼んでる ruby とか
rails3はみんな1.9.2使うの?それとも1.8.7?
136 :
126 :2010/09/08(水) 20:49:23
:$ rvm use 1.9.2 info: Using ruby 1.9.2 p0 :$ ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] :$ time ruby idna.rb real 0m0.543s うひょー
rvm って言えば、rvm gem install rake とかすると 1.9.1 のディレクトリに rake がインストールされるのはなんで? rvm gemdir は $HOME/.rvm/gems/ruby-1.8.7-p302 なのに…
>>137 1.8.7にrubygemをインストールしてないんだろ
>>138 …おお
って一瞬納得しかけたじゃないかばかー!
$ ls $HOME/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/site_ruby/1.8/
gauntlet_rubygems.rb i686-linux rbconfig rubygems rubygems.rb ubygems.rb
>>137 1.9なら、そのrakeは標準ライブラリのものでは?
rake, rdoc, rubygems, minitestが最初からバンドルされている。
>>140 ああ、 rake は紛らわしかったねごめん
$ rvm use 1.8.7
info: Using ruby 1.8.7 p302
$ rvm 1.8.7 gem install rspec
…
Successfully installed rspec-1.3.0
1 gem installed
$ ls -R .rvm/gems/ruby-1.8.7-p302/
.rvm/gems/ruby-1.8.7-p302/:
cache
.rvm/gems/ruby-1.8.7-p302/cache:
rspec-1.3.0.gem
$ rvm --version
rvm 1.0.5 by Wayne E. Seguin (
[email protected] ) [
http://rvm.beginrescueend.com/]
テスト書くのめんどくさい テストなしでライブラリ公開していいよね RFC1738とか使ってる人もういないよね Shift_JISにEUC-JPが混ざった文字を$KCODE="u"の環境でinstance_variable_setで直接入れられたときの挙動とか そういうのまだテストしてないけどいいよね
web関連はめんどくさいからな
>>142 テストしてないです、って書いとくならOK。
>>143 RFCがなければもっとめんどくさいんだろうが、
RFCがあると「最低限やらなければいけないこと」の量がわりと明確で困るな
>>142 テストしてる範囲さえ明確にしてるなら
そこから先は使う側に責任が移るからいいんじゃね
>>142 githubにうp→おお、こら便利→いっちょテストでも書いてやるか→pull request → pull, merge→
>>141 幸せ みんなも幸せ
githubに載ってるライブラリを直したいんだけど、 手元に git clone して自分用のブランチ作って適当に改変して自分とこの github スペースに push しておけばいいの?
>>149 自分だけで使うならpushする必要もない。
オリジナルリポジトリを直接ローカルでcloneして修正をローカルでコミットするだけでいい。
自分の修正を公開したいならgithubで相手のプロジェクトをforkして、
そこにローカルリポジトリからpushする。
(最初から公開予定があるなら、forkを先にやって、それをローカルにcloneしてもよい)
さらに原作者にも取り込んで欲しいなら、githubでpull requestを送る。
あれ、libname gem のテストの helper.rb で全く何の気なしに require 'libname' されてる … $LOAD_PATH の設定とかないの っていうかこれ作成中の lib 読んでないよね gem でインストールされたほうのディレクトリ読んでるよね あー、rake test だとこれでも作成中の lib のほう読んでくれるのか ファイルごと testrb してるんじゃなくて毎回 rake test してるのか 豪華なテスト実行環境してるな畜生
>>152 escape は parse 可能を保証しないんじゃなかったっけ
154 :
デフォルトの名無しさん :2010/09/11(土) 19:01:25
>>152 URI.escapeはURIとして使えない文字をescapeするだけで、
その結果が正しいURIになるとは限らない。
議論の結果、使い物にならないって事で廃止予定です。
なんでそんなに独特な言い回しなんだw
URI 構成要素ごとにパーセントエンコーディングすべき文字というのが決まっているので URI 全体を特定の正規表現でチェックして一気に置換とか本当はありえないんだよね Addressable::URI の方向性は正しい
157 :
デフォルトの名無しさん :2010/09/12(日) 16:05:26
>>135 Rails3系ではrubyは1.9系を使おうと思ってるよ。
犬かうんだがRuby関係の名前にしようかと思ってる。
松江ラーメン で
instance_eval とか犬の名前にすんのか?
飼い猫の名前に、nilって名前つけたら早死にしたわ。 あんなに可愛かったのに、GCの対象になったらしい。
Ruby on わんこ
そういや飼っていた兎にπと名づけていたOS研究者がいたな。 本の献辞に memory of Bram and Sweetie π とあって(兎の名前だと知られるまで) 読者はなんだそりゃと思ったという。
>>161 おまいがしっかりと参照してやってれば…
nil は普通に実装したら即値にするだろうから、 GC は関係ないんじゃないかなぁ
飼い猫を nil にしたら飼い猫として参照できなくなって飼い猫がいなくなった、が正しいと思う
そういえば、まつもとっていう名前のウサギかなんかを飼ってる人がいたような。
171 :
デフォルトの名無しさん :2010/09/13(月) 15:09:32
force_encoding("utf-8") は今すぐ絶滅して欲しい今すぐ force_encoding("binary") とかのほうが数万倍マシだ っていうか外人産ライブラリからこれを取り除いて欲しいんだけど外人さんをどう説得すればいいですか
>>172 String#valid_encoding? が false になる例を1ダースくらい持っていく
全てに対して force_encoding(Encoding::ASCII_8BIT) して、全てが true になることを示す
valid_encoding? という字面は強力なのでたいていあちらさんが折れるぞ
ほんとは encoding が valid かどうかを示してるわけじゃないんだけど、
そんな知識があるならそもそも force_encoding('UTF-8') なんてしないから大丈夫バレない
なんでデフォルトをUTF8にしなかったんだ? もちろんいろいろ検討した結果なんだろうけど
>>174 UTF-8に変換しないといけなくなるじゃないか
>>174 当時は EUC がベストと思われてたから
当時っていつ頃なんすか?w ゆとり世代の自分からしたらUTF-8しかありえないんですけど^^;
>>176 EUCがベストって1.9のデフォルトはUS-ASCIIじゃんかよ
なんで嘘吐くかな RubyはLatin-1だろ
>>174 それやるとWindowsとの親和性が上がっちゃうから
WindowsならShift-JIS(CP932)だろJK、気持ちはわかるがUTF-8もWindowsにとってはかなりアレなんだぜ
このPerrotta氏の著書『メタプログラミングRuby』の序文に寄せて、Rubyの設計者である、 まつもとゆきひろ氏は、こう書いている。 「Rubyは君を信頼する。Rubyは君を分別のあるプログラマとして扱う。 Rubyはメタプログラミングのような強力な力を与える。 ただし、大いなる力には、大いなる責任が伴うことを忘れてはいけない」 コアクラスも書き換え可能である「オープンクラス」というのが典型だが、Rubyではプログラマ自身が自覚している限り、 破れないルールは少ない。例えば、クラス定義の中にある「private」以降に定義があるメソッドはレシーバを省略した形 でなければ呼び出せないため、事実上クラスメソッドのように振る舞う。しかし、動的ディスパッチと呼ばれる引数に メソッド名を指定する方法だと、当該クラスと関係のないコンテクストからですら呼び出せてしまう。これは一見危険な ことだが、このことによってクラスを動的に拡張して、一群のメソッドを追加するような“魔法”が、Rubyでは1行で実現 できてしまう。Perrotta氏は、「Rubyの世界では、private()は命令ではなく提案だと考えられている。これはRubyの 哲学に不可欠なものだ」と書籍の中で説明している。 結局、メタプログラミングとは強力で危険な、特殊なプログラミング技法なのか? どこで使い、どこで使うべきでないのか? 同書のエピローグには、禅問答のような短いやりとりが掲載されている。山の頂で瞑想している師匠に向かって、 「メタプログラミングの真髄とは何ですか」と、ひと通り学び終わった弟子が問うシーンがある。Perrotta氏は、 師匠にこう言わせている。 「メタプログラミングというものなど存在しない。すべてはただのプログラミングじゃ。去るがいい。静かに瞑想させておくれ」 どう見ても宗教です本当にあり(ry
言いたいだけの奴は勝手に言ってろ
>Rubyは君を信頼する。Rubyは君を分別のあるプログラマとして扱う。 別にRubyに限った話ではない 例えばこの辺りの思想は、おそらくC譲りのもの それを宗教と呼ぶのは自由だが
自分の足を撃つにはどうプログラムするか、というやつだなぁ C→自分の足を撃て Pascal→コンパイラはあなたに自分の足を撃たせない みたいな。
同書のエピローグには、禅問答のような短いやりとりが掲載されている。山の頂で瞑想している師匠に向かって、 「メタプログラミングの真髄とは何ですか」と、ひと通り学び終わった弟子が問うシーンがある。Perrotta氏は、 師匠にこう言わせている。 「メタプログラミングというものなど存在しない。すべてはただのプログラミングじゃ。去るがいい。静かに瞑想させておくれ」 の部分だろ問題あるのは
ずいぶん長い夏休みだな
もうすぐ3年目
rubykaigi2010 でも Perrotta 氏が来ていて セッションを聞いていたけど、Perrotta 氏の話は 面白くてとても謙虚な方だったよ。 Perrotta 氏は Java の Hibernate のコミッタでもあるそうだが、 本人も「元はJavaプログラマだったけど ruby をやりはじめて、 はじめは(railsなどの、rubyに見られる)黒魔術がなにがなんだか わからなかった」と言っていた。 冒頭はそのときの体験談なんかもあったよ。 英語もすごい聞きやすかったな # というかセッション後の質疑応答時間で、聴衆の外人から # 「あなた(Perrotta)は アメリカ人ではないのに、 # どうしてそんなに英語が上手いの?」と聞かれていて # 会場が沸いていた
>>188 外人ハッカーのZenへの憧れを知らないと見える。
Ruby2.0ではirbからrequire selfするとMatzのポエムが読めます
どう問題があるのか言えないくらいだからたいしたことない
It's the ZEN of Ruby
哲学が理解できないのは知性が低い証拠
rvm 使ってる人に質問 システムが使ってる Ruby はどうしてる? まさか自分の .rvm ディレクトリにシンボリックリンク張ってるわけじゃないよね?
システムが使う Ruby と自分だけが使う Ruby は別 システム用の Ruby は別途固定のものをインストールする システム用に rvm をインストールしてもいい 人数分プラス 1 の Ruby がインストールされる状態 ディスクの無駄遣いだな
200 :
デフォルトの名無しさん :2010/09/17(金) 08:25:47
ファイルが存在しないときだけ、新規にファイルを作成する方法を探しています。 unless File.exist? File.open('filename', 'w') {|f| f.write(data) } end だと、File.exists? と File.open とがアトミックに行われるわけではないので、 File.exist? と Filee.open とのあいだで別プロセスによりファイルが作成される 可能性があります。 これを避けるにはどうしたらいいでしょうか。
ファイル作成のアクセスをロックさせることのできるファイルシステムを使う
ディレクトリの書き込み権限を自分だけにしてからファイルの存在チェックを行う ファイルの存在チェックからファイル作成までの間に誰かが割り込む可能性はない ただし管理者自身のアクセスまたは管理者の許したプロセスやユーザを除く
>>203 | を処理する間に割り込んで欲しくないのだろ
えっ?
>>204 節子それメソッドやない、open に渡すフラグや
'wn'とか指定できるようにしようぜ
ML盛り上がってるなと思ったら<=>のせいか
spaceship operator を UFO演算子というのは訳しすぎな気がする。
ruby 1.9.2からpsychが付くって宣伝されてるけど 実際、psychって(従来のsyckと比べて)どの辺が素晴らしいんだ? 日本語の情報が少なくてよくわからない
>>210 * (今のところ)メンテナ(ひげの山男)にアクセスが取れる。
(syckの_whyは失踪した)
* 対応しているYAMLの仕様が新しいらしい。
* BOM付きUTF8が読めた。(自分で作ることは決してないんだけど)
パフォーマンスの差は知らぬ。
psyche?
ライブラリ本体をLGPLとかでリリースしたとき、ライブラリをテストするために添付したデータもLGPLとかになる? …なるか …なるよな 迂闊に既存のデータをテストデータとして添付するのはまずいか 困ったー
ファイルの更新日時なんていつでも変更できると思うんだ…
>>186 Javaとかが君を信頼してないから、そう書いたんじゃないか?
確かにK&Rにも同じようなこと書いてあった気がするけどな。
拡張ライブラリを書いてるんだが、Ruby1.8と1.9とでコードを分けたい。 そのための方法を教えてください。たぶんマクロかなんかあるんだとおもうけど。
Rubyにマクロはありませんが、とりあえず定数 RUBY_VERSION を使ってやりたいことは できませんか?
>>216 バージョン自体は
RUBY_VERSION "1.9.2"
RUBY_VERSION_MAJOR 1
RUBY_VERSION_MINOR 9
RUBY_VERSION_TEENY 1
あたり。
1.9.1と1.9.2はABI互換性があるので、TEENY は 1 のまま。
俺の場合はエンコーディング処理の有無の違いだったので、HAVE_RUBY_ENCODING_H
を使った。
219 :
217 :2010/09/23(木) 11:21:56
あごめん、「拡張」を読み損ねてた
>>217 RUBY_VERSIONという定数はなさそうだけど。
include/ruby-1.9.1/ruby/version.h あたりに載ってるかと思ったけどなかった。
>>218 えーとこれはRubyスクリプトでの話?
今は拡張モジュールの話なので、Cレベルでのやり方を教えて下さい。
#if RUBY_MINOR_VERSION == 9
#endif
とかできないっすかね
>>218 >HAVE_RUBY_ENCODING_Hを使った。
よく読んでなかったけど、そんな方法があるのか。
調べたら HAVE_RUBY_VM というのがあったから、これを使うことにした。
ありがとう。
ところでruby1.9のvmに、拡張ライブラリからアクセスしたいんだけど、
vm_core.h とかを読み込んだり、そこに載っている関数を呼び出したりするには
どうしたらいいんでしょうか。
もちろん未公開関数だとか仕様が変更される可能性があるといったリスクは
承知の上でのはなしです。
222 :
218 :2010/09/23(木) 12:28:32
223 :
218 :2010/09/23(木) 12:32:44
スマン。 version.h は include の外にあるので、公開APIではなかった。
あれ、Ruby1.9.2 で require 'spec/my/dir/../../spec_helper' が動かない File.expand_path 必須?
CPUがどんどん速くなってるのにRubyってなんか重くあり続けてるよな すごく不思議
逆に考えるんだ。CPUがRubyの進化の速度に追いつけていないと、そう考えるんだ。
>>224 Ruby 1.9.2から、requireでカレントディレクトリを見に行かなくなってるけど
それと関係ある?
>>221 >ところでruby1.9のvmに、拡張ライブラリからアクセスしたいんだけど、
>vm_core.h とかを読み込んだり、そこに載っている関数を呼び出したりするには
>どうしたらいいんでしょうか。
まさに自分も同じことで悩んでいるんだけど、どうしようもなさそう。
そもそもruby/vm.hってほとんど空でなにも定義されてないから、
外部から触るのは無理っぽい。
インターフェイスを公開しちゃうと内部を自由に変えられなくなるから 公開したくないのかなぁ。 RubyVMとかRubyVM::InstructionSequenceとかのC実装は公開APIだと 思っていいんだろうか。
>>230 将来の実装変更の自由を奪っちゃうからというのもあるだろうし、
まだ拡張ライブラリでどんなAPIが要求されるかの知見が十分に得られてないからってのもあるだろうね
ユースケースを添えてこんなC APIが欲しいってのを出せば、
既存のは将来の互換性、ないものは追加を考えてくれるかもなので、ruby-devに投げるといいよ
1.9.2 でだいぶ速くなったのは確認できた 後は AOT コンパイラさえ揃えば不満はないっす
>>231 VMにどんなAPIが必要かなんて、VM作ったことのない人にはわかるかよ。
とりあえずVM内部のデータにアクセスできればそれでいい。
それよりRubyのバグ登録って、どこでどういう手順でやればいいの?
当然どっかに説明が書いてあるんだろうけど、どこを見ればいいんだ?
英語圏のgemで中途半端にヤバいかなあというのが一番困る
バグなんて2chに投げときゃいいんだよ。 修正コードも合わせて貼るとなおよし。 そうすればもっと報告しやすい環境を整えてくれるよw
>>239 > 修正コードも合わせて貼るとなおよし
2chに書かれたコードは取り込めません
基本的に、たまたま居合わせたコミッタ(というかyugui氏)が 対応してくれることもあるぐらいの話
去年の rubykaigi で、yugui さん含めコミッタは 2ch の ruby スレは見ないけど、 「たまに有益なレスが着いているのを聞いている」ので、 駄レスはいらないけど有益なレスが着いていたら ML に転送してほしい、と言っていたぞ。
おおむね平均すると10スレ消費するごとに1レスくらいだがな
2chにはられたコードは著作権が不明確なのでうかつに取りこめない。 のかな。
>>243 いやもっと低いって
1000に1つもあればいいほう
2chの投稿規約のことを考えると なおのことややこしくなる そんなコードを取り込むわけには、さすがにいかないのだろう
>>245 レスじゃなくてスレだから万に一つって事な
>>246 2ch自体がライセンスだからな
メジャーなソフトウェアライセンスと一見競合しそうな以上、スレにコードを貼るのはそもそも危険
>>247 ああ
素で読み間違えてた
あなたのおっしゃるとおりです
そのうち、ソフトウェアにも「2ch ライセンス」というのがあっていいかも ・当然無保証 ・著作権者はなし(誰でも流用してよい) ・バグもあるので、嘘を嘘と見抜けないと・・・・ これじゃあ PDS と同じかな
出所がわからんから うっかり他人の著作権侵害してるかもしれんぞ
どこかwebに貼ってから、その引用という形をとればいいんじゃないか? 引用元の著作権まで譲渡するわけにはいかんだろ
pastebinとかgistに張ればいいでしょ もちろんライセンスは名器で 2chに貼るときもライセンス名器しておけばいいと思うけどね
2chの書き込みは「規約と称するもの」を「承諾」してなされたことになってるからまずいの
>>255 おい、こんなの許されるのかよ
この一方で、(ニコゲーの規約じゃないが)webサービスの著作権譲渡項目に怒ってスレが立ってたりするわけかw
お前ら同じ話を一体何度繰り返しているのかと
>>257 2chのスレにプログラムコード書き込む際のライセンスの問題、みたいなサイトやらwikiやらが存在しない限りずっと
お兄ちゃんコントローラーの一覧ってどうやって取得するん? コントローラーフォルダからファイル一覧を取得とかは嫌ズラ。
>>260 Railsの話?
定義がロード済みなら
ActionController.subclasses
で拾えると思うけど、
未ロードだが定義した存在するクラスまでは無理だと思う。
ルーティング定義があるものならそっち方面から攻められそう。
Railsは遅延読み込みあったよな script/consoleでも、未設定だとロードしてないファイルのクラスが補完できないよね productionの設定だと全部読み込んでた気もするけど
ありがとうお兄ちゃん ActionController::Routing::Routes.routes.each do |route| p route end これで節子頑張れる
あん、Rubyのライセンス実際に変わったの? まだ?
変わったない
>>255 みて思ったんだけど、GPLライセンスのソースやパッチを2chに貼ったら2chはどうなるの?
矛盾するよね。
投稿削除されるのかなw
一方はソースやソフトウェアのライセンスだから適用されるのかはしらんけど
それはそうと、RubyやRailsに脆弱性見つけて(他のプロジェクトでもいい)、
2chに張ってから時間差で公式にパッチと共に報告したらどうなるんだろう?
Rubyのappleのパッチのときみたいに偶然コミュニティを見てない人にパッチを書いてもらうのだろうか?
267 :
デフォルトの名無しさん :2010/10/01(金) 05:43:56
>>266 じゃあGPLのソースを載せた雑誌は無料頒布ですね
>>268 普通の雑誌は記事に掲載されたものの著作権譲渡は求めないからな
ディスプレイ2つ欲しい エディタとテスト実行画面 screenで切り替えるの疲れたお いや文字小さくすれば何とかなるんだけどさ、見辛い
Ruby1.9 の Net::HTTPResponse が返す body のエンコーディングで質問だよおっかさん require 'net/http' html = Net::HTTP.start('www.2ch.net', '80'){|http| http.get('/')}.body p html.encoding p html.valid_encoding? が default external encoding か何かに引っ張られて #<Encoding:UTF-8> とか適当な値返すのは仕様? Net::HTTPResponse の時点でとりあえず ASCII_8BIT とかにしてもらえてるとなんか超ありがたいんだけど あとこのへんの扱いで揉めた記録の記憶があるんだけどどこだっけ
>>271 仕様
というか試してもらうとわかるが
$ cat ch2get.rb
require 'net/http'
html = Net::HTTP.start('www.2ch.net', '80'){|http| http.get('/')}.body
p html.encoding
p html.valid_encoding?
$ ruby1.9 -Esjis ch2get.rb
#<Encoding:Shift_JIS>
true
という芸当ができるようにわざわざこうなってる
force_encoding(::Encoding::ASCII_8BIT) の入る余地はないわけだ
利用者側で事前(external encoding)または事後(force_ecnding)にお好きにやってくださいというスタンス
ちなみにsjisの部分をスクリプト実行前にどうやって知るかについてはこの文書では規定しない
>>268 wikipediaにGFDLの記事にGPLのコード載ってる場合どうなるの?(双方は相容れないライセンス)という質問に対し
1つライセンスではなく、別々のライセンスで配布されるというような答えがあったが、どこのページがしっている人いな
GPLが絡むのにそんなのでいいのかと当時思ったが
ねーねー、自作ライブラリで自作ディレクトリ内のファイルをrequireしたいんだけどどう書けばいいかな? $LOAD_PATHの先頭にファイルの存在するパスを File.dirname(File.expand_path(__FILE__)) でガンガン追加してったら 動作遅くなるよね?
既存のLOAD_PATHからの相対パスでいいじゃん たまたま同じディレクトリ構成の他のディレクトリがLOAD_PATHにあったら読まれてしまう気もするけど hoge/lib hoge/lib/hoge.rb hoge/lib/net/ hoge/lib/net/http.rb という gem で hoge.rb 内で単に require 'net/http' しても自作の http.rb はたぶん読め…読める?
require 'rubygems' したあと gem の require 'hoge' すると LOAD_PATH の先頭に gems/hoge/lib が延々追加される
ので
>>275 require 'rubygems' して require 'hoge' した直後ならほぼ確実に読める
他のライブラリを読んだ後、スクリプト実行中に必要に応じて require、とかだと
他の gem パッケージのパスが LOAD_PATH に追加されてるから読めない可能性がなくもないと思う
間違ってアンチスレに貼ってたけど、 ようやく結論らしきものを得たので自己レス 123 名前:デフォルトの名無しさん[sage] 投稿日:2010/09/06(月) 21:42:14 メタプログラミングRubyの前書きに、 Joe Armstrongって名前があった Erlangの人かなあ? それとも同姓同名? 『言語設計者たちが考えること』によると、 アームストロングさんもRubyを利用しているらしい ということは、本当にErlangの人かも
Programming Erlang って本でも Erlang の例外処理を Ruby のそれと比較してたよ
初学者ですけど Rubyのバージョンアップはいつになったら終わるんでしょうか。 学んでいる最中にどんどん仕様が変わっていくので いつまで経っても覚えきれません。 買った本も無駄になるし。
>>279 今はたまたま 1.8 から 1.9 への移行期という
大きな変革期なだけであって、普通はそれほど大きな変更はないよ。
1.8から1.9にしても、初学者がプログラミングするくらいだったら、
それほど大きな差はないと思うけど。
少なくとも本が無駄になるというのはあまりなさそう。
安定版という意味では1.8.7はまだ数年使えるんじゃないの? オレオレスクリプトを動かす分には、それでもいいだろうし Railsは1.8.6切り捨てたし、今は1.9.2デフォ対応が目標なんだっけ? Rails周辺はめまぐるしく変わるし大変そうだな
漏れはプロじゃないけど、 Java が Ver1 になったときの方がひどい感じを受けた ただし、過去、Ruby の CGI 本がいくつか出たけど、 もう一切うごかないでしょ あれはひどいよ
>>279 いまJIS規格案の最終草案のレビュー中。(1.8ベースだが)
というか「FIXされたプログラム言語」って稀だと思う
フラフラしてるのはgemライブラリ部分だよね ここの責任はRubyとしては持ち難い
>>283 そうですか。
JISになるならば、1.8系列が簡単に切り捨てられることはなさそうですね。
2.0という、バージョン番号としては非常にキリの良い数字が
目前に近づいているので、開発陣がそれに向けて
大規模な改編を企図していなければ良いのですが…
Rubyは業務システムにも使われ始めているので、どこかで
仕様固定をして、その後はバグ・セキュリティ対策のみにして
欲しいと願う者です。
>>286 Ruby におけるバージョン2.0ってのは、単なる次のバージョンではなく
遠い未来のいつか出るだろう夢のバージョンという意味。
結局、1.8はRubySpec通してるの?
>>288 結局って?
MRI 1.8ではrubyspecを通すことは目標にはなかったはずよ?
>>286 Microsoftの各言語やJavaだってどんどんバージョンアップはしてるわけで、
それを止めたら言語として死んでしまうよ。
システムで使うバージョンを固定すればいいだけの話では。
早めに入れておきたかった(特に破壊的な)変更は1.9で入れられているから、 あとは2.0に向けて仕様を拡張する一方 互換性の問題は1.8→1.9ほどにならないはず
JISになるのとrubyspecは関係ないんだね いやわかってていってるけど
>>290 サポート切れてるバージョンだってあるよね
といいかけたが、linuxのディストリビューションでも
公式サポート切れのバージョンにセキュリティパッチ当ててメンテしてパッケージリリースしてたりするよな
CentOSとかCentOSとかCentOSとか
.NETじゃないVisual Basicとか、サポート切れて久しいけど 世間で動いてるプログラム多そうだな
そういえば、もうGoldの資格試験始まったのかな? Sliverもだけど、1.8ベースじゃなかったっけ? yuguiさんがWorld Conferenceで1.9使おうって言ってたけど、 資格試験が1.8ベースならGold取るまではなかなか1.9に手を出せないなぁ。 こんがらがりそうじゃん。 まぁ、Rubyの資格試験なんかどうでもいい人がほとんどだろうけど・・・。 Silverも試験公式ガイドがなければとても受かるとは思えなかったので、 Goldもそれ待ちだなぁ。
なるほど、Ruby1.8とRuby1.9を併用してプログラム書いてる人は頭こんがらがってる基地外なわけですね
仕事は1.8で、趣味は1.9だな。
仕事でつかえていいなぁ 趣味はRuby (1.8.7)だけど 仕事ではJavaやらC#やらしか使えないorz
>>296 そゆこったな
1.8と1.9をごっちゃにしてしまうというのはよっぽどだぞ
というか初心者は1.8で学習しろというお達しが着てるはずなのだが
1.8で学んでから1.9を追加として理解すると早い
どうせ1.8を捨てるわけにはいかんのだし
Ruby1.8系の railsプロジェクトを1.9系にするのって絶望的にめんどくさそうなんだけど、実は結構簡単?
301 :
デフォルトの名無しさん :2010/10/09(土) 13:12:53
どうしても、netbeans のjrubyに warblerのgemをインストールできない。 jruby 1.5.3 を単独でインストールしてwarblerもインストールできたけど netbeansではrakeが一切できない。 どうしようもない。 方法ありますか? ちなみにruby 6.91 gem 2.38 jruby 1 .5,1
なにそのめちゃくちゃなバージョン
修正 どうしても、netbeans のjrubyに warblerのgemをインストールできない。 jruby 1.5.3 を単独でインストールしてwarblerもインストールできたけど netbeansではrakeが一切できない。 どうしようもない。 方法ありますか? ちなみに netbeans 6.91 gem 2.38 jruby 1 .5,1
日本語でお願いします。結局知りたいことがなんなのか分からない。 warblerをインストールしたいのかrackを実行したいのか…。 JRubyのバージョンが混乱してるしgem 2.38て何を表してるのかもうイミフ
JRubyでNetBeansでgemでrakeというのは役満だと思う わざわざ一番難しい組み合わせ選んでるだけだろ
もうnetbeansで プログラムはくめるようになったので tomcat 上でrubyはしらせたいのです。
>>305 だなw
これでターゲット環境がGoogle App Engineだったらw
さて、JRuby詳しくないからよくはわからのんだが、
プロジェクトの構成だったかRubyプラットフォームの設定だったかで、
インストールしたRubyを認識させておいて、
プロジェクトのプロパティでその構成を選んでおく必要あるけど、そういう最低限の設定は大丈夫かな?
どこがおかしいのか順番に行こうぜ
・バージョンを正しく把握する(--versionとか)
・コマンドラインでは目当てのJRuby、gem、warbler、Rakeは起動できてる?
・NetBeansでは動かしたいJRubyを認識できて、適当なputs "hello world"実行できてる?馬鹿にするなとか言わない
・NetBeans上で動かしたいJRubyのgem管理用のGUIを起動できてる?
・〃
途中で送信してしまって気づいたけど、もうできてるんじゃないのかそれ デプロイの話か Java詳しい人よろしく
>>266 >
>>255 みて思ったんだけど、GPLライセンスのソースやパッチを2chに貼ったら2chはどうなるの?
ソースコードの頒布にあたりかつ、COPYINGをつけるなどの要件を満たしていないので、
その投稿はライセンス違反でしょう。
また、2chは投稿時に著作権を譲渡できないものの投稿を禁止しているので、2ch的にも規約違反です。
というわけで、原則として、投稿削除が正解でしょうな
> 2chに張ってから時間差で公式にパッチと共に報告したらどうなるんだろう?
2chに張った時点で著作権が2chに移っているので、パッチの報告は形式にもよりますが、
たぶん著作権侵害になるでしょう。
なので、まぁ色々めんどくさくなりますね。
>>283 >>286 JIS Rubyは1.8と1.9の公約数を取って規定されるので、安心かというとあんまり。
率直に言って、JIS RubyはRubyの開発には何の影響もありません。
>>279 >>286 Rubyは永遠に変わり続けます。
仕様固定された物が欲しかったら、どこかのタイミングでforkして自分でメンテしてください。
もっとも、直近ではあまり派手な非互換変更のネタはないので当分は安心して大丈夫。
Matzの言う100%互換はありえないにしても、1.9のスクリプトは原則2.0で動くといいな、って感じ。
合計1万行程度の自作スクリプトを 1.8 -> 1.9 に移行した経験からすると、 Rubyコードレベルの移行の手間は、全然大したことなかった。 問題だったのは、M17Nに対応できていないライブラリがあることだった。
ライブラリの問題はあるねえ。 gemでバージョン非互換のライブラリが 入っちゃったりすると、動的言語だけに 面倒なことになる。 正直、作り捨てられている古いライブラリが非常に多い。
>>310 「公の規格がないと政府とかでは採用しにくいけど、
規格化のせいでRubyの開発に制約が生まれたら本末転倒だよね」
ってことで、最小限のサブセットのみ定義したんだっけか
政府主導で何かすると急速に廃れていくのが怖い。
年金大腸の電子化で大失敗してるからな
>>318 >年金大腸の電子化で大失敗してるからな
あれは同音異義語、結婚&離婚後の苗字の変化、旧字体・新字体、
パソコンで扱えない文字などがからまって複雑化した。
もともと、国民総背番号制を採用していたら、まったく問題なかったのにな。
データベースを作るときは、一意のキーを作る。
それを、国民のプライバシーがなくなる、国民を監視するな!
とか言って反対していたヤツが悪い
日常生活だって「荻原さん」「萩原さん」を間違えたり
「阿部、安部、安倍」「北澤と北沢」の違いがあり、
「かおる、かをる、かほる、カヲル」という表音文字もある。
>>318 失敗はだれにでもあるが失敗を反省して次に生かす謙虚な姿勢が年金機構には無いよな
まともに機能していない名寄せ作業だけでどれだけ損害出してるんだか
ren4に無駄を削ってもらうべき
ITに限らないが本来職人を大切にする日本で実装者では無くホラ吹く奴が 力を持ってしまったことが間違いの根源だろ
自称職人の土方も多いけど…
年金台帳って、すでに間違ったデータしか存在しないのに、 舛添さんが、「がんばって直す」とか言ってるのがなんとも可笑しくて和やかな気持ちになった。
>>323 エンジニアなら「すでに間違ったデータしか存在しない」とか
いい加減なこと口にするなよ。
莫大な年金データのすべてが間違ってみたいじゃないか。
全件照合するらしいじゃん。 つまり、間違ってるところと正しいところの区別もつきませんぽwってことだん? それって全部間違ってると言えるよね。
え、おまえの担当してるシステムって、 全部のデータが正しいって言えるの?どういう根拠で?
>>326 324や325じゃないけど、たしかにその通りなんだよなあ。
データじゃなくてプログラムでもそうだけどさ、いくらテストしたところで
それはテストした範囲ではうまく動くというだけで、間違いがないことを
証明したわけじゃないんだよね。
なんというか、いくらテストしてもきりがない感じがしてもういや。
>>326 うちのシステムは知らんが、
年金台帳に関しては、年金納めてる本人に定期的に確認したり、入力をジャーナリングすればいいんじゃね?
>>327 テストした範囲が要求仕様を満足すればきりが無いわけじゃぁない。
そういう考えは甘え。ソフトウェア開発が馬鹿にされる要因の一つ。
ごめん、今日はすごく心が荒んでる。
>>328 定期的に確認できるってことはそのデータは正しいってことだよね
間違ってるデータなら本人に確認できない可能性もあるよね
元々は正しくても引っ越しとかして届けが出されなければ、そのデータは間違ったものになるよね
>>325 えーまだやってなかったの?
今まで何年かやってた作業はなに?
作業してたフリだけしてたん?
>>327 特に ruby なんかはそうだね
総てのコードの条件分岐なんか末端まで到達するテストプログラムを書かないといけない
つまり異常系のテストなんて予測付かないのに予測しないといけない
> 特に ruby なんかはそうだね ↓ > 総てのコードの条件分岐なんか末端まで到達するテストプログラムを書かないといけない > つまり異常系のテストなんて予測付かないのに予測しないといけない 全く繋がらない件
Rubyのというより動的言語の特徴だな
異常系の処理を言語がサポートしてたら、動的静的関係ないだろ。 ていうか言語がサポートしてなくても、ビジネスロジックとして異常系のチェックは必要なんだから、 異常系のロジックは作り込まざるをえないわけで、言語と関係ないな。
異常系の取り回しで、例外処理や戻り値チェックのほかにもっと違う方法ってないのかな? うまくいえないけど、異常系って割とパターン化してる部分があるし、DRYじゃないなぁ、と。
> 特に ruby なんかはそうだね ↓ > 総てのコードの条件分岐なんか末端まで到達するテストプログラムを書かないといけない ↓ > つまり異常系のテストなんて予測付かないのに予測しないといけない 全く繋がらない件
元の話題は異常系うんぬんじゃなくて、 入力された住所の番地が違うからって コンピュータが間違いだと判断できるわけないだろ という単純な話なんだけどな。
>>333 たぶん静的な言語なら末端まで到達するテストプログラムを書かなくて済むと
勘違いしている残念な人
>>334 ここにも残念な人が。。。
>>336 AOPとか?
>>336 ソフトウェアアーキテクチャの問題になるけど、レイヤを分けることかな。
Ruby 1.9.2の不具合見つけた a = lambda{ a.call } a.call procの無限再帰すると無言で落ちる 1.8.7だと stack level too deep (SystemStackError) がでる
>>342 それはたしか現状やむをえない、という話をruby-devで読んだ記憶がある。
つんまりRailsで立ち上げて流行ったらJavaに置き換えてつつ運用が最強なんかえ?
というかエンタープライズ用途では使えないって散々言われてたのに 今更かよって感じでしょ もともとBasicみたいな教育言語だしVBみたいに進化すれば 商用でも使い物になるかもしれないけど
>>345 「Ruby前提で採用されたエンジニアが山ほどいるんで」
これ嘘だろー。
Rubyエンジニアの募集なんて聞いたことないぜ。
似たようなスクリプト言語が多くなってきたが みんな混乱はないかい? 俺はRuby、シェルスクリプト、vimスクリプトを 前後して書いていたら、脳味噌が爆発しそうになったよ。
そもそもまずmatzはRubyを長生きさせたいと思っているのだろうか 「Rubyが長く続いて欲しい」と真剣に思ってるのは、周りの人間であって matz本人は、Rubyという言語処理系の開発を楽しく続けられれば それでおおむね満足なんじゃないか?
変わらないとやっていけないのかもしれないけど 「言語オタクが開発を楽しく続けている言語」 なことも魅力のひとつなきがする
ひところのgccみたいに勝手にforkして魔改造して本家をドびっくりさせてみればいいんじゃね
言語界の大きな変革(構造化・オブジェクト指向など)が 起きた時だけ仕様追加・変更をし、 それ以外はバグ取り・高速化・安定化に注力してくれれば 企業としても採用しやすいのだがなあ。 供給体制が一つで、そこがフルスロットルで走り続けるヲタ 集団である限り、恐くて採用できん。 JRubyなど他の実装が、どこかで本家と決別してくれるのを 祈るしかないな。
仕様追加しないなんてあり得ない。 企業採用が多いMSの言語だってどんどんバージョンアップしているし C#の既存資産を.NET 1系から2,3系や4系に対応するのは Rubyの1.8系資産を1.9系に移行するのと同じくらい大変だぞ。
すこし確認だけど、 * べっ、別に使ってもらいたいわけじゃないんだからねっ、あんたが好きだっていうから使わせてやってるのよっ。 * うるさい、うるさい、うるさい!私は好きでやってるの。あんたが指図するなんて10年早いわよ! ということでRuby=ルイズ・フランソワーズ・ル・ブラン・ド・ラ・ヴァリエールということでよろしいか?
なに言ってるのか全くわからない
ツンデレっていうか、マジで無関心なんじゃない。
>>360 そうなんだ
.NET 1系で作ったら.NET 1系でずっとメンテしていけばいいと思うけど
IphoneアプリもRubyで作成できると聞いてネットでいろいろ調べております。 実際のところ、まだまだIphoneアプリ開発には使い物にはならない状況なのでしょうか? 将来的には結構未来があるようだったら嬉しいのですが。
誰だそんなめんどくさいこと広めてるの iPhoneアプリの作成経験とバックエンドサーバの構築の経験が豊富だったら可能
「Rubyでもアレができます」系の言説は 「アレ」に熟練してることが最低限の前提条件だったりするな 根性入れたい人向け
ギャグでやってることを本気されるのってどういう気分なのかなぁ。 RubyCocoaとか組み込みRubyとか…w
>>359 こういう意見を最近よく見かけるけど、
本気で言っているとしたらかなり頭が悪い。
>>368 ギャグではない
テックプレビュー的側面が強いが真面目だ
基幹業務に利用できないものを全部ギャグだというならプログラミング止めたほうがいい
秋だな…
なんでこの試験、新しいGoldとかいうのまで1.8系のみなんだよ
どうせなら向こうに書いてくれんか
JIS/ISO Rubyが1.8系ベースだからじゃないの。
>>364 そのとおり。
だから
>>359 にRubyでも1.8ならずっと1.8でずっとメンテしていけばいいだけ
と言いたかった。
10年前の古いRubyで動くCGIメンテしたいやつ挙手!!!
保守だけってのは言語に限らずあんまり人気ないだろ。
C#ってあほだな
>>380 > 名前付き引数がVBにあったというのは衝撃的
これって、ぶっちゃけ引数が馬鹿みたいに多かったから、という気がしないでもない
なんつーか、GUIのプロパティ的な引数が
昔VB使ってたけど、あってもあんまり使わなかったな 関数とかメソッドの引数はIDEがスムーズに表示してくれたから。 わざわざタイプ量を増やすことはなかった
>>380 どうせ比較するならPowerShellの方が面白いと思う
あれの引数処理は変態
PowerShellのスレってないな 話題にならないほど簡単なのか、単にはやってないのか
Passenger3って何が変わったの?
「終わってみるべき」の話なんだけど別にRubyが廃れたら廃れたでそれでいいんじゃね?と思うぞ。 廃れそうなもんを残すことは悪やん。 科学技術は廃れはするが絶滅はしないんだからさ。さ、終わろうか。
まずお前から終われよ
Rubyは理想を追いすぎたかも 既存のスクリプト資産に対して冷たい Perlの配列(リスト)の仕様がひどいからといって、 仕様変更したら、大変なことになる。
rubyは過去を振り返らない。
米Microsoft、IronRubyおよびIronPythonをコミュニティに移管
http://sourceforge.jp/magazine/10/10/25/0552209 自分は Java 経験者なので JRuby には関心があるし、
JRuby の CRuby に対する互換性には満足しているけど、
IrunRuby はどうなんだろう?
Windows 版 Ruby が遅いと言われているけど、
IrrunRuby の互換性が上がり、速度も速くなったら、
Windows での Ruby 開発は IrunRuby で! みたいな日が来るかな?
(来ないか・・・・)
MSが「好きな奴らがやってよ.もうカネ出さないけど」と 投げ出しただけ.
複数ある最大値のインデックスを返せ irb(main):001:0> x=([*"A".."D"]*2).shuffle => ["C", "A", "B", "B", "A", "D", "C", "D"] irb(main):002:0> x.each_with_index => #<Enumerator: ["C", "A", "B", "B", "A", "D", "C", "D"]:each_with_index> irb(main):003:0> x.each_with_index.to_a => [["C", 0], ["A", 1], ["B", 2], ["B", 3], ["A", 4], ["D", 5], ["C", 6], ["D", 7]] irb(main):004:0> x.each_with_index.max => ["D", 7] irb(main):005:0> x.each_with_index.max[1] => 7 irb(main):006:0> x.each_with_index.with_object(x.max).select{|(v,i),max| v >= max}.map{|(v,i),max| i} => [5, 7] irb(main):007:0> RUBY_DESCRIPTION => "ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-mswin32]" irb(main):009:0> x.each.with_index(1).with_object(x.max).select{|(v,i),max| v >= max}.map{|(v,i),max| i} => [6, 8] 二回走査してしまうけどな
http://twitter.com/yukihiro_matz/statuses/29317109670 yukihiro_matz: 英語圏でRubyとPythonを比較する記事を見ることが少なくなってきた
のは、RubyとPythonでクラスタが分離してきたからか。逆に日本語でRubyとPythonを
比較 する記事を見かけるのは国内でのPythonの地位が向上したからか。
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高にアホだお
\ ` ー'´ //
/ __ /
(___) /
>>399 そんなに間違ってないと思うけど
英語圏ではRubyはweb関係のライブラリは豊富だよね
Pythonは幅広いジャンルで使われてる。
日本でもGAEが出てきてからPythonの日本語の情報がかなり増えた
∩_ 〈〈〈 ヽ ____ 〈⊃ } /⌒ ⌒\ | | /( ●) (●)\ ! ! / :::::⌒(__人__)⌒:::::\| l | |r┬-| | / <こいつ最高にアホだお \ ` ー'´ // / __ / (___) /
嫉妬すんなよmatz
涙目でAA貼るmatzワロス
こんな奴を名誉市民にする島根とか馬鹿スw
「るびーのまち、よなご」
2009-10-07 松江市は6日、プログラミング言語「Ruby(ルビー)」を開発した まつもとゆきひろ(本名・松本行弘)氏を名誉市民に選んだ。ルビーが 国内外のIT(情報技術)業界から注目を集め、市内にソフトウエア会社が 進出するなどまちづくりに貢献している点を評価した。同市が名誉市民に 現役の人を選ぶのは異例で「ルビーのまち」として市をPRする狙いもありそうだ。 まつもと氏は大阪府出身。97年に松江市内のソフト会社に転職して市民になった。現在44歳で最年少での選定。 市では「企業進出につながるなど既に大きな功績があるほか、今後も全世界に 松江から情報発信してほしいとの期待を込めた」(総務部)と話している。 今回、名誉市民に選んだのはまつもと氏と人間国宝の紙すき職人、 安部栄四郎氏と前市長の宮岡寿雄氏。選定は05年の市町村合併後では初めて。 合併前には小説家の小泉八雲(ラフカディオ・ハーン)ら21人を選んでいる。
Object.superclass => Matz
通常、Rubyを使うことそのものが目的でない限り、 Rubyで書いたプログラムは短命であるほうが望ましい。 by じっちゃん
Ruby は読みやすいけど Rails の読みにくさは半端ない
Rails-coreの人たちってすごいよな。
△ Rails-coreの人たちってすごいよな ○ Rails-coreの人たちって変態
◎ Rails-coreの人たちってすごい変態だよな
おそらく褒め言葉として受け取ってしまうであろう
基本褒めてると思うぞ モノを見れば一目瞭然だ 馬鹿にしてると思ってる人はただの馬鹿なのでほっとけ
馬鹿にする気持ちは無いけど、付いていけないな...というのが本音。 リフレクションの限界は既に20年前からLisperにとっては公知だった訳で、 趣味でRailsと遊ぶのなら全然かまわないけど、もしも業務で Railsアプリの保守をヤレ!!なんて言われた日には涙目になると思う。
どちらかというと人間の限界なんだよなw 書いたものを読めない奴が馬鹿なのか 読めないようなものを書く奴が馬鹿なのか・・・
>>418 その理屈でRailsの保守は涙目というならわかるが、
なんでRails上で作られたアプリの保守で涙目なんだよ
Railsでアプリ作るのにリフレクションなんてほとんど関係ねーよ
リフレクション志向言語が必要だな。
>>420 システムが正常に動いている間はいいけど、もし何かトラブルが発生したとするよ。
そうした時、問題の切り分けを進める為には、Rails内部のコードまで掘り下げて調査して、
その結果「自分達の業務ロジックに誤りはありません」あるいは「バグでした」という
表明をする(=障害対応報告書を書く)必要があるよね。
自分も、過去に一度だけ(興味本意で)ActiveRecordのコードを読もうとしたけど、途中で降参した。
すぐそばにRails熟練者がいてすぐQ&Aできる環境にいればいいけど大半の人はそうじゃない訳で、
そんな環境下での保守業務って、おそらく過酷な精神状態になるんじゃないかと想像する。
(自分はUNIX Cのバッチ系アプリが主体でWeb開発を体験してないから、あくまで想像にすぎないけどね)
railsの中の人に聞いちゃいけねーの?
>>422 Rails本体の不具合であれば、ググれば大抵は他の人が同じ問題にぶち当たってるよ。
>>421 だから、Lispとかは「S式 = プログラム = データ」だから、メタプログラミングも
リフレクションも(原理的に)Rubyとは比較にならないほど、柔軟性があるわけ。
ただ、これが非常に難解な代物だということが経験的に認知されて(それが20年前)、
今ではマクロのような「デザインパターン化(=定石化)した」もの以外は、否定的に見られる。
以下は「続ソフトウエア千夜一夜物語」という本(1991年, p202, 共立出版)からの引用。
.... だいたい、リフレクションなんて、生物の類推からいえば宇宙怪獣みたいなものだ。
一瞬にして変態してしまうかもしれないし、そもそも、拡散とタンパク質でできていることさえ
期待できない。こんな奴、現代科学では対抗できそうにない。敵に回せば恐ろしいことになるが、
反面、うまく手なずけることができれば、世界征服だってできるかもしれない(ちょっと、
おおげさか)。こういう化物を手なずける方法があったら、いつかまた報告したいと思う。
さて20年後の現在、この化物をうまく手なずけることは可能なのでせうか?(そんな言語を実現できる?)
>>422 じゃあ君はJavaや.NETで開発してトラブルに遭遇したら逆コンパイルするのかい?
この世のすべてのプログラムがソース公開されてるわけじゃないのだが。
DBが怪しかったらベンダーにお願いしてソースをもらうの?
想像でもいいけど、もうちょい想像力を使った方がいいと思うよ。
オープンソース的には、解からんなら使うな、直せんなら使うな、でそ。 オープンソースのライブラリを仕事で使う際の予算には、そのライブラリ自体の開発・保守費用も入れておくべきだわ。
それじゃみんな商用使うだろw
>>422 Rails がダメなら、何を使えば良いのでしょうか?
Rails に影響を受けた、動的型付け言語のWebアプリケーションフレームワークは
軒並みダメということでしょうか?
cake使っとけ
>Rails に影響を受けた、動的型付け言語のWebアプリケーションフレームワークは なんで動的型付けだけ?
「オープンソースはいざというとき自分たちで直せるから安心」 とか雑誌あたりに載ってる内容を真に受けちゃったんだな。
それ自体は間違ってはいないし強力な利点だけどな ただ、サービスやプロダクトとして売るときにどうなるかについての予測が弱かったというか
直せるスキルがあるかも考えずに手を出した
gem のライブラリとか、個人が書いたものが殆どで、ドキュメントも申し訳程度でも あればまだましなぐらいなレベルだったりするから、嫌でもソース読む羽目になると思うけどな。 ruby で書かれているから、まあ読み易いほうだし。オープンソースって、自分出直せる側面よりも、 貧弱なドキュメントの言い訳に提供されてるんじゃないかとさえ思う。 「一番確実なドキュメントはソースだ」っていうやつだ。 .NETは知らんが、Java もライブラリのソースは大概あるし、ソース入れておくと色々便利だよ。 VCLやQt とかソースがあるとデバッガーでそのまま追えてかなり重宝する。
>>426 ベンダーのせいにできるだろ
それも価格のうちだ
検証はどこかで打ち切れないと人間もたないよ
>>422 アプリでのActiveRecordの挙動の不具合が直せなくて、小一ヶ月近く悩んだことあったわ
テスト書きまくって、コアのソースも読みまくって結論がプラグイン同士の競合だった
プラグインに手を入れて直そうとしたが、プラグイン単体のテストはエラーでないし、
新規プロジェクトでも再現しなくてまたハマり
今でこそすぐに再現用のテストを書けたり、
Railsコアの挙動を前提に書かれているプラグインが競合しやすいというのはわかるようになったが
何か合ったら不具合の当たりをつけて、Railsコアのissue、プラグインのissue、Rubyのissueはまずチェック
最新版やパッチが提供されていることは多々ある。
解決していないとかパッチはなくても同じ不具合出している人はいることもある
楽なのは明確にエラーが出る時だね。大概は(海外で)先に引っかかっている人がいる。
Rubyをちょっと知っていても、Webアプリ(とWebフレームワーク)のデバッグ、
Railsのデバッグにも慣れないと大変だよ。
とはいえだよ、こういうのはRailsに限った話なのか?とは思うよ
Webアプリを長年やっていたり、Railを1.0前からやっている人が周りに入れば
簡単に解決したんじゃないかな?と思う問題がけっこうある
>>426 大きめの開発の会社の知り合いが同じこと言っていたよ・・・
彼が言うには、OSやライブラリのベンダーに金払ってサポート契約してバグあると投げられると便利だと
プロジェクトがバグで大ハマリして頓挫するまでいって、
ベンダーに投げたら原因がわかりなんとOSのバグだったなんてことが
(ここであえて言わない方がいいのかもしれないがWindowsのバグw)
仕事だとどうしても先に進まなければいけない、一ヶ月なんてはまると損失がでかくなる
そんなときに、ベンダーでサポートしてもらえると、既知のエラーかもしれないし、
少なくとも自分達が原因かどうかくらいはわかる、そしてそれが自分たちの作業とは並行してできる。
そこに金が出せる(くらいの規模の)会社だと、いざというときにいいって言ってた
言うことはわかるし、問題の切り分けもしやすいだろう
ただしそんな金があるならね・・・
ただ、書いて思ったがこれはRailsやオープンソースだから駄目って話では全然ないな。
>>434 いや、実際そうだよ、、、
・英語アレルギーあるならRailsはやめとけ
・いざというときにRubyやRailsのコアのソース読むための時間(=金)とれないならやめとけ
・本しか読めない開発者が多いならやめとけ
馬鹿にされるかも知れないが、
>>434 のレスが結論として非常によくまとまってる
>>435 いやでも、ドキュメントが少ないのは
「一番確実なドキュメントはソースだ」という文化というより
開発者のリソースが少ないだけではw
ソース見せる側も「どーせお前らに読めるわけねえだろw」って感じで公開してるんだろうし 実際それはコピペで再利用できるような次元の代物じゃない ドキュメントない都合いい言い訳に利用されてる気はするよ
「一番確実なドキュメントはソースだ」とか仕事で本気で言っている奴がいたら しめ出すわ 世の中いわゆるハッカーばかりじゃねーんだよ。
>>443 > 彼は普段から「ソースがドキュメントだ。バグも完全に記述されている」と主張しているが、誰も受け入れない。当り前だ。
誰も受け入れないwww
でもまあ長ったらしいドキュメントとソース読む手間とあんま変わらん気はするんだよなw 関数リファレンス程度で十分だ
447 :
デフォルトの名無しさん :2010/11/09(火) 00:34:45
テストがドキュメント替わりだ!テストを見れば挙動がわかる!! ↓ ごめん、rspecって何?きゅうり???
>>447 >コードがドキュメントなら、プログラマがコードをクリアで読みやすくするよう努力することが重要となる。
>「コードがドキュメントだ」ということは、「特定のコードが良いドキュメントだ」ということじゃない。
>どんなドキュメントでもそうだけど、コードだってクリアにもなれば、ごちゃごちゃになることもある。
>コードだから他のドキュメントよりもクリアになる、ということもない。
中略
>コードが読みにくいのは、コードのことを真剣にドキュメントとして扱ってないからじゃないだろうか。
>コードをクリアにしようという気がなければ、勝手にクリアになるわけがない。
>コードをクリアにするための第一のステップは、「コードはドキュメントである」と受け入れることだ。
>それから、コードをクリアにしようと努めること。
>諸悪の根源は、プログラムを始めた頃に教えられたことにまで遡るのかもしれない。
>私の先生達はコードをクリアにすることをあまり強調していなかった。重要視してなかったようだし、
>その方法についても話してくれなかったしね。業界全体としては、もっとコードがクリアなことの価値を強調すべきだと思うよ。
いいこと言ってるじゃん
ソースに int x int p if( OK ) とか無造作に変数置いてあるようなのを見てそれをドキュメントとみなすのは無理がある ドキュメントになるくらい詳しいソースでなければならない
シグニチャ周辺を一見したときに、そのメソッドがどんな例外を上げるのかすぐに解らんのがつらい。 例外処理はプログラムのロジックに大きく関わるのに、それがぱっと見えないのはつらい。
>>452 それはたしかにRubyに限らずスクリプト言語の弱点といえるね。
Javaのようにいちいち例外クラス名を列挙しなくて済むことと、ひきかえ。
解決策はとくに思いつかない。
どんな例外だすかくらいソースにコメント書いとけよ そうでなければソースがドキュメントなんて言うな
コメント書くくらいならドキュメントを書いてよw コメントは読まれることやメンテされることを期待しちゃだめなメモ書きじゃぜ。 コメントとは「腹減ったよぅ…」とか「ゲイツのバカ」とか書かれてる、そんな殺伐とした領域。
rdocコメントの話じゃねーの?
artonさんって日本人なのな。
まあ紛らわしいハンドルが多いことは否定しない 日本語ある程度理解する外国の人とかも多いし
Yuguiさんって女性なのな。
そんなことより鳳たんの話をしようぜ!
MLとか読み始めたとき、artonとaaronはごっちゃになってたわ
>>452 >例外処理はプログラムのロジックに大きく関わるのに、それがぱっと見えないのはつらい。
これ、もうちょっと詳しく語ってほしいな。Javaかなんかを使ってる人なんだろうけど、
他の言語からみた改善してほしいポイントはもっと知りたい。叩きはなしで。
うーんでも、トレードオフな問題に対して「改善」なんて出来るのかなぁとも思ふ。 Ruby的には、どんな例外が上がるなんて事はドキュメントで補ってよってスタンスなのであって、 「でも書くのめんどいし…」に対しては高機能なドキュメント自動生成ツールでも使ってよってのが現実的な解だとおもうべ?
>>462 Javaという言語は例外クラスを大まかに
「捕捉しなければならないもの」と
「捕捉のしようがないもの/捕捉することが必ずしも推奨されないもの」
の2つに分けてあって(親クラス見ればどっちか判る)
「捕捉しなければならない例外」は
素直に例外処理を書くか
メソッドの宣言に明記して呼び出し元に捕捉を強いるかの
どちらかを選択しなければならない
どちらもしていないコードはコンパイラに文句言われる
例えばIO処理なんかは大半が捕捉必須になってる
まあ、そのせいで初心者向けの説明コードとかに
なんにもしない例外処理が書かれたりして
微妙な評価も受けているがw
補足を強制させられる例外ってのは 割と新しい概念じゃなかったかなあ この点で、当時のJavaは妙に最先端な仕様だったはず ただ、それが良いのかは微妙 後発言語でも、C#のようにチェック済み例外を導入しなかった言語もある そもそも例外自体を削ってしまった言語もある
>>466 >後発言語でも、C#のようにチェック済み例外を導入しなかった言語もある
これって理由あるんだっけ?もし知ってたら教えて!
Googleのコーディング規約で例外つかわないとあったが、
Goもないんだな
> Why does Go not have exceptions?
>
> We believe that coupling exceptions to a control structure,
> as in the try-catch-finally idiom, results in convoluted code.
> It also tends to encourage programmers to label too many ordinary errors,
> such as failing to open a file, as exceptional.
> Go takes a different approach. Instead of exceptions,
> it has a couple of built-in functions to signal and recover from truly exceptional conditions.
> The recovery mechanism is executed only as part of a function's state being torn
> down after an error, which is sufficient to handle catastrophe but requires
> no extra control structures and, when used well, can result in clean error-handling code.
> See the Defer, Panic, and Recover article for details.
FAQ - The Go Programming Language
http://golang.org/doc/go_faq.html
>>467 というより大勢から見れば”変”なのはJavaのほうなので、
問題なのはむしろ「なぜJavaはチェック済み例外を導入したのか」
って事だと思う
まあ意図としては分からんでもない
大域脱出を含めた、メソッドから戻ってきた場合すべてについて
振舞いを静的にチェックして文書化させたかったのだろう
それが完全にうまくいけば、C#も当然導入したんだろうけどね
>最近、多くの人の尊敬を集めているBruce EckelやRod Johnsonといった何人かのエキスパートが
>次のように公式に述べています。つまり、自分たちも当初はチェック例外に関する正統的な立場を
>完全に支持したのですが、結論として分かったのは、チェック例外のみを使うのは当初思われていた
>程には良い考えではないこと、またチェック例外が、多くの大プロジェクトで重大な問題の元になる、
>ということなのです。
Javaの理論と実践: 例外をめぐる議論
http://www.ibm.com/developerworks/jp/java/library/j-jtp05254/
め、めんどくへえ…
頭いい人らが真剣に考えても上手く行くとは限らないんだねえ 当たり前のことだけど
例外処理はメモリーのGCによる自動処理で簡潔になるはずだった記述の利点を全て相殺して余る 例外も自動処理できたらいいのにな
「チェック例外を使わない」ことと、「例外自体使わない」ことって、似ているようだけど別のことだよね。 前者はわからなくもないけど、後者は信じ難いなあ。 Googleに入ったら例外は使えないのか。余計な心配だけど。
入力、出力、エラー出力の3系統があれば十分なんじゃないかな。 例外は解決するまで呼び出し階層をどこまでもゴルァするシロモノなんで、異常系のpathが増えてスパゲッティになり得るし、 呼び出し階層の深ーいところで発生した例外を、呼び出し階層の浅ーいところまで持ってこられたところでどうしようも無いわけで、 どうしようもない問題をたらいまわしにすること自体が邪悪で無駄な処理なわけで、 そいじゃ、影響範囲が直近ですむエラー出力で良いじゃんと。
チェック済み例外は正義じゃなかったとはね。 若い頃一所懸命理想を語ってたのが恥ずかしくて身もだえしそうw
自分の頭で考えたことならいいじゃないか 単にどこかの情報をオウムのように繰り返して得意になってたのなら恥ずかしいが
頭のいい人が、頭の悪い人の行動パターンを予測するのはなかなか難しいからねえ。 馬鹿でモリ買い出来る様に作るくらいなら自分で作ったほうが早いに成りがち。
mixがよくわからん。 簡単かつ良さが解るサンプルを見せてほしいな(///)
今後は動的型付けお仕事言語へとまっしぐらなのかそうなのか
動的に型付けるだけの簡単なお仕事
例外が便利なのは、エラーチェックをし忘れてても、実際にエラーが発生したときにそれがわかることだよな。 C言語だと
fp = fopen("file.txt", "r"); if (! fp) ... みたいなことをいちいち書かなきゃいけなかったけど、例外がある言語ならそれがない。 だから、Goに例外がないというのが信じられない。 Goではいちいちエラーチェックしなきゃいけないの?
485 :
デフォルトの名無しさん :2010/11/16(火) 05:54:13
例外はそのうち付くんじゃない?
google のコード規約では C++ でも例外禁止だし付かないだろ
Googleは関係ないだろ とりあえず例外よりも構造体にメソッド生やせるようにしてくれ
ロクにぐぐらずに質問するけど、yardocってこの1年でなんかすっごい進展とかあった? メソッド引数をとりあえずマニュアルに列記してくれるとか
>>488 >>468 に書いてあるのは、Goでは例外処理とは違う機能を用意しているという説明であって、
いちいちエラーチェックをしなきゃいけないかどうかは、これだけではわからない。
>>468 を訳してみたけど、わけわかんない。だれかたすけて。
> Why does Go not have exceptions?
なぜGo言語には例外処理機能がないのか?
> We believe that coupling exceptions to a control structure,
> as in the try-catch-finally idiom, results in convoluted code.
> It also tends to encourage programmers to label too many ordinary errors,
> such as failing to open a file, as exceptional.
try-catch-finally イディオムのような例外処理機能を制御構造に加えると、結局はこんがらがったコードになると、私たちは確信しています。
また例外処理機能は、たとえばファイルをオープンするのに失敗したなど、非常にたくさんのよくあるエラーを、例外というラベルをつけてしまうのを助長します(意味不明)。
> Go takes a different approach. Instead of exceptions,
> it has a couple of built-in functions to signal and recover from truly exceptional conditions.
> The recovery mechanism is executed only as part of a function's state being torn
> down after an error, which is sufficient to handle catastrophe but requires
> no extra control structures and, when used well, can result in clean error-handling code.
Go言語は違うアプローチをとります。例外処理機能のかわりに、本当に例外的な条件のときにそれを知らせる(signal)のと復帰する(recovery)ための、2つの組み込み関数を用意しています。
復帰するメカニズムは、関数の、エラー後にトーンダウンする状態の単なる一部として実行されます(これも意味不明)。
災害を処理するにはこれで十分ですが、他に余計な制御構造を必要としません(なぜ反意の接続詞butが出てくるのかわからない。andでいいように思う)。
またうまく使われた場合は、エラー処理のコードがクリーンになります。
> See the Defer, Panic, and Recover article for details.
詳細は、Defer, Panic, and Recover という記事を見てください。
エラー処理がイベントハンドラみたいになってるんだろうか
いやふつうにGoのガイドなりマニュアルなり読めばいいんじゃねえの
try-cacheを使うと混乱する。ファイルエラーだって複数あるのに、例外という 1つのラベルで扱う傾向にしてしまう。 try-cache例外処理の代わりに、呼び出すシグナル(割り込みとかコールバックだろ?)と リカバリのメカニズムだけを実装した。復帰は関数のリカバリ処理の一部として実行される。 例外処理はこれで十分で、他の制御構造は必要ない。上手く使えばきれいなコードになる、 ---------------- と言っているんだろ?
>例外というラベルをつけてしまうのを助長します これは、エラーにも色々あるけど例外があると全部ひっくるめて「例外」にしがちだから不味いよねってことじゃね? 極端に言えば「エラーは全部 throw new Exception(); みたいにやっちゃう。クソだ」みたいな。 エラー処理まわりはリトライ可能か否かで分けられるのがいいなーとか try { } catch { if () retry; // 条件整えて try の頭から再実行 else fatal; // お手上げ } みたいな
なんで肝心の原文無視で勝手に解釈するんだよw どこにもそんなこと書いてないだろ
だって原文見てないもの(キリッ
begin # あ rescue FooException # め rescue BarException # ま end そう言えばこれは型チェックとは言わないのけ?
↑これGoldの問題に出ます
ネトヲチはネットWatch板へ
環境はwindowsです argv[0]で1a:3333,111,999a\ のような文字列を受け取って、 rubyプログラム内で扱いたいのですが、うまくできません。 原因を確認するためにirbを起動してargv[0]を仮想的に当てはめて、 a=1a:3333,111,999a\\ なんてやると当然怒られるわけで。 最初からa="1a:3333,111,999a\\" で扱うのはアリですか?
>>506 ARGV.unshift "1a:3333,111,999a\\"
コマンドラインオプションが上手く取れないのはcmd.exe上での
エスケープを間違えてるからじゃない?
個人的にシェルのエスケープは泣きそうになることがたまにある なんでbashとかあんなにエスケープさせるんだ 高機能なのも善し悪しな
>>507 今手元に動作環境がないので大変申し訳ないのですが、
zzz.rb 1a:3333,111,999a\\
を実行したときに、zzz.rb内で
z=argv.unshift[0]
を記述していれば良い、という解釈でOKですか?
cmd.exe は \ をエスケープしない、っていうかしてないだろ普段から どの文字をエスケープ文字にするかは処理系が決める 「この文字はどこでもエスケープ文字」などということはない ちなみに cmd.exe のエスケープ文字は ^ で、これを引数から入力するには2つ重ねる必要がある C:\>ECHO ^ More? 123 123 C:\>ECHO ^^ ^
エスケープする仕様だったら、パス名書くたんびにしなきゃいけなくなるものな。
というかcmd.exeは自身ではあんまり引数に構ってない C言語とかのコンパイラ(この場合、リンカ?)が気を利かせて エスケープを解釈するコードを埋めてたりするけど
bash使った後、cmd.exe使うとシェル使いにくさに壁殴りそうになるし cmd使った後、bash使うとエスケープ戸惑って壁殴りそうなので bash.exeください
powershell使えよ
ruby使えよ
csh遣いの漏れは価値組のようだな。
ログインシェルをdashにして「多窓screenしても「dash+emacs」や「dash+irb」になるからメモリが安心!」とか言ってたが screen上から screen irb とかやるとログインシェルなしでirbだけ別窓起動することを知って呆然とした俺が真の勝ち組
…、おお…
えっ
最近プログラミングすると頭が疲れて10時間くらい眠り込んでしまうんだけどこれは一体なにかの病気なんだらうか…
ただの加齢
25歳までにプログラミング用体力を養っておかないと30過ぎてから何もできなくなる 若いうちにトレーニングして基礎体力作っておけば30過ぎてもマラソンできるとかいうのと完全に同じ理屈 筋肉が疲れるか脳が疲れるかの違いでしかない
30過ぎてからプログラミング始めたけど別になんともないな
物は壊れる。人は物であり、ゆえに壊れる。 鍛えるということは、壊し、修復力を消費する。 修復力が尽きたら終わり。 適切に、動かないようにしている人の方が長く生きる。
ところが身体ってのは面白いもので、動かさないと あ、この機能いらないんだって、退化させるんだよ 退化した機能で長生きはやっぱりできないわけだ
脳も使わないと退化するからね
進化・退化というよりも、老化による性能低下を補うために、ある種の最適化が働いている気がする。
オハヨー oノハヽo ∩*・ 。.・) ヽヽ /(___ / ̄i、_(____ノ  ̄ ̄ ̄ ̄ ̄ ̄~
最適化レベルを最大にした場合、それはニートと言えるだろうか。
matz氏が使う引用符「|」がiPhoneのメールアプリでちゃんと引用と認識してくれないんだなこれが。 (#゚Д゚) プンスコ!
着拒すれば?
c
マルチうざい
RSpec 1 -> 2 の互換性がひどい…… メソッド名もクラス名もまとめて変わってて Rspec 1対応のRakefileが、RSpec 2では普通に読み込めない (NameErrorやNoMethodErrorで落ちる) cgi.rbの互換性にも悩まされたけど、この極悪さはあのcgi.rbを超えてる
バージョン1使えば
d
>>536 公開して、他の人がそのRakefileを使う可能性があるときにはどうするんだ
e
なんとなく思ったんだけど、テスト作るのめんどいときに、 ライブラリの利用者が書いたプログラムをテストコードとして利用する仕組みってないのかな?
その利用者のコードはどこにあるんだ?
ていうか「普通」はエラーも障害もなくプログラムは実行されるわけで それをして通常系のテストコードとみなして最低限のテストとするのではなんかいかんのかいのう
http://journal.mycom.co.jp/column/ide/095/ http://j.mycom.jp/column/ide/095/images/002l.jpg RedcarはRubyで開発された拡張可能なテキストエディタだ。
Rubyといっても実際にはJRubyで動作し、ユーザインタフェースについてはSWT
(Eclipseで使用されているGUIツールキット)を使用している。そのため、
動作にはJava実行環境も必要になる点には注意してほしい。
Redcarはタブ型のエディタだが、任意のディレクトリをツリー表示することができる。
エディタの表示部は分割することもでき、エディタを並べて表示することも可能だ。
-----
プラグインで拡張できるみたいで、一瞬JavaのOSGiかと思ったけどなんか違う。
独自のプラグイン方式なのかな?
ところでRubyにもOSGiに相当するモジュール化フレームワークってあるんかいな?
結構、需要ありそうなんだがのー。tdiaryとかhikiとかも独自だよねい?
>>544 >ところでRubyにもOSGiに相当するモジュール化フレームワークってあるんかいな?
OSGiとやらについて、思う存分語ってくれ。許してつかわす。
さらっと調べたけどアプリにプラグインを組み込むためのフレームワークみたいなものかの
ダイナミックなモジュールシステム、OSGiを始めよう
http://kompiro.org/osgi/ Rubyのレベルで言えばRubyGemsがそうかな。アプリのプラグイン用途にも使える。
Webアプリなら最近はRackベース作られているのもある。Rackに準拠すればRailsやSinatraでも動かせるとか。
ruby -r debug hoge.rb としたときの、ブレークポイントの設定方法がわからん。 b ファイル名:行番号 でやっているんだけど、ちっともうまくいかない。 なにかヒントください
b hoge.rb:4 で普通に設定できたけど? 余計なことを言うとgemのruby-debugの方がソース中に breakpoint と書いときゃいいだけなので楽
自己レス
>>547 b file.rb:123
ではなく
b ./file.rb:123
だったorz
なるほどね、わかってみれば納得だけど、こりゃ気づかんわ。
もしかして1.9で$:から.が抜けたのと関係してる?
事情はわからんがコメント欄を見るとなんかの争いがあったのか? mongrelのときもそうだったが、 重要ソフトの開発者がその手のことでおりてしまうのは非常に残念だ
プログラマってそんな傾向だぞ。 ゲリラ的に公開して、いざ採用されて議論や調整が必要に成るとモチベーション低下でぶん投げ。
人間関係はプログラミングできないからなぁ
>>553 それはプログラマ無関係だ
もしそれがプログラマ固有のものだと考えるなら、パソコン捨てて街へ出ろ
お前は仕事でモチベーションさがったからってぶん投げるのかよw
投げる前に首吊る奴の方が多いだろうな
∧||∧ ( ⌒ ヽ ∪ ノ ∪∪
Version 0.0.1βみたいなのをRAAにあげて放ったらかしにしてる人はごめんなさいしなきゃね(´・ω・`)
∧∧ /⌒ヽ) もはようちゃん i三 U 〜三 | (/~∪ 三三 三三 三三
>>559 〈 ドモッ、スミマセン....。 〈 スミマセンスミマセン...。 〈 コノトオリデス!
∨ ̄ ̄ ̄ ̄ ̄ ̄ ∨ ̄ ̄ ̄ ̄ ̄ ̄ ∨ ̄ ̄ ̄ ̄ ̄
(´Д`;)ヾ (;´Д`)
∨) ( 八) (´Д`;)、
(( 〉 〉 ノノZ乙
_,,、 ─‐'''''''''''''‐.、.っ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ,、‐'`::::::::::::::::::::::::::::::::::`、 っ | | ,r.'::://:::::i:::::::::::::::::::::::::::::::ヽ っ | あるgem作者の母です。 | ,/::::::/:::;':i::::::!:::::::::::::::::::::::::::::::::゙、 | | /::i:::::!i:::::::i:::::::i:::::::::::::::::::::::::::::::::::i | ・・・ごめんなさい、 | l:i:i::::l_,|l::!:::i、:::::ヽ:::::::::::::::::::::::::::::::l .| 軽い気持ちで. | !l::!:::|=、゙!`、!`ニ 、::`:::、:::::::::::::::::::::! | gemを登録させた | ヽ:!:l|  ̄`u`、:::::::::::::::::::::::ノ | 私が馬鹿でした。 | |{l 〈 u l:l`irr、:::::::::< _ノ こんな糞gemを | . |ハ 、,,,__ リ ,ヒノ:::::::::::::', . ̄ ̄| こっそりあげていたなんて !!| /7'i、`='" u ' !;::::::::::::::ノ | 私が今日 | . iY/,/,ヘ:、_,、‐'` `'---'" .| こんなことを言ったこと、 | !', , , ノ l ヽ u / | | 作者には | . 〈 ' ' ' / :l `i、 ,/ l .| 黙っておいてくださいね。 | i 'i | !, ,/ l. \___________/ i u ヽ. l ,−'、 /へ l i, }ノイ. ~ Y ゚ ヽ l
コード書くのとプロジェクトを組み上げるのは別の能力なんだな。 両方こなせる人もいるが。
懺悔室はこちらですか?
自分は何もしてないくせに「おまえはこうしなければならない」 みたいなこと言うやつとかいるんだろうな。 おれはとてもじゃないけど我慢できんと思うよ。
× おまえはこうしなければならない ○ このプログラムはこういう動作でなければならない
>>566 > × おまえはこうしなければならない
> ○ このプログラムはこういう動作でなければならない
→ だからお前はそう書くべきだったしすぐ書き直せ
・・・同じじゃね?
569 :
デフォルトの名無しさん :2010/11/29(月) 00:33:28
Rubyは簡単なようで難しい。 まず環境構築が難しい。 GUIが難しい。 言語仕様はシンプルだけどね。 C#は言語仕様はRubyより複雑だけど 開発環境の構築が簡単。 RADもあるしね。
viさえあればプログラムが書けるのがRubyist VisualStudioがないとHelloWorldさえ書けないのがC#使い
C#のコンパイルオプションとかマニフェストとかわかんないお ついでにJavaのクラスパスとかもわけわからない でもRubyはまあ多分それなりに使える ぶっちゃけこんな人も多いと思うんだ これは、Rubyが使える人っていうのが正しいのか、 コンパイル言語が使えない人って言うのが正しいのか
馬鹿っていうのが正しい
多くの人にとって良さげだろうなデフォルト動作をするように作ってあるわけで、 それがよさげに動いたからといって「それなりに使える」と勘違いしている人ってのが正しい。
面倒なのが問題なのか 面倒なのを理解できないのが問題なのか その面倒さは本当に必要なものなのか これらは議論の余地がある
>面倒なのが問題なのか 鬱です。病院へ逝きましょう。 >面倒なのを理解できないのが問題なのか 馬鹿です。プログラミングから足を洗いましょう。 >その面倒さは本当に必要なものなのか 精神障害です。病院へ逝きましょう。
面白いと思って書いてるんだろうな
年末ですので察してあげてください
たこ焼き仮面が何をしたいのか分からなくなってきた。
_whyといい、なんかとんがった人が結構いる(た)なw
マキーノ氏が、 >東大情報H研では100倍速くなる Ruby コンパイラ開発中だそうです。 と日誌に書いてるが、これはどんなもの?
>581 え、俺はニュータイプじゃないから、それは困るよ。
と、見せかけてガンタンクだったりボールだったりするかもよ
>>582 そもそもRubyをまともに扱うにはニュータイプでないと無理そうだが・・・
遠まわしに、Rubyがガンダムだといいたいのだろうが RubyやRailsでWebやネットをひっくり返すようなことなんて不可能だから
しまった。よく考えたらうちの会社Railsでリニューアルしたwebサービスで上場したんだった・・・。
後学のために教えて頂きたいのですが パーセントエンコードってなんですか?
ここで聞いてるよりぐぐったほうが早いんじゃない
「パーセント」文字をなんかどうにか利用して「エンコード」した何かだろう 日本語って外国語の動詞とか名詞とかぐっちゃにしてもそれなりに通じて便利でいいなw
URIにおけるパーセントキャラクタ使用エンコーディング法、とでも言えばいいのかね ○○エンコーディングというべきところを「○○エンコード」で止めてる例は非常に多い レジスターとレジストに次ぐ誤用だと思う URIエンコーディングでもいいんだけどさ
どんまい
>>592 > URIエンコーディングでもいいんだけどさ
“でもいい”じゃなくて
“正しくはURIエンコーディング”
だろ
encodeとencodingで困ったことはないが referとrefernceの違いを意識してない奴が死ねることはある
パーセントエンコーディングは一応RFCにある正式な…正式な…どこだったかな
ここは英語の勉強になるインターネットですね。
600 :
594 :2010/11/30(火) 21:02:57
いつまで経っても進歩のない人たちですね。 英語の話なら最初からカタカナなど使わずに記述してれば無問題なのだし、 カタカナを使った瞬間から、それは外来語という「日本語」になってるのにね。 外来語が本来の原語と相違したからといって、そんなに目くじら立てなくても。
正しい名称を使おうとすることは悪いことではない
本当は URI.escape も URI.encode も誤りで、URI.percent_encode と書かなければならない encode と escape をごっちゃにするのは日本の悪い癖
えすかぺ
てかRFC3986より前のURIエンコーディングとかURIエスケープとか そういうわかった気になるが曖昧模糊な語をまとめた概念としてRFC3986で正式登場したのが 「パーセントエンコーディング」だったはず
Javaだと「わーっはっはは!名前なんて後からなんぼでも変えたらええねん!うりゃー!」 って豪快にかけるけどRubyだと初めから異様に気を使うわ…
名前変更はしづらいよなぁ Emacs/VimではIDEと比べてそこが弱い
いやIDE使っているが動的にごにょごにょすることが多いRailsだとどちらにせよテスト(BDDかTDDかしらんが)書いてないと対応できんぞ・・・ NetBeansでローカル変数の名前変更したら、スコープ外の変数も変えられてワロタ
なんでいきなり「テスト書いてない」って話になっちゃうの?
> 名前変更はしづらいよなぁ
動的言語に慣れてない奴とテストも書かない奴はすっこんでろ
自動テストを使ってる自分に酔ってるやつきてんね
Java開発のIDEにのってるリファクタリングツールはまじで便利だからな
Rubyではうまく動かないけどな… なんとかもうちょっとうまく動作すると幸せかもしらん
Ruby入れたんだけどやることがない
自分はこういう「んもー」ってのが嫌なんで、RubyでGUIするときはJRubyでSwingを使うぜ…HAHA
>>618 というのは過去の話でRuby+Qtを使って余裕でGUIアプリを作れる。
620 :
615 :2010/12/05(日) 19:09:22
解消しました。原因はサンプルコードの記述が誤っていたためでした mswin32+wxRuby-2.0.1-x86に変えたところトレースバックを見られて treectrl.rb 781行の:textは:valueが正しいようです コードを修正したところ動くようになりました。騒がせしました #しかし、Rubyコードが誤っているとランタイムエラーを吐く実装って・・・('A`) #wxRuby(と言うかwxWidgets)の実装手法的にやむを得ないのか?
GUIを作るのに必要なのはGUIの知識であって、それがあればRubyだろうが何であろうが関係のない話
ここは本スレだからそれじゃ釣れないぞ
プログラムを作るのに必要なのはプログラムの知識であって、それがあればRubyだろうが何であろうが関係のない話 なかなか応用がきくな。
GUIを使いたいならGUIの使い方を覚えるべきであって Rubyのバッドノウハウを集めても仕方ない
626 :
619 :2010/12/06(月) 10:57:44
>>621 qtrubyはいいぞ〜
C++版は変なプリプロセッサーが必要だが
Ruby版は動的言語の利点を生かしてサクサク書ける。
もともと配列や文字列の扱いはRubyの方が上なので
GUIアプリを作るときの苦労が格段に減る。
qtrubyになれたらC++でGUIアプリとかやってられんわ
でもQTってお高いんでしょ?
GTK+なんかよりは「お安い」と思うなあ 一番お買い得なのはTkだけどね…
QtRuby >> wxRuby >>>>> Ruby/Tk >>>>>>>>>> GTK
Ruby/Gtk2便利すぎわろすwwwwww
Ruby/Gtk2使いにくすぎわろすwwwwww
いまどきGTKはないわ
>>624 ワロタ
>>625 そーなんだよね。Ruby for win32もだけど処理系やライブラリ側で吸収しないとね。
大概そういうところは使う人も人手が足りないみたいだけど。
>>626 サンクス
>>627 tが大文字だとQuickTimeか何かの略語っぽい感じがしないでもない
qtってライセンスがゴミじゃなかったっけ?
ライセンス的にはwxRubyの方が気楽
qtrubyはRuby1.9+MinGWでビルドできなくてあきらめた gemだとRuby1.8用のが落ちてくるし
あ、今のqtってLGPLか すまん勘違いしてた
「感極まる」とか「光」とか、マジ勘弁してほしい。 コアな人たちにカルト臭振りまかれると、周りに薦めにくくなってかなわんよ。
そんなこといきなり何の脈絡もなく言われても 何のことだかさっぱりわからないのだが
ゲーテかな?
ゲーテもの?
645 :
デフォルトの名無しさん :2010/12/08(水) 05:11:01
>>642 まず先にまともにリリースしてくれよwww
日本産というだけで広めていくのはやめてくれ
おまえの言う「まともにリリース」を定義しろ。 ふつうにリリースされてるし。
いやぁ、それほど普通とは言えないと思う。
何を持って普通とするのかなんて人それぞれだよね、という話?
rubyで作れば普通に短納期でコスト削減とか言い出してる営業と変わらないな。 ruby集団詐欺状態。
結局根拠なしのFUDか
>>469 最初の納期は短いが、保守に金がかかるしスケーラビリティないわで結局高くつく。
というのを、やっと取引先の社長が実感したようだw
Rubyプロダクトを「直接外部に売っている」人は基本、全員詐欺師だと思ってよい ただし、Rubyを「内製で使っている」ところがあるなら、競合他社は警戒したほうがいいかもしれない
またおかしいやつが出てきたよ
刷新計画のマニュアルが激しく読みづらいな。 旧式みたいにメソッド一覧のリンクをページの上らへんに並べてほしい。
漏れはマニュアルはあれでいいと思うけど、rubygemsはなんとかできんかな。
>>654 旧式って、RWiki使ってたときの(背景色がグレーの)リファレンスだよね
そんなリンクあったっけ?
作ったすとーさんとこじゃねーの?
CentOS 5.5 32-bit版上の、 ruby 1.9.2p0 + tokyocabinet-1.4.46 + tokyocabinet (1.29) の組合せで、TokyoCabinet::HDB#eachが使えない。 ブロック渡してるのに、 if(rb_block_given_p() != Qtrue) rb_raise(rb_eArgError, "no block given"); のとこで、常に "no block given"例外が発生する。 同じ環境に入れたruby 1.9.1p378だと問題無い。 もし、rb_block_given_p()自体に問題が有るなら、いろんなCライブラリに影響が出そうだが、 どうなってるんだろ? 分かる人が居たら教えて。 ↓再現コード require 'rubygems' require 'tokyocabinet' d = ::TokyoCabinet::HDB::new d.open("a.tch", TokyoCabinet::HDB::OWRITER | ::TokyoCabinet::HDB::OCREAT) d['a'] = 1 d['b'] = 2 d.each {|k, v| puts "#{k} = #{v}" } # in `each': no block given (ArgumentError)
10kgの米袋くらい
人それぞれだな。 漏れには影響無いし。
スーツ族に対する認知度アップにはつながるんじゃないか?で、Railsが採用されやすくなるとか RubyもRailsもHerokuも知らなくても、セールスフォースは知ってるやつは結構いそうな
スーツ族w
どうにも頭の中でへろきゅーって読んじまう
へーろくに1票
読み方がわかんねーよ。 しかも間違ったらバカにされる風潮…
カタカナではハオクと呼ぶのがたぶんいちばん近い Heroku (pronounced her-OH-koo) だそうだ
超人Heroku
>>670 Her/O/Ku なのか
これはどう見ても He/Ro/Ku だろ
というか今からでもへろくにしろ
たぶん日本で100人くらい頭抱えて明日からどうしようか悩んでるぞ
「セールフォースがハオク買収したねえ」 「そうですね、ハオクどうなるんですかね」 「(こいつ、昨日までヘロクって呼んでたくせに…)」 「(リーダー、昨日までヘロクって呼んでたのに…)」
her-OH-kooだと「ハオーク」かな オが高い
社長さんが発音してる動画とかないのかw
語源は?
Haiku + なんたら、だったが忘れた。
Hero? いや、Hello ? ニポンジンにはよくわからないアルヨ
ライブラリ中に arg.respond_to? :to_a というヤなコードがあった この人は Object#to_a があったことを知らないんだろうな… まあ、1.9.2 常用の進歩的未来人かもしれないがw
$ ruby -e 'class Foo;undef to_a;end;foo=Foo.new;foo.to_a' -e:1: undefined method `to_a' for #<Foo:0x801056ca8> (NoMethodError)
>>680 別にヤとは思わないけど…
将来的にObject#to_aが無くなったときのためにだな…うぉっほん…ゴホンゴホン
>>680 warning: default `to_a' will be obsolete
セールスフォース自体、日本に対応し切れてないからどうでもいい。 quickbooks,quickenすら参入出来ずに撤退しちゃったガラパゴス市場が日本。
だれかフクオカRuby大賞に応募した人いる? 「予備審査を通過された作品の応募者には、12月上旬をめどに電子メールによりご連絡を差し上げます。 それ以外の応募者には、連絡いたしませんのでご了承ください。」 電子メールがまだ来ない。 予備審査を通過しないとか、まさかね。
>>688 通過してないとしても、応募出来るネタとか、技術あるだけですごいよ。
へーろくに1票
なにー! ハーオークと呼んでたのに、まさかのへロク
windows用のバイナリがいろいろ出てるけど それぞれの特徴とか利点欠点教えて Ruby Install Guide::Microsoft Windows版のビルト環境による違い に書いてあること以外で
>>693 mswin …
ttp://www.artonx.org/data/asr/ VC6 でコンパイルされたもの、ActiveScriptRuby、メイドインヒゲのオヤジ、配布パッケージは豪華で便利
昔から「Windows版」として扱われてたので、どんな gem でも tips でも Windows 環境だと思ってくれる(mswin32)
VC6 が基本入手不可なので緩やかに終了して mingw にバトンタッチされる予定だったのだが延命中、初心者向け
mingw …
ttp://rubyinstaller.org/ MinGW でコンパイルされたもの、RubyInstaller、世界の選択、配布パッケージは Ruby 本体のみ
数年前から「Windows版」として認知され始めたもの、名前は mingw や mingw32 を返す
RUBY_PLATFORM =~ /mswin/ という古い「Windows環境チェック」記述では false になるという初心者トラップ発生器
devkit で gem ソースを自前コンパイルしたり Windows チェック処理を自力書き換えしたりする必要がまだ時々ある
mswin よりはファイル IO とかが普通速度らしいので上記のライブラリ使用時の障害を自力克服できる中級者向け
cygwin … cygwin 環境でコンパイルされたもの、cygwin 常用者向けのマニアック Ruby
なんでも自分でできる人向けの選択、外野がどうこう言うことではないのでおまえらも文句言うな的な似非上級者向け
mswin の Ruby がインストールされてると gem の拡張バイナリライブラリも mswin でコンパイルして提供しなければならなかったはず それはもう無理筋だろうというので mingw が採用されたんじゃなかったっけ ENV.windows? みたいなメソッドが昔からあってそれ使うだけでいい、とかならよかったのにね
697 :
デフォルトの名無しさん :2010/12/11(土) 20:28:27
拡張ライブラリの書き方について詳しい方教えてください。 関数の引数1がHogeクラスのみを期待しています。 関数の入り口で型をチェックして他の型だった場合例外を投げたいのですが、 例えば配列だったら rb_check_type() で一発ですが、これが任意のクラスの場合は どうやってチェックすれば良いのでしょうか? ↓ 配列の場合 VALUE ruby_Transform_set_matrix (VALUE self, VALUE val_matrix) { rb_check_type (val_matrix, T_ARRAY);
>>697 rb_obj_is_kind_of か rb_obj_is_instance_of
または T_DATA であることをチェックしたうえで dfree の値を比較する
ダックタイピング云々の話を持ち出すべきか迷ったけど
引数に Data_Get_Struct とかするならそんなことは言ってられないな
trunk 限定なら TypedData を使えばもっと綺麗に書けそうなそうでもなさそうな
なんか楽しいRubyとかに載ってない知識がバンバンでてくるんだが、 どこでそんな知識吸収しているのだろうか? たのしいRubyだけじゃ駄目か・・・
何事もたのしいのは最初だけ
>>688 なぜ落選には通知しないんだろう
待つ身のつらさをわかってないな
>>698 ruby.hとかinternal.hとか見ましたが、やっぱり簡単な(1行で)書く方法は無いですね。
あっても良さそうですが…仕方がないので自分でチェックして例外飛ばす関数を書きます。
rb_obj_is_instance_of って戻り値がVALUEですが、これQtrueが帰ってくると思っていいのでしょうか。
(まあ試せば分かる)
>>688 単に面倒なだけなのか、それとも落選者に間違って当選メール送ったときのリスクヘッジか。
あるいは福岡県民の県民性か。
うむ、とんこつラーメンの食いすぎだな。
お役所仕事っぽいのはたぶん利権がからんでる
利権がからんでる(笑)
>>699 言語としての知識ならともかく
ここ最近出てるのは、ビルド環境による違いとか拡張ライブラリとかの話だからな
基本的には書籍にあまり載ってない話だと思う
708 :
697 :2010/12/12(日) 11:50:57
>>698 結局こうなりました。
if (!rb_obj_is_kind_of (val_arg1, rb_cTransform)) {
rb_raise (rb_eArgError, "wrong argument type (expected Transform)" );
}
本当は1行で書きたかったのですが3行なら許容範囲です。
(実際はこれが引数の個数分続くが…)
ありがとうございました。
拡張ライブラリまわりは情報が少ないですね。特にCではなくC++で書くとき。
丹念に探すとある事はあるけど見通しが良くない。
だれかチュートリアル書いてくれるとうれしいな。
お役所的には落選者に用は無いからな
いや、落選者に対する通知はないのが多数派だと思うが
当選者の発表は商品の発送をもって代えさせて頂きます。
>>712 これってよくみるけど、よく考えると当選者0でも誰にも分からないやり方だよな
商品じゃなくて賞品だから。 金払って連絡なかったらブチ切れるけど。
Rubyをプッシュしてくる人がいたからRubyを知らないふりをしてRubyのどこが良いのか聞いてみたら
「open('file'){|io|io.read}」とか「URI('
http://example.net ').read」とかごっつ書きやすいねん!
って言うもんだから
「それは別にJavaでもpublic static String ioRead(String filename)とか public static String uriRead(String uri)ってメソッドでもつくっとけば良いだけでそ?」
って言ったらそれ以上言わなくなった。なんだかなぁ...
つまり君は嫌われたってことだ
そういうところにメリットを感じるかどうかだろうね まあ親切に教えてやったのにそんな反応されたら誰だって何だコイツって思うだろうけど
>親切に教えてやったのに ここに双方の認識の溝がある
無知と偽り欺いて親切心を引き出し相手から情報を得たところで 感謝を期待する相手に批判を浴びせたと
>感謝を期待する ここがおかしい
あさはかな知識比べで悦に浸る時点でどっちも同類だろ
>>717 >>717 ↓
標準ライブラリでできるのがいいんじゃないか。
↓
cgi.rb使いたくなかったら、標準でないフレームワーク使わないといけない言語が何を言うか。他にどこがいいんだよ。
↓
Rubyはちょっとしたスクレイピングが楽にできるライブラリが整っている
↓
それは標準ライブラリで楽にできるんですか?
↓
↓
↓
↓
↓
↓
Rubyで書ける これがメリットだと感じないならRubyでアプリケーション作るのやめたほうがよい ↓ ↓ ↓ ↓ ↓
理由なんてねぇよ!好きだから好きなんだよ!
なんて台詞が寛容される時代が来たかと思うと感慨深い。 Rails以前は職場でRubyと言うだけで迫害を受けてきたもんだ。 殺意を覚えるほどに…
どんな職場やねん
対銀行系やら対官公庁系にいらっしゃるのでは?
年輩Perlerの発言権が強くて、Ruby使いにくい職場というのは、結構ありそうだが。
それはないわw
逆に最初はすぐ作れるとか威勢いいけど、後の始末は無責任なrubierって感じが。
rubyistと呼べ!
うみんちゅ 否ッ、 るびんちゅ
>>731 普通にあるけど。
そしてその老害PerlerはモダンなPerlの書き方が出来ず、
Moose(Mouse)を使うと火病る。
それどころかTest::Classなど、テスト系のコードを見ると
訳解らんことするなと火病る。マジで困る。
女子高生の従妹がプログラマになりたいとか言ってたからとりあえずRubyのコミッタでも目指せと言っておいたぞ。
>736 Mooseは、クラシックなPerlとは別の意味でクソなので、 火病られてもしかたがない。 ついでに言うと、Ruby書かせると大した意味もなくメタプログラミング しようとする奴がいるが、そいつもクソ読みにくいので、 非難されてもしかたがない。
むしろモダンPerl MongerはMoose視ねよって言っているイメージあるがw
jkの従姉妹が可愛いかtryするからうpよろ。
>>717 JavaとRubyで比べたときのRubyのいいところって
大クラス主義というか使う側が必要に思うメソッドが
然るべきクラスに機能が被ろうがただの別名だろうが
標準でブチ込まれてるところだからな。
(その辺のニーズについてはApache Commonsとか見ると一目瞭然)
Javaは標準ライブラリだと機能本位で綺麗に整理された、
でもニーズの最大公約数って感じで使いづらいAPIなのと
上の方で上がってたチェック例外の弊害が相まって
理屈の上では発生しうるけど大概のユースケースでは
どうでもいい例外をハンドリングさせられたりして
えらく冗長なコードを書く羽目になると。
今ならIDEが超優秀なのと、ApacheやGoogleのライブラリを
抵抗なく普通に使っちゃうって時代だから、
同じことをやるならタイプ量は同程度か、
下手したらJavaのが少ないって位に状況変わったけど、
標準ライブラリと自前ライブラリだけでベタ書きで
ロクなIDEもない、って時代にJava書いてた人間には
Rubyは輝いて見えると思われる。
>>741 >>717 は、ど〜見ても皮肉なわけだが
Rubyの特性をよく知らない連中が
何故かRubyを賛美するようになってしまった
Rubyの特性について詳しく
まあ
>>717 はプッシュする相手を間違えたってことか
やはり、プッシュするなら、Arrayに限るな。
いやスタっk…でもそういうの嫌いじゃないぜ
プッシィがなんだって?
彼女にpushしまくったら嫌われたのを思い出した。
それ彼女じゃないよ
girlfriend = GirlFriend.create(:age=>15) girlfriend.respond_to?(:insert) => false (゚∀゚)!!
俺も彼女の干しぶどうをpushしたい
東京都青少年の健全な育成に関する条例に触れる恐れがありますので
>>750 のレスは東京都在住の方々はあぼ〜んして下さい。
752 :
688 :2010/12/18(土) 10:26:53
応募していたフクオカRuby大賞ですが1週間経ってもメールが来ませんでした。 「12月上旬をめどに電子メールによりご連絡」(今日は18日)なので、 どうみても予選落ちです本当に有難うございました(´・ω・`) 変なライブラリじゃないだけどなぁ Rubyの応用分野の1つを(これから)切り開く重要な尖兵のはずなのだが……うーむ ちと見せ方を考え直す必要がありそうだ。
自分のサイトとかで公開されたらどうでしょうか
自分ではすばらしいと思って応募するんだろうけど、 実際は落選の方が圧倒的多数なのだ。 ほとんどの人が自分の作品はすばらしいと思ってるよ。 何度でも挑戦すればいい。
“説明し辛い”分野のライブラリはこういう公的支援はなかなか受からないので仕方がない 自前で地ならししておいてからおもむろに 「Rubyにおける○○と言えば俺と言えなくもない俺がライブラリを開発!」 とか煽ればいい 一般論として話くらいは聞いてくれる
Ruby1.8 以降では Net::HTTP.version_1_2 を書かなくていい(内部スイッチがデフォルトでオン)ということを最近知った Ruby1.6 で動作させないスクリプトでは書かなくてもいいのか めちゃくちゃ気を遣ってたぞ俺
あれ?そうなの? 必ずNet::HTTP.version_1_2 を書くものだと思っていた。
手元の 1.8.7 の net/http.rb が class HTTP < Protocol HTTPVersion = '1.1' @newimpl = true def HTTP.version_1_2 @newimpl = true end def HTTP.version_1_1 @newimpl = false end だ @newimpl が最初から true だから、1.8.7 では HTTP.version_1_2 を呼ぶ必要性はないな
>>717 >「それは別にJavaでもpublic static String ioRead(String filename)とか public static String uriRead(String uri)ってメソッドでもつくっとけば良いだけでそ?」
URI().readのほうはしらんが、ioRead()を定義したところで open() {|io| io.read } と一緒だとは思えないなあ。
ブロックに相当する機能がanonymous classぐらいしかないjavaでは、便利さは比較にならん。
this.equals(that) なのか。 this.equals(other) って書いてた。 AとBを比較するとき、 A=thisだとしたら、Bはthatなのか! Bはotherじゃないのか!英語わからん!
>>761 "This equals that."はそれ自体が日常的な文章だからそれに合わせているだけ
this.equals(other) でも流し読み的問題はない
でもやっぱりそのへんはこだわりたいよね。
ごっそり書き換えとかになることあるけどな
ていうか this をレシーバ例として使うことは Ruby ではほとんどないだろ
それ何を対象にしたどこのだれ調査だよw
ほとんどない は言い過ぎだな 稀によくあるだろ
稀によくある 機会があれば使ってみようと思った
769 :
デフォルトの名無しさん :2010/12/20(月) 11:22:38
調べた。OpenKinectドライバーで取れるのは rgb, Z, 加速度 だけ。 その上のPrimeSense社のNITEミドルウェアに相当するskeleton-trackingライブラリがないので、 すぐにモーションキャプチャーが作れるわけではない。残念。 OpenNIのruby binding書くのも面倒……
>>749 ruby-neet-age40 > girlfriend = GirlFriend.create(:age=>15)
PermissionError: do not have work and too old
Humm... Would you be able to help?
772 :
デフォルトの名無しさん :2010/12/21(火) 20:26:12
rubyのmkmfって、autoconfみたいなもんだという理解でOK? もしそうだとしたら、extconf.rbのオプションに--prefixを取れるようにしたければ、どうすればいいの?
>>760 anonymous classだと外側のfinalでないローカル変数にアクセスできないよね。
そんな不便なanonymous classとクロージャとでは、便利さが大違い。
いままでRuby関係のトレンド/アクティビティをワッチするために、 deliciousのrubyタグのRSSをGoogle readerに流して見ていたのですが、 deliciousが死にそうということで、代替手段を模索しています。 みなさん、最近の動きのモニタリングはどのようにしているのでしょうか?
rubyflow と twitter かな。 あと rails特化で railscasts とか。
ライブラリ情報は ruby-toolbox とか
777
なんだかんだでdelicious無くならないと思うけど
潰すんじゃなくて引き取り手を探している、みたいな報道無かった?
Java屋がPOJOがどうの力説してきたけど正直どうでもいいと思った。
>>775 Asciicastsもな
まとまってなくてリアルタイム性が高いトレンドならTwitterやTumblrも
TwitterやTumblrがdeliciousやはてなブックマークのように、URLとタグでヒモ付て見られたらいいんだがな
いい方法ない?
最近 delicious の代わりに使う人を見かける pinboard.in は 自分のTLでURLの付いたツイートをブックマーク化して、 そのツイートに付いているハッシュタグをブックマークタグに 設定する機能がある。 有料だけど。
>>781 非公式twitter検索でrss取ってくればできそう
俺のプログラムがこんなにバグが無いわけが無い
>>773 あれは匿名インナークラスのオブジェクトがそれを呼び出した外側のオブジェクトより長生きしうるケースの対策ってだけだから
インナークラス側で参照する変数が不変であることは
実は要求されてない。
外側で使用したい変数をfinal付で別途定義した変数に代入するだけでOKだったり。
ていうか、内部実装的には単にインナークラス側に参照をコピーしてるだけなんだよなあれ。
matz氏の中の人ってなんでMS Office嫌いなん? クリスマスプレゼントにOffice98でもあげよっか?
あげてもmatzはDebian使いだからインスコできないし あの人はできてもインスコしないと思うぞ
matzの話はすれ違い
そういえば1.8、1.9ともにクリスマスリリースが出ているな。 予定されていたことでニュースバリューはないかもしれないけど。
Matz hates any version of Windows OS. And Matz hates the language C++, too.
matz、ハブる方向なのね。 よくわかんねぇや。
作者から作ったものを取り上げるべきじゃない
Stringクラスにwgetメソッドが入ってることにおかしさを感じないのか?
レシーバーが文字列だと不自然という話?
>>798 メソッド名が固有名詞ってところに違和感がある。
もしwgetメソッドがwgetの機能をそのまま持つなら納得出来る。
>>800 URI("
http://www.google.com ").read の方が一文字少ないけど、
String#to_uriの中で require 'uri' してくれるのなら便利かも。
>>802 いや、おれがおかしさとして指摘したのは、
文字列とwgetの機能には直接的な関連が全くないということなのだが。
それがわかった
>>799 は「URIリテラルくれ」と言ったのだろう。
その手の便利機能を標準で入れ込んでいったら、クラスがめちゃくちゃになってしまう。
pythonの悪口はそこまでだ
Pythonの場合「配列やリストと文字列は別物だ、リストにjoinメソッドがあるのはおかしい、文字列にあるべきだ」だからね
>>805 意味か解からない…
もうちょっと詳しく。
LLバトロワスレとかでは散々語り尽くされたネタだけど このスレでは大して気にしなくていいよ
>>805-806 rubyだとこうだけど
ruby-1.9.2> ("0".."10").to_a.join(" and ")
=> "0 and 1 and 2 and 3 and 4 and 5 and 6 and 7 and 8 and 9 and 10"
例えるならPythonだと
> " and ".join(("0".."10").to_a)
=> "0 and 1 and 2 and 3 and 4 and 5 and 6 and 7 and 8 and 9 and 10"
こうだよねって話
Python公式のFAQに載ってたはずなのに見つかんないお
>>808 Rubyだと左から右へと素直に読めるけど、Pythonのそれはちょっと読みにくいな
Pythonは読み下しに難があるパターンがRubyより多い印象
>>808 直感的な文法で書けない言語は困るな。俺基準だけど。
>>808 >>> ' and '.join(str(n) for n in xrange(11))
'0 and 1 and 2 and 3 and 4 and 5 and 6 and 7 and 8 and 9 and 10'
C#は、 String.Join(" and ", list) で、 Scalaは、 list.mkString("list: [", " and ", "]") だな。 どちらかが主流って感じでもない。
("0".."10").to_a.join(" and ") って見れば普通は、 ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", " and "] ってなるだろーなーと思うわ。 ("0".."10").to_a.concat(" and ") なら、 "0 and 1 and 2 and 3 and 4 and 5 and 6 and 7 and 8 and 9 and 10" でもいい。
インスタンスメソッドとしては配列から、クラスメソッドとしては文字列型から呼ばれるのがきれいに見えた
>>815 >("0".."10").to_a.join(" and ")
>って見れば普通は、
>["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", " and "]
>ってなるだろーなーと思うわ。
ないわー
joinとpushが同義とかないわー
ホントは Array#join_with とか Array#to_s(padding) とかにしたほうがいいんだろうなあとうっすら思うことはある arr.join(x) と arr.concat(x) の区別はマニュアル読まないとわからない可能性が大
というか 1●2●3●4●5●6 の ● の部分で何かするイテレータというのがないのが稀に困る
[1,2,3,4,5,6].each_cons(2) {|cons| ... } はちょっと違うか。
inject じゃないのか
>>805 四の五の言わず演算子にしてしまえ、という発想
>>822 やってみた
p (1..6).inject({:sep=>'',:result=>''}){|h,item|
{:sep => ',', :result => h[:result] + h[:sep] + item.to_s}
}[:result]
APLの / か
>>824 うむ、inject内で小さなデータコンテナ作って運用するあたりが超きめえ
一応できるけど、きめえな確かにw
それだったら、こうやったほうが p (1..6).inject(nil) { |s,i| s.nil? ? i.to_s : s+','+i.to_s }
830 :
824 :2010/12/29(水) 10:30:18
>>828 その発想はなかった
…何で無かったんだろ、不思議だ俺の脳
畳み込み関数自体はわりと素敵概念なのにinjectになるとがっかりなのはなぜだろう ブロック引数が2個で由来がバラバラでなおかつブロックの返り値を次に使うという奇妙な構造のせいか
たとえばHaskellのfoldファミリもほぼ同じインタフェースだと思うわけだがどう奇妙なのか?
Haskellっつーか関数型の場合、+とかの演算子も「引数を2個とる関数」扱いだったりするのが結構あって foldに「+」を直接渡すと合計になる、とか出来るからinjectより見た目すっきりするんだよなあ
$ ruby19 -ve 'p [1,2,3,4,5,6].inject :+' ruby 1.9.3dev (2010-12-29 trunk 30417) [********] 21
る…Rubyも進化、してるんだなァ…はは
メソッド名を渡すのか。ダサいな。
>>836 開発中誰も口にできなかったことをあっさり言うな
[1,2,3,4,5,6].inject :+ じゃなくて、 [1,2,3,4,5,6].inject &:+ だったらよかったとかそういう話?
初心者スレの応援求む (特にこの間)をうめたって
Ruby 初心者スレッド Part 40
http://hibari.2ch.net/test/read.cgi/tech/1292049975/393 > 393 名前:デフォルトの名無しさん[sage] 投稿日:2010/12/29(水) 21:41:38
>
>>387 > イディオム化して覚えているせいで、
>>383 にいたる経緯パッと説明できないんだが誰か頼む
>
> こういうようなことを初心者向けに
> Enumerable#inject の詳細と結合法則 - 今日調べたことまとめ
>
http://d.hatena.ne.jp/tks_period/20081207/p1 >
> ruby-1.8.7-p302 > d.inject{|result, item| result.merge(item)}
> ↓
> ruby-1.8.7-p302 > d.inject{|result, item| result.send(:merge, item)}
> ↓
> (特にこの間)
> ↓
> ruby-1.8.7-p302 > d.inject(&:merge.to_proc)
> ↓
> ruby-1.8.7-p302 > d.inject(&:merge)
https://github.com/assaf/scrapi ScrAPI 1.2.x tested with Ruby 1.8.6 and 1.8.7, but will not work on Ruby 1.9.x.
ScrAPI 2.0.x switches to TidyFFI to runs on Ruby 1.9.2 and new
843 :
841 :2010/12/30(木) 15:54:56
libtidyが動かなかったのでnokogiriにしました
るびんちゅども、あけおめ!
明けましておめでとうございmatz
ruby1.9系ユーザはrubygems1.4入れるな(本体の更新を待て)って いうの読んだけど、あと1年待てってこと…?
>>846 タイミング悪いよな。クリスマスリリースがあるのはわかってるんだから
調整すればよかったのに、と思った。
上げないと困るという内容でもなさそうだったし、まぁ、3ヶ月くらいのスパンで出るはずよ。
ruby-talkに流れたメール(rubygems 1.4.0 Released)を見ると: NOTE: Ruby 1.9 ships with rubygems and contains a very buggy "gem-prelude". It is a gem loading system that can interfere with updating rubygems itself. We do NOT recommend you update to rubygems 1.4 if you're running ruby 1.9.x until we get that sorted out in a future ruby release.
面倒だしruby-talkに投稿されたらここにも転記してくれよ
とかいってガンガン投稿されだしたら、うざいとか言うんだろ
でも、こういう情報は共有してもらえるとありがたい
> コミュニティの一部の人物のマナーが悪い 世界中のどのコミュニティでも似たようなもんなのさと思うようにしていたが、 やっぱマナーが悪かったのか・・・
>ruby-dev(日本語)ではほとんどのコア開発者が英語を理解し (´;ω;`)ウッ (⊃ω⊂)エーン
噛み合わせようとすること自体がおかしいだろ。 Debianが方々のサブシステムまで面倒見る必要があるのかっていう。
ruby本体(と1.8でrubygems)だけパッケージングされてれば事足りる。
たとえばFreeBSDだと、rubygem-なんたら、ってパッケージになっていて、 そこらのパッケージは、インストールが単にgemのwrapperになってる。 で、そういうのをやってるのはfreebsd-rubyの人たちで、rubyインタプリタの コアの人たちは特に何もかかわってない。 正直、言ってることの半分ぐらいは何言ってんの? って感じね。
まあでも俺もOSのパッケージとrubygemの2つがあったら迷うわ。 OSのパッケージデータベースの外にあるソフトはなるべく作りたくないが、 rubygemの方にしかないライブラリとかあって、1つ入れたらあと何個入れても一緒とか。
Debianってそんなに他のパッケージシステムと共存できないものなの? FreeBSD ports使っててもRubyGems、CPANなどとうまく共存しているように見える。 MacPortsやHomebrewでもRubyGemsなどのせいで困ったことは起きてないし。
matzってナクルのフェローだけど、 どんな仕事をナクルの中の人とやってるの?
え、Winを放置してて教祖様はLinux使いだから(キリッ)と散々言い訳してきたのに、そのLinuxでもRuby微妙なの?わらえる しかもmatzてデビアン使いじゃなかたっけ
>>861 Debian のコンセプト的に、外部パッケージシステムの導入はあんまり得意ではない
オフィシャルの deb パッケージで完結していることが、Debian の管理しやすさと安定性の根幹を成している
/usr/local とかも基本的に空で、野良 make する人もまずいない(まあ、末端はともかく思想的には)
>865 新バージョンのリリース遅いくせに、野良make不要とな?
でびあんstableは新バージョンをいちはやく使うひと向けじゃないから。
868 :
Perl忍者 ◆M5ZWRnXOj6 :2011/01/04(火) 23:38:07
〜使いってかっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ かっこいいですねぇ
sudo aptitude update && sudo aptitude safe-upgrade を定期的に実行するだけで とりあえずセキュリティ関連やら重大バグやらの修正が行われたプログラムが更新維持されるので楽、というのが Debian の実際的な売りだ Ubuntu なんかが LTS を何の気なしに完全無償提供してるが、これはベースが Debian だからできること たとえば RedHat ベースでゼロから LTS 作って維持しろとか言われたらお金もらわないとやってられんと思う
>>865 それって単にDebianが特殊なだけで、
他のパッケージシステムを責める理由になりませんよね。
あんなにRubyGemsが責められる理屈がよくわかんないです。
(単に気に入らないだけなのかもしれませんが)
自分は外野だけどさ、 こういうのって一度Rubyラーメンでも食いながら顔面to顔面で話したほうが良いと思うんだけどさ、 オプソのコミュってそういうのないのかな。 ある日いきなり「辞めるから」とか寂しいよね。
>>871 カンファレンスはあるんだけどこいつ全然来なくてさーとかそういう話してもいいの
>>863 まつもと ゆきひろ(1965年4月14日 - )は、日本のソフトウェア技術者。
株式会社ネットワーク応用通信研究所フェロー、楽天株式会社楽天技術研究
所フェロー、Rubyアソシエーション理事長。島根県松江市名誉市民。本名は松
本 行弘(読み同じ)。通称はMatz。血液型はO型[1]。
wikipedia
ナクルでもフェローしてるよ
DebianのRubyのリリース版どれなんだとか、それがわからなくて古いままの話なんて
メンテナがコミュニケーション不足だったという話であって、日本語のML関係あるのかw?
英語のコミュニティだってあるわけで、RubyとRubyGemsとその他のgemの噛みあわせわるくなろうものなら
海外のRails界隈の連中がものすごい勢いで発狂してるだろが。
それとRubyのコア以外の情報は英語圏はよほど充実してるよ。
隣の芝生は青いんだよ。コアが英語になっただけで解決する問題に思えんな。
>>856 まとまってる。それを向こうのコミュニティ向けに翻訳したらいいんじゃないのか。
>>870 別の翻訳記事にもあるけどDebianのパッケージシステムとRubyGemsとRVMやBundlerはそれぞれやりたいこと違うんでしょうね。
機能がかぶっているところは大いにあるけど。
Ruby古い、RubyGems古いでパッケージ更新してもgemが入れられないような状況に陥ることもあると
自前で管理したくはなるよ
>867 stableだけの問題じゃないでしょ。 Debianは、いつになったらruby 1.9系が使えるようになるの?
>>875 Debian -- lenny の ruby1.9 パッケージに関する詳細
http://packages.debian.org/lenny/ruby1.9 > >> Debian >> パッケージ >> lenny (stable) >> interpreters >> ruby1.9
> パッケージ: ruby1.9 (1.9.0.2-9lenny1)
> パッケージ: ruby1.9 (1.9.0.2-9lenny1)
> パッケージ: ruby1.9 (1.9.0.2-9lenny1)
> パッケージ: ruby1.9 (1.9.0.2-9lenny1)
> パッケージ: ruby1.9 (1.9.0.2-9lenny1)
> 注意: Ruby 1.9.0 は開発版です。
> 注意: Ruby 1.9.0 は開発版です。
> 注意: Ruby 1.9.0 は開発版です。
> 注意: Ruby 1.9.0 は開発版です。
> 注意: Ruby 1.9.0 は開発版です。
まずはLinuxの鳥とパッケージ管理ツールを統一しろ。 話はそれからだ。
まあ、sidから降りてこない限り1.9.1や1.9.2は無理だろうな
>>878 パッケージマネージャは基本的に事実上の統一はされてる
yumとaptの2種類
ディストリビューションはまあFHSにさえ沿ってれば何してもらってもいいんじゃないかと
trollsって釣り師?トトロ的な方?
よく分からんけど、Debianの構造的欠陥って事?
こんだけ情報出てて枕詞が「よーわからんけど」で
内容が
>>883 なのならプログラミングとか諦めたほうがいいかも
これこれ、構造的欠陥ではなく、構造的制約と言ってくれたまえよ。
Debianと今のRubyを掛け合わせた場合、どっかの誰かのとこで早晩噴出する問題ではあった 特定の誰かや何かが原因と特定できて即解消可能なような性質のものではない 超短期的にはgemを依存関係込みでdebパッケージ化するdh-make-rubyみたいなのを作ればいいんだが、 そのためにはrubygemsを根本から大改造する必要がある バンドラバンドラスペースピープルしたほうが早いかもしれん
そういや、Bundlerってどんなものなのなん?
パッケージメンテナになりたい人なんて腐るほどいるだろうから、 辞めさしときゃいいでしょ。 パッケージメンテナが頑張るべきところを頑張りたくなくなったんだから。
腐るほどいるものなのか?そのあたりさっぱりわからんが
言語自身で書かれたライブラリは言語パッケージで管理するのが妥当だと思うが、 問題はOS自身が言語に依存していたらバージョン不整合があっさり起こるってことだ。 もっともそれはOSとアプリケーションの切り分けが不完全ってことでOSの設計ミスだけど。 OSディス鳥はスクリプト言語に安易に頼るべきではない。
>>890 OSというか、ディストリな。
「OS自身」とか「OSの設計」って言ったら、普通カーネルのことだろ。
>>891 OSはディス鳥が対応する実装物だぞ
GNU/LinuxがOSでLinuxはカーネルだ
Pythonがディス鳥の起動処理に密接に関わってるらしいな・・・
Linux系の場合アプリケーションも含めてディス鳥になってるからOSとの切り分けの概念が希薄だな
犬厨はいつもOSの定義で揉めるけど 何を指してるか文脈で察しろよ 毎度毎度アホみたいに突っ込んでんじゃね〜よ
定義が不完全だから起きた問題じゃないのか
定義は明確だけど理解が不十分な人達がいて、そういう人達に限って不十分な 理解力のまま突っ込んだり突っ込まれたりしているだけでしょ。
>>890 debianならずとも
apt-get install rails
はともかくとして、
apt-get install redmine
や
apt-get install (なにかRailsやRackで動くようなアプリ)
で入れられたら便利だよなと妄想するわけですよ
しかし実際は(ry
gemでいいじゃん
だから、gemはDebianの教義に反するって話なんだろ。 じゃ、perlのCPANはどうしてるんだ?
>>890 > 問題はOS自身が言語に依存していたらバージョン不整合があっさり起こるってことだ。
> もっともそれはOSとアプリケーションの切り分けが不完全ってことでOSの設計ミスだけど。
> OSディス鳥はスクリプト言語に安易に頼るべきではない。
昔FreeBSDがその理由でperlとかで書かれてたわりとコアなプログラム群をCで書き直してたな。
つうか、Debian界隈って昔もRubyGems関係で揉めてたよな。
upstreamが「RubyGemsなんて必要なの?」とか言ってた時代に
RubyGemsぶちこんでRuby関連のパッケージ管理は全部gemにしようぜ!
的な革命運動が外人中心に突如勃発して、
それを嫌った日本人Debianメンテナがmatzに
「次のリリースにRubyGemsを含めないこと」を迫ったりとかの面白展開が繰り広げられていた記憶。
当時、まだリリースエンジニアリングが確立されていなかったことも相俟ってえらいカオスな流れになっていたような。
gemからdebにマッピングかポーティングするツールくらいすぐ作れるっしょ と思うのは甘いのかな。
>>900 gem2debもgem2rpmも以前からあるものの、
gemの同一gemの複数バージョン混在を許すポリシーと
debやらrpmの基本最新版のみなポリシーとが相容れない
とかそんな話だった気がする
>>900 めんどくさい
もともとのrubygem自体の問題なんだが、
こいつgemインストールのことばっか考えてgemアップグレードのことあんま考えてねえ
>>902 まあ、gem clean を自動で安定動作させるほうが先だなw
ラッパースクリプト消してから「依存関係があるから中断するね」とかもうね。
単体の特定のgemひとつの新規インストールはパッケージ化で今でもできるんだよな 問題は(他のgemから必要とされたときの)アップグレードだ
>>905 仮に、とあるgemであるfoo 1.0をdebでインストールしたとして、
その後そのgem updateしたらfoo 1.1にアップデートされた場合、
Debian的にはどういう問題が起きるの?
門外漢からするとgem cleanupしたらマズいかも?くらいしか想像できないです…
>>906 debとしては、1.1をインストールすることイコール1.0をアンインストールする
ことになるのでは?
>>907 その場合は手動でgem install foo --version=1.0すれば良い、くらいの素人考えなのですが、
それではまずいのでしょうか?
それでよしとするならばそもそもgemをいっさいdebとして入れる必要はないよね。 …と思う人が多いからdebパッケ使わずにgemで入れてるのが現状なのかな。
gemで大多数のディストリ(やWinやMac)に入れられて、問題がなければそれはそれでいい世界じゃない、と思わないでもないが。 そうじゃないから揉めてるのかな?
gemに依存しているソフトがdebで管理されてるのならやっかいだな
あと、拡張ライブラリ系gemが依存してたり独自に抱え込んでたりする外部ライブラリとかかな aptでupdate/safe-upgradeしておけば安心っていうdebianの最大の長所が死ぬわけだから。
>>859 のFreeBSDのようなアプローチをとれないものか
qmailだって以前はソース落としてコンパイルを自動でやってたんだし
他のディストロでも、てきとーにやってるんでしょ。 それをDebianが完璧にやろうとして発狂しただけかと。
>>912 apt update/safe-upgradeでapache、phpやらその他phpのアプリも自動アップデートできてるなら、
rubyやrails(gem依存)、redmine(gem依存多い)、それを動かしているPassengerも自動でアップデートできたらねという当たり前の発想になるだろうしわかるんだが
gemがそう簡単に自動アップデートさせてくれないからなw
どっちみちそうするなら各gemにも手を入れる必要あるし大変だぞ
>>859 それはすごいな
誰かついカッとなってdeb-gemとか作ればいいんじゃね もちろん全然gemのコード使わなくていいけど
gemspec自体にdebパッケージ運用するだけの情報が入ってないんじゃなかったっけ
>>915 > gemがそう簡単に自動アップデートさせてくれないからなw
ここがよくわからないというかなんというか…
実際にDebianを使っている人じゃないと実感できないものなのでしょうか?
gem install hoge しようとしたら、hoge-devが足りねーとかになるのを 簡単に解決出来るだけでもいいと思うんだが、それが出来ないほどgemspecが 貧相すぎるって事?
>>919 gemのほうは、ビルドに必要な(ネイティブ)ライブラリ(libxml2とか)は、
extconf.rbで検出してエラー終了するだけだな。
ライブラリ名までは工夫すれば依存関係に組み込めると思うが、
ディストリごとに、そのライブラリを提供しているパッケージの名前は異なるわけで…
>>919 そういえばrvmは入れるだけなら依存はbashとgitだったと思うが
インストール後にrvm notesで環境ごとに必要な手順がでてくるな。
例えばUbuntuならコンパイルするためにこれこれのパッケージいれろってのがでてきた。
そういうのこそaptで入れられてもいいとは思うけどね
>>921 それで出てくるのは*Ruby本体*のビルドでオプションになっている
opensslとかzlibとかreadlineとかだけじゃね?
最近rvm使うの止めてしまったので最近の事情はわからんけど。
見たところ、入れろといってるののはコンパイラとかpatchとかの必須ツールや、 Ruby本体の作成用ぽいライブラリけど、libxml2やlibxsltなんて使ってたっけ? 少なくとも、RMagick gemを入れるかもしれないからImageMagicの開発 パッケージを入れておけ、みたいな内容ではないね。
ゲーム開発者って凄いんだな。 Cでゲーム開発だけしてた人が、Rails開発オンリーのうちの会社に中途入社して 2ヶ月程で社内で最も優秀なRails使いになってしまった。 rubyもrailsも基礎だけ押さえて、後はAPI見ながらRailsのソースをバリバリ読めるらしい。 何というか突進力が凡人の俺とは違うようだ。
ゲーム開発者でも凡人はいるし、 そうでない分野でもすごい人はいるだろ
>>925 いくらなんでもおまえんとこの会社のレベル低すぎだろ
Railsしかできない会社なんてそんなもんだろ
2か月あってそうならない方が驚きなのだが。
×925のレベルが低い ○Rails使いのレベルが低い
実際のところゲームプログラマの平均レベルはWEB系とは比べものにならんよ
PG暦4年ぐらいのゲームプログラマ の友人がいるが年収350程度らしい。 顧客とほとんど接触無い職場には魅力を感じるが 俺はこんな惨めなPGにはなりたくねぇ
女性PG増やそうぜ。 Rubyにもっとゆるふわかわいいイメージを植えつけてだな… ふぅ…もう寝るか。
ゆるキャラ化したMatz人形とかどうだろ?
>>933 つまりねこび〜んみたいなマスコットキャラが必要ということですね
* rescueはエラータイプを省略するとStandartErrorのサブクラスの例外を捕捉する * Timeout::ErrorはInterruptを継承したクラスでStanderErrorには属していない * net/httpなどのライブラリはtimeout.rbを使っている * gemでインストールしているライブラリもtimeout.rbを使っている これはひどい なんでこんなことすんだよ〜 ドびっくりにもほどがある
そんなに騒ぐことか? rescue Timeout::Error で捕捉しろよ
漏れ的にはrequireのエラーがStandardErrorじゃないのがよほど困る require 'hogehoge' rescue fugafuga ができないじゃないか
ruby -v -rtimeout -e 'puts Timeout::Error.ancestors' ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10] Timeout::Error RuntimeError StandardError Exception Object Kernel BasicObject ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] Timeout::Error Interrupt SignalException Exception Object Kernel
1.9.2とgem 1.4でハマった・・・。 1.9使ってる奴は1.4に上げんじゃねーって、書いてあったのね・・・。
1.9.2=Vistaはスルー推奨 2.0=Win7が本命
1.9.0, 1.9.1がVistaというなら妥当だと思うけど 2.0が7はない。
>>943 違うだろw
1.8.7=Windows XP SP3
REE=Windows XP(Lite)
1.9.0=Vista
1.9.1=Vista SP2
1.9.2=Windows 7
あとはまかせた
JRuby= ?
IronRuby= ?
MacRuby
2.0っていつ頃出るのかロードマップとかあるの?
2.0は開発のモチベーションとしてのニンジンなので、永遠に出ないと 思っておいたほうが心の平穏が保てる。 まぁ、1.9.3を2.0にしようという声もあるけど。
そうなのか 正式バージョン名はともかく今後のリリース計画とか予定とかある?
ruby-devカオスってんな。
Ruby1.9.xと日本共産党ほど名前で損している存在はない
2.0が出るとは思わない
Perl6は今年にも確実に出るというのにね
Chromeの怒涛のメジャーバージョンアップをMatzはどう思ってるんだろうか?
ていうかVM載せた時点で2.0でよかった 1.8系の番号割り振りに支障が出る
>>954 同感。
大きな進展があったときこそバージョン番号をどどっと進めてアピールすべきだったのに。
最近はJRubyで開発してるわ。 というのは、Java関係の解析ツールがすごく充実していることに気づいたからさ。 VisualVM, Jconsole, VisualGC, jhat, ... 仮想マシンとしてのJavaは非常に素晴らしい。
よくわかんないけど、効率のいいコードを書くため?
1.9のWin32API.newがAPIの戻り値の型指定でnilを受け付けません 1.8互換にするか、マニュアルの方を 「nilは使えなくなりました」とかにしてほしいです 1.9でのWin32APIは1.8互換のためのラッパーに過ぎないので どちらかというとライブラリのほうを修正するほうがいいと思います
組み込みRubyってどんなんなん? カード型電卓みたいなのでRubyが動いたりすんの?
もらいものの図書カードが5000円分くらい余っていて いい加減1.92な書籍買おうか迷う。 1.92使い慣れてからたまに1.87に戻ると不便すぎて 使えねぇ〜〜って感じるくらい進歩してるもんですかね。
1.9.2を1.92と書く男の人って・・・
1.8.7には戻りたくねぇ
使い出したのが1.9.2からなんで1.8.Xとの違いがわからない そんなに違うのかい
全然違う。何が違うって気分が違う
一行目におまじないを書かないといけない時点でなんか萎えた。 あれって治ったのかな。
デフォルトが coding: utf-8 ならよかったのだが
ASCII で書くならおまじないは必要ないよ
つまりおまじないが必要だってことだ
無指定ならシステムのデフォルトにしてくれたらよかったのに
LANGの違いで同じソースコードが通ったりエラーになったりするわけだ。 素晴らしいアイディアですね。redmineにFeatureとして登録すれば?
文字コード関連は意味不だから 仕事でも全く意識してない。 とりあえず今のところは文字化けしないし良しとする。
>>972 賛同してくれてありがとう
LANGの違いで同じソースコードが通ったりエラーになったりするのが嫌なら
明示すればいいだけだし記述必須の今よりはるかに楽になるよね
975 :
デフォルトの名無しさん :2011/01/14(金) 20:17:14
ロシア人の作ったgemとタイ人の作ったgemをrequireするがいい。
そういう想像力のないバカだからな。 おそらく他にも想像力の足りてないコードを山と書いていそうだな。
全てを想像できる人間は超人だけなんだから、足りない部分は皆で補間すればいいんだよ。
1.9.2のマジックコメント=VistaのUAC地獄 99%の人は辟易してるんでぜひ改善してくださいね。
うちのはいまだに1.4.2だわ
EUC-JPで書こうがShift_JISで書こうが 自動認識するのが筋 Pythonは実際にやっているから好きだ
>>980 そして1行目にコメントでEUCとSJISを確実に識別できるような文字を書こう、
というノウハウが普及するわけだw マジックコメントとどこが違うの?
utf-8で統一してしまえば、いいよ。 誤認する可能性のある自動認識は信用できん。
1.8系はそこらへんどうしてんの?
1.9系からブロックのローカル変数の仕様が変わったせいで 会社のウェブサービスが1つ破滅した。 原因究明するのにやたら時間がかかった。
>>984 え?テストもせずに1.8から1.9に乗り換えたの???
自動認識とか言ってるやつは、 自動認識をどうやってやっているのかわかってないんだろうな
rubyの構文なんて楽するための仕組みが山盛りになってて それによって生じる曖昧さを回避するためのエスケープ表記がさらに山盛りになってるのに こと文字コードに限っては等しく厳格じゃなきゃいけないというのは 思想の一貫性に欠けてるよな。 eucがデファクトと言い張るのはさすがに無理だから他も道連れにしてやると言う まっつんつんの私怨のようなものすら感じてしまう。
文字コードに関しては厳格じゃなきゃプログラムとして使えないのだが 5ページ読むごとに1回文字化けするサイトなんて見てられない がっこうのかだいとかしゅみ程度なら問題ないけどな
>eucがデファクトと言い張るのはさすがに無理だから他も道連れにしてやると言う >まっつんつんの私怨のようなものすら感じてしまう。 Matzが嫌いなもの C++ Perl UTF-8
UTF8はすばらしいコード体系だと思うんだがなぜなんだろう
え、1.9のあのキタワーAAみたいな一文って任意じゃなくてrbファイルのたびに必須なの?w だっせーww
>>989 PHPには嫌悪感を丸出しだと思うが、Perlは別に嫌いじゃないだろ
>>990 マルチバイト圏な人間にとっては、
外とのやりとりはUTF-8、内部はUTF-32にしてくれたほうが
シンプルになっていいよーな…
Matzが日本有数の言語ヲタであることを知ってるのはこのスレに1割もいない希ガス
みんなしってるというか次スレをだな やっぱりプログラマって協調性が
おk 立ててくる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。