勝手ながら次スレ立てました
テンプレは
>>1-4 からコピーしましたが
訂正補足等ありましたら、よろしくおねがいします
それから次スレが立っていないなら
スレ進行抑えようよ
>>5 乙
しかし俺は書きたい時に書きたいことを書く。
それが俺のジャスティス(正義)。
10 :
デフォルトの名無しさん :2007/10/30(火) 00:20:02
Ruby(笑)
とうとう Ruby が Mac OS X 10.5 において Cocoa の公式開発言語になりました。 Cocoa 開発言語として,Objective-C と並ぶ第一級市民の座を得ました。 (同時に Python も第一級市民になり,Java は市民権を剥奪されました。) Cocoa や Objective-C のオブジェクトモデルが,Java よりも Ruby と親和性が高かったのが理由のようです。
13 :
デフォルトの名無しさん :2007/10/30(火) 04:52:33
>>11 まぁそんなもんでしょ。
試験会場が島根っていうのがもう…
資格検定ってなんか金の臭いがするんだよね 受ける側じゃなくて主催者側にまわらなきゃ損
>>14 気づくのが遅いwww
Ruby自体ドキュメントを用意せず適当に書いた本を売って金儲けしようとしてるのに。
え?ドキュメントってあるじゃん。 調べることの8割ぐぐったら済むけど
残りの2割に金を出すひとが大勢いるってことですよ。
お金の臭いがすることは悪いことじゃない。 お金の力は素晴らしい。不可能を可能にする。
仕様のドキュメントがない
>>11 もうロゴ決まってんのか
しかしこのロゴは・・・初心者スレでも貶されてたけど、あんま良くないね
Rubyの仕様書=rubyのソースコード
>>21 それ、バグ修正やセキュリティ修正すると仕様違反になるんだけど
>>22 なりません。
ソースコード=仕様書ならば、ソースコードを変更すると仕様書も追従するからです。
とりこまれる前のパッチは仕様違反、と。
>>23 とすると、バグも脆弱性も修正する前は仕様って事になるが、
そんな欠陥だらけの仕様に意味があるのか?
>>25 >とすると、バグも脆弱性も修正する前は仕様て事になるが
ソフトウェア業界じゃそんなの普通だろ。だいたい動けば意味があるんだよ。
「動けば意味がある」のはソフトウェアとしてであって、 仕様として意味があるわけじゃない。
>>25 意味がある無いの話に、意味があるのですか?
ソースコード=仕様書という主張には意味があるのですか?
>>24 いいえ、パッチの当たる前の仕様と、当たった後の仕様の両方が存在することになります。
とりこまれる前のパッチは、パッチの当たる前の仕様に違反してしまいます。 また、とりこまれる前のパッチは、当たった後のソース=仕様は存在していません。
>>29 意味論を持ち出したのはどちらか考えてから、オウム返しをするようにしてくださいね。
34 :
デフォルトの名無しさん :2007/10/30(火) 23:22:57
だからなんです
なるほど、だからなんですね。 では、結論が出たところでこの話はここらへんで終わりにしましょうか。
言語の出来や作者の態度があまりに糞だと、信者のフォローが非常に難しい仕事になり、 しばしばその難しさを「語気で押し切る」という手段で突っ切ろうとするようになって、 空気が悪くなるわけだ。
ソースが仕様というのは後付の方便なので過剰に意味づけしようとしても ナンセンスだという方に道理があると思う
つーか、matzも本気で言っている訳じゃないだろ。 そんなとこつっこまれても、はぁ?としか思わんが。
ま、都合の悪いところは冗談で流すのがMatz流だってのは確か。 言うだけ言って、通ればそれを便利に使い、反感を買えば「あれは冗談だったんだけどなぁ」。
真に受ける人ってのはいるからね フリーなんだしお互い寛容でないと
>>39 みたいな不誠実な態度に対しても寛容であれ、ってのはどうかと思うが。
Matzが実際にそうだったかは別にして。
100%本気じゃない100%冗談でもないってのは高等生物のメタレベルにある可能性みたいなもの、と思おう。
信者は寛容すぎるだろ 独裁のせいで取り入らないと希望が実現されないからか?
処理系作るわけじゃないんで、正確な仕様とかどうでもいい。 無くても困らない。
>>37 というか、これ自体わりと昔からあるジョーク混じりの物言いなんだけどねえ
これで言質取った気になられても困ると思うぞ
fj.* すら知らんやつらはこれだから困る
誰も言質は取ってないだろう。 言質を取ろうにも取りようのない、後からどうとでも意味付けできるヌルヌルした物言いで その場その場を逃げ回る姿勢と、それを必死で擁護する信者の姿勢が叩かれてるだけ。 言質を取れるような確固たる物言いをする人物なら、まぁもうちょっと評価もされてるさ。
極端な話、Linuxだってセマンティクスのレベルで議論すればPOSIX準拠
どころか、ソースと実物が仕様、という状況だったりするし、
カーネルソースのDocumentation/以下の雑多なことといったら。
Rubyの開発規模からすれば、その程度、HHOSと笑って流すレベル。
HHOS →
ttp://catb.org/jargon/html/H/ha-ha-only-serious.html (資格試験とか言い出すのが痛い...わけだが)
PythonのドキュメンテーションやPEPの整然っぷりがむしろ際立ったもの
だと俺は思うね。
>>45 いやさぁ、無粋な突っ込みを笑ってスルーできないあたり、
仕様がないのはRubyの欠陥だと思ってる連中は多いんじゃね?
同意 ドキュメンテーション周りは負担になってる
ruby のリファレンスマニュアルの 503率はどうにかしてほしいと思っている
あれは編集荒らし対策なのではないか
あ、もしかして、 気合い入れてマニュアル編集して SUBMIT 押したら 503 とかいう事故が頻繁に起こってたりする?
55 :
53 :2007/10/31(水) 19:39:38
>>54 悪いけど、あんまりマニュアル書きに手を回す余裕がないので
責任の生じるプロジェクトへの参加はお断りします
今までも気が向いたときにしか、マニュアルへの加筆やってないし
ところでるりまって、公式のリファレンスマニュアルからリンクされてないみたいだけど
あれはまだ未完成だからなのか?
WinXPなんだけど、2GBを超えるファイルのFile.size()がマイナスになる。 回避策はあるんでしょうか?
>>57 とりあえずもうちょっと環境を書こうぜ
Windows XP Home
NTFS
cygwin ruby
で 4G 越えのファイルに関して以下のコードを実行したけどちゃんと実行できたよ
ruby -e "p FileTest.size('yes.txt')"
ファイルシステム
ruby の環境
どんなコードを実行したのか
これらを書かないとどこに原因があるか分からないよ
しかし、4G 越えのファイルが必要だったので
yes > yes.txt
とかやって作ったけどえらく時間がかかったよ
59 :
57 :2007/10/31(水) 22:45:32
>>58 お手数かけすいません。
Windows XP Home SP2
NTFS
ruby 1.8.4 (2006-04-14) [i386-mswin32]
で、2,235,826,176 bytesのバイナリファイルxxx.xxxに対して、
ruby -e "p FileTest.size('xxx.xxx')"
を実行すると「-1884489728」と表示されてしまいます。
>>59 ふーん、mswin32 じゃ 2G 以上は負で表示されるんだね、原因が分かってよかったね
糞言語すぎる・・・
回避策って書いてあるのに原因とか何言ってんだ
ロゴ失敗について ・「ロゴ」自体が抽象的であって適当でなかった →「32x32アイコン、16x16アイコン、128x128アイコン、256.256アイコン、 及び、80x30バナー、700x200バナー、a4ポスターサイズ、等に転用可能なもの」 など具体的なものを指定すればよかった ・最初からテーマを指定したほうがよかった ・大事なもんだし、rubyのビジネス利用を期待するなら、からどっかきちんとした 広告会社・デザイン会社に依頼すべきだった
毎月コンテストやればどうということはない
>>59 -1884489728 & 0xffffffff = 2,410,477,568
計算が合わないがどこかで間違えてないか?
別のファイルと取り違えたとか。
回避策はとしては、処理系を取り替えるか、
外部のまともなライブラリ/プログラムを呼ぶ。
system 'dir'、win32api、win32ole等
>>60 4GB超えたらどうすんだ?
ロゴコンテストの企画のセンスは所詮、松江市の町おこしレベルだったな。 タイポグラフィのダサさをみて絶句した。Matz の独断裁量っつーのもな。 彼の絵心のなさを知って、なんというかちょっとホッとしたぜ。
ロゴはRubyらしい手作り感があるな
優れたプログラマが同時に優れた絵描き/デザイナであることはほとんどない。
「
>>69 の第10法則」と名付ける。
プログラマって絵心に欠けたり美的センスに欠ける人の率が高い気はするな whyなんかは例外中の例外か
71 :
54 :2007/11/01(木) 21:14:27
>>55 うーん。残念。
そのうちパッチ投稿システムもできるみたいなんで
できたらそっちで協力してくださいな。
# 自分もあまり作業できてないorz
優れた絵描き/デザイナが同時に優れたプログラマであることはほとんどない。
「
>>72 の第11法則」と名付ける。
ハッカーと画家
音楽の才能はある人がいるような気がしなくもない ストールマンのリコーダーって上手いの?
クヌースは教会のオルガン(てことはパイプオルガンか)奏者だというのは有名。
76 :
59 :2007/11/01(木) 23:43:26
アランケイはピアノだっけか。 才能の有無は別として、絵描きを楽しむ人より、演奏を楽しむ人の方が多い気はする。
キーボード使い
生活に余裕が出来たら絵とか音楽とかやりたいわぁ。そんなもんだろ?
Chad Fowler はプロのサックス奏者だったんだっけ。
現代音楽とかはおすすめ。 といっても、あんまり最近のはさすがに「普段音楽と呼んでいる物」と距離があり過ぎるんで、 ちょっと遡ってメシアンとかおすすめ。できれば構造や技法について書かれたものも読みながら。
オカリナ吹きですがRuby使ってよかとですか? # いやダメっつわれても使うけど
503 Service Unavailable
86 :
デフォルトの名無しさん :2007/11/03(土) 11:43:01
新しくきまったRubyのロゴってそんなに不評なの? 前スレdat落ちで最後あたりよめなかった・・・ ロゴが不評っていうのの理由、だれかまとめてくれ 良くも悪くも、デザイン的に無難て感じがしたが。 まあ、一般のビジネスに使うような、覚えやすいロゴというのではないな。
88 :
デフォルトの名無しさん :2007/11/03(土) 12:08:25
89 :
デフォルトの名無しさん :2007/11/03(土) 12:13:18
目のやりばに困るな
>>89 スラドあんまり見に行かないけど今回のリンクはGJ
落選したロゴがいっぱい見られて参考になりますね
なんでJPEGにしたんだろう
94 :
デフォルトの名無しさん :2007/11/03(土) 13:50:11
特に外人はタイポグラヒーにウルサイからな
4つ目は応募作品じゃないような・・・
そろそろRubyでも勉強しようかと思っていたましたが、ロゴのせいではげしくやる気をなくしました。 さようなら。
入選したロゴ、悪くはないけど無難なデザインな感じ まぁデザインが重要な分野じゃないし、これでいいのかな
どれが新ロゴか分からん
>>98 そこでやる気を無くすような異常にイメージ先行な奴は、
そもそもRubyという二番煎じなネーミングでやる気無くす気がする。
>>101 >そもそもRubyという二番煎じなネーミングでやる気無くす気がする。
漏れも思った
matz が I hate Perl. って言っておきながら Ruby っつーネーミングがなぁ・・・
ロゴ自体は普通だけど下のセリフで無駄にデカいLanguageってのが醜いね。 あれは削除して使うことは可能なんだろうか。
ロゴなんて何でもいいじゃん。
>>96 2つ目のRubeeは面白いな。
まぁ、どれをとっても新ロゴよりましだ・・・orz
ruby2.0って一体いつになったら出るの?
110 :
デフォルトの名無しさん :2007/11/03(土) 17:23:01
111 :
デフォルトの名無しさん :2007/11/03(土) 17:23:37
>↑ここに > Matz >て入れると・・・ Matz. だな
これはひどい
I am not matz.
マッツ
スーパーMATZになったらメビウスが一緒に戦ってくれますか?
トミコー
マシコ
| ∧∧ /⌒ヽ) もはようちゃん i三 U ~三 | (/~∪ 三三 三三 三三
マルチうざい
>>119 その記事にあるCocoaReplってirbみたいな感じでCocoa参照して
ウィンドウ作れたりするんだ?それはちょっと楽しそうかも…
replってのはread/evaluate/print loopの略だな。 読んで評価(実行)して出力するループ。 対話型環境ってことだ。
130 :
デフォルトの名無しさん :2007/11/07(水) 12:55:05
iアプリrubyってないの?
iアプリ上で動作するRubyインタプリタのことなら多分無い iアプリで動くコードを吐き出すRubyの何かということならそれもきっと無い クライアントがiアプリである場合に特化したCGIモジュールとか何かなら…聞いたことないなあ
よく知らんけどJRubyとか駄目なん? まぁ吐き出すバイトコードがでかすぎてアプリのサイズ制限に引っかかりまくりそうだけど。
たしか中田なんとかさんの研究室で iアプリとして動作するJavaインタプリタみたいなの作ってたから それまねすればRubyも作れるんで内科医?
ttp://members.jcom.home.ne.jp/nitar/diary200610.html 2006.10.24(火) 引き籠もり
[本読む]
スモールコンパイラの制作で学ぶプログラムのしくみ/著:石田綾,監修:中田育男/2004
これはすごい本です。コンパイラをリンゴ農園に喩えています。
ちょっと喩えて説明するくらいなら普通ですが、コンパイラがある程度完成するまで、
200ページ近くにわたって喩え続けます。もはやパラノイア。
こんなに恐ろしい本だとは思いませんでした。
プロ・グラマーさん、コン・パイラくん、剣士アセン・ブラといった登場人物達も
シュールな世界観をより味わい深いものとしています。この本は中田教授曰く
「文系のセンスで書かれたコンパイラの本」らしいので、つまり上記のキャラクター達は
「文系のセンス」だということになります。そんな馬鹿な…! 文系を馬鹿にしすぎでは。
世の中にはこのような「文系のセンス」がわかりやすいという人もどこかに
居るのかもしれないけれど、自分にとってはわかりにくいだけでした。
そもそもコンパイラはわかりやすい比喩で最後まで説明できるほど簡単なもの
ではないでしょうし、このような比喩がわかりやすいと感じる層
(例えば『Cの絵本』とか読んだりするような…?)はそもそもこの本を
手に取らないでしょう。書名はまったく「文系のセンス」ではないし。
最後の章ではiアプリ版コンパイラを携帯電話で動かしているのですが、
プログラムに絵文字を使ってprintを「晴れ」の絵文字に割り当てて、
かわいらしくなって良かった良かった、という相変わらずの「文系のセンス」…?
でもprintと「晴れ」の間にどんな関係があるのでしょう。
他の命令も全く関係のない絵文字に割り当てています。関係があれば良い、
というわけではないけれど、面白くないなあ。
そんな「文系のセンス」に負けずに読んだものの、残念ながら
コンパイラに対する興味は増しませんでした。自分は無味乾燥な本が
好きなわけではないけれど(だからこそ読んだわけで)、これは厳しいなあ。
預言者だって譬え話しかしなかったんだぞ
matzもアフィやってたんだ・・・
半年振りくらいに見に来たのだけど、2.0の話題はタブーなの? 1.8系だとネイティブスレッドに対応してないから、 新版に期待してるんだが。。。
タブーというか、2.0はまだまだ先だよ。
そうか。 拡張ライブラリや組み込みRuby考えると、 ぜひともネイティブスレッド対応だけでも早くやってもらいたいんだけどね。 1.9系ならもう対応してるんだっけ?
ネイティブスレッド対応しか気にしてないなら、それは1.9で達成されてるのでOK
143 :
デフォルトの名無しさん :2007/11/08(木) 19:03:25
126 名前:デフォルトの名無しさん[sage] 投稿日:2007/11/08(木) 18:07:34 今日東工大に James Gosling が来て話をしていったけれども 聴講者から .NET に関して質問が出たらこう答えてた ・2-3年前までは .NET に危機感を抱いていたが今ではまったく危機感はない ・MS .NET で作られたアプリが Mono で動くのは 0% である なんだかずいぶんとなめられてる 130 名前:デフォルトの名無しさん[sage] 投稿日:2007/11/08(木) 18:43:41 今危機感を抱いているのは Ruby ではあるが Java で足し算は1ステップでできるが Ruby では数百ステップかかる よって敵ではない だそうだ
ぅゎまじかよゴスリンたん。 あれこれ動いてたってば、svn尖端版でのデモだけどw 危機意識持ってくれよ。てかそれどこのスレ?
>>143 数百ステップもかけて、いったいどんな足し算を
機械語レベルの話じゃないの。 ようするに糞遅いと。
>>144 VS2008(ミスで2007に)スレPart3
>>146 最近のJavaVMってそんなに高速なのかw
>>147 JITコンパイラならできるんじゃねーの。知らんけど
print (1 + 2) という1行を実行するために読み込まれるコードは数百ステップという主張は まあRubyはスクリプト言語だしそうそう間違ってはいないと思う が、Javaだと1ステップくらいに制限して実行できるのかというとちょっぴり疑問
まぁ、言語仕様でべたべたにガチガチなプリミティブの int 型と + があるおかげで、 JIT コンパイルすりゃ、確かにアセンブラレベルで 1 命令には落ちるけど。
あ、やっぱそうなんだ 主張としては間違ってはいないのな(w
VMだってマシンだ!ってことじゃないの?
>>153 JITで出来るって上のレスで書いてあるのに何で読めないの?
あ、YARV の JIT コンパイラはターゲットが VM の命令か。 Java の JIT コンパイラは、普通、実機の機械語がターゲット だから実機の話になるんだけど... 1 + 2 という例が卑怯w
卑怯といったところでJavaとRubyの速度差が縮まるわけでもなし
ていうか、静的型のコンパイラと動的型のインタプリタを速度で比べて 遅いから敵じゃない、とか言ってる訳だから 「敵じゃない」ってのは「Rubyを駆逐できる」というか 「住み分けできる」とかそういう話じゃないの? 俺はJavaとRuby比べるのはナンセンスだと思ってんだが。
もろに適用範囲かぶってるだろが。アホか
「もろに」の用法を勘違いしてるのかな?
Rubyに批判的な言説をこのスレが受け入れる、と勘違いしているんだろう。 そんなわけないのにね。
161 :
デフォルトの名無しさん :2007/11/09(金) 19:59:13
ActiveRecordの使い方教えて下し亜 あ、ソース嫁は梨で
客はどっちで動いてるかなんて関心ないよ 速く目的が達成出来て あとほんの少し便利であればいい
何より大事な「安く」が抜けてるな。
通信やDBアクセスがあるから言語の実行効率は問題にならない、とか寝言言ってる奴がたまにいるけどさ、 DBの負担を減らすためにDBは簡単なスキーマにして言語側ロジックで複雑な処理をする事あるじゃん。 その場合にRubyとJavaじゃまるで実行性能が違う。 後、Javaだと変数をアプリケーションスコープに入れとけば簡単に永続化できる。 これもDBへのアクセスを減らすことに役立つ。
そんなの含めた上で、かかる時間の占める割合が (減らした)DBへのアクセス > 言語側の複雑な処理 って主張じゃないのか 少なくともこういう主張には経験則も混じってると思うが
酔いどれ的にはなるべく永続的なスコープに入れるなんて設計考えちゃ駄目だと思う
それはケースバイケースだろ。
>>164 >後、Javaだと変数をアプリケーションスコープに入れとけば簡単に永続化できる。
おまえ、永続化の意味を勘違いしている。プロセスが終了すれば消えてしまうようなのは永続化とは言わない。
ちなみにアプリケーションスコープは単なるグローバル変数と同じだぞ。それを利点として強調するのはどうかと。
JRuby1.1でフルコンパイルかけたら、処理能力的にはどうなるんだろう? どっちもJavaVM上のクラスとして動くわけだよね?
>>164 がアプリケーションコンテナベースの開発という偏ったレンジの話ということでFAな気が
>>169 よそのスレからコピペしとく
> そうしたところで「1 + 2」で実行すべきコードが
>
> 「プリミティブ int の 1 と 2 の加算」となるか
>
> 「(動的にいつ再定義されるかわからない) Fixnum#+ メソッドを、
> 1 を表すオブジェクトと 2 を表すオブジェクトを引数にして呼び出す」
>
> という、えらい意味に差のあるコードであることは変わらん
JRubyが十分賢くなれば最適化してくれるんじゃない?
>>172 幾ら賢くなっても型が不定じゃ最適化しようも無い。
再定義されていないことがわかれば最適化できるだろうね。 つうかそんなに数値計算って多いか?
本当に「1 + 2」と書いてあったら人間が最適化して3て書いときゃいい。 念のため「1 + 2」はコメントとして残しておけばいいだろ。
全然ライト・ウェイトと真逆やん。
RubyGemsキター
解読すると、svnのtrunkにrubygemsが統合されたと言うことのようだ。
RubyをWindowsOS上でapacheと連携したCGI言語として使用したいのですが mod_ruby以外での設定方法を説明しているページをしっている方いらっしゃいませんか?
mod_rubyだとなんか都合悪いの?
mod_rubyはまず公式のWindowsバイナリがダウンしているのでダウンロードが行え ないのです。RubyForgeからFASTCGI、mod_rubyがセットになったexeファイルを ダウンロードし設定しているのですが、どうしてもapacheのhttpd.confにてmod _rubyのモジュールを組み込む為のLoadModule ruby_module modules/mod_ru by.soという記述でエラーが発生しapacheが起動できなくなるのです。 Ruby本体は1.8.6-26 Releaseを利用しています。
>>183 WindowsでApache使ったことない(というか使おうとも思わない)のだけど、
Windows用のも拡張子 .so なの?
本人がエラーって言ってるんだからエラーなんだろ
186 :
183 :2007/11/11(日) 19:06:03
はい、Windows用モジュールの拡張子もsoです。apache側の他のモジュールは 同様のLoadModuleでエラーなく機能するのですがmod_ruby.soはエラーが発 生し正常に機能しないのです。
187 :
183 :2007/11/11(日) 20:00:38
mod_ruby.soモジュールはmoduleフォルダ内に確かに存在しているのですがapacheの
エラーログには
Syntax error on line 176 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
Cannot load
C:/Program Files/Apache Group/Apache2/modules/mod_ruby.so into server: \x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B
と表示されapache起動ができないのです。設定は以下のサイトを参考にしてみました。
ttp://www.syssupo.co.jp/net_hal/ror.html
>187 mod_ruby.soが依存してるdllにpathが通ってるかどうか確認。 てゆーか、とりあえず動かしたいだけなら、ふつーにCGIとして動かすんじゃダメなん? 他の言語のCGI動かすのと同じ要領でいけるはずだが……
久しぶりにこのスレ見たけどルビ厨キモいわ。
191 :
183 :2007/11/11(日) 21:50:54
>>188 普通にCGIとして動作させる場合apacheのhttpd.confの設定内容
は具体的にどのように設定すればいいのでしょうか?
class Pathname def set_ext(ex) if /[\s\S]\.[\d\w]+\Z/ =~ @path.split(/[\/\\]/)[-1] @path.sub!(/\.[\d\w]+\Z/, ".#{ex}") end self end alias ext= set_ext def insert_before_ext(str) if /[\s\S]\.[\d\w]+\Z/ =~ @path.split(/[\/\\]/)[-1] @path.sub!(/(\.[\d\w]+)\Z/, "#{str}\\1") end self end end
def set_ext(ex) @path.sub!(/([^\/\\])\.\w+\Z/) {"#{$1}.#{ex}"} self end def insert_before_ext(str) @path.sub!(/([^\/\\])(?=\.\w+\Z)/) {"#{$1}#{str}"} end 1.9だとlook-behindもできるんだけど。
CGI::Session::FileStoreが壊れることがあるのは俺が悪いんじゃなくてバグだったのか
全てのものは適材適所 壊れるような状況でFileStoreなんて選んだお前が悪い
>>196 いや、あれはどんな状況で使っても壊れうるだろ。
壊れると困るような環境でFileStoreを使うのが悪いと言われればその通りだ。すまん。
ということはCGi::Session::FileStoreの作者自身の選択ミスってことでFA? (んなわきゃーないw)
うあ ×CGi ○CGI
FileStoreの作者はMatzなんだが...
まぁ「使う人間の自己責任」がOSSのルールだけど それにしたってセッションの永続化に 「いつ壊れるか予測もつかないもの」を使うって選択はぶっちゃけありえない それは「このライブラリ、実運用では使っちゃだめよ」と言ってるのと同じだとオモ
実運用でつかいたきゃ金払えってどっかのHさんが言ってた
ここでぐだぐだ言ってる暇があったらMLにバグ報告すれば直るんじゃね?
仕様かバグかFileStore 屑コードかそれ以下か 神ライブラリかそれ以上か
val = Time.mktime(year, month, day, hour, min, sec) と同じことを拡張モジュールで書くのはどうしたらいいですか。 VALUE val; int year, month, day, hour, min, sec; /* ??? */
time.c を読めば良いと思われ。
rb_funcall()
>>208 rb_funcall(rb_cTime, rb_intern("mktime"), 6, INT2FIX(year), INT2FIX(month), INT2FIX(day), INT2FIX(hour), INT2FIX(min), INT2FIX(sec));
でいけました。
ありがとうございました。
210 :
デフォルトの名無しさん :2007/11/22(木) 01:47:23
>>210 WEB FORUM での最近の投稿とか怪しげなタイトルが踊っているなぁ・・・
盛り上がるのは嬉しいことなんだが、金儲けのタネにされているのも悲しい。
>>210 Ruby SNS 経由でメッセージ送りつけてくるような奴なので
胡散臭くて参加する気にならん。
matzが基調講演とか何とか書いてあったと思うが大丈夫かいな(matzが)?
金儲けのタネにしても、これは怪しすぎるな。 ていうかRuby Forumのサイトがxoopsなのはどういうネタ?
普通の社会人はこんな風に自分の所属を晒すことに同意しなくね? 長ったらしい同意事項にこっそり入れてあるとか?
>>212 敬虔なモルモン教徒だからこんなものには動じないだろ
matzは金の為なら何でもするからなぁ。
218 :
デフォルトの名無しさん :2007/11/22(木) 12:48:23
全般的にRUBYと大文字で書かれているのが気持ち悪い。
全体的に怪しげだな。matz が出るということだけがまとも?っぽい。 指摘あるように ruby といいつつ xoops, Powered by …はスペルが間違ってる。 全体的に web のインターフェースも使い勝手が悪い。
そういう基準でサギっぽいかそうでないかを判断するというのもなあ・・・ 立派なウェブサイトなんてコピペで誰でも作れるんだしさあ。 そういう基準でいえば地方自治体とかひどいとこたくさんあんじゃん。 イベント屋が名前出してるなら何かあったら責任取ってくれるんだし、いいんじゃね。
叩くポイントが稚拙過ぎる。
>>210 参加申し込みした人の一覧を流しただけ。
企業とは関係ないと思う。
>>221 別に誰も叩いてはないんじゃない?単にちょっとダサい、
みたいなレベルの話でしょ。
224 :
デフォルトの名無しさん :2007/11/22(木) 18:26:06
>>224 「フォーラム個人参加者の勤めてる企業の名称一覧」
これはセコい
セコ過ぎる
>>226 登録時に公開すると書いてあるんだから文句言う方もアホ
>>224 のスクリーンショットには「参加者一覧に表示されます」としか
書かれてないけど、別のページに同意事項があるの?
229 :
デフォルトの名無しさん :2007/11/22(木) 19:37:47
これはひどい
こんなことやってると、下手すると会社とかから、 Rubyイベントには参加するなと言われてしまうかもよ。
>>228 それ以上の確認って要りますか?
「参加者一覧に表示されます」って書いてないなら問題あるだろうけど
それで十分でしょ。
ぱっと見、その申し込みページの「参加者一覧」に表示されるだけと思える。 [ruby-list:44263] みたいな使いかたはちょっとありえない。
まぁ参加者一覧に変わりはないと思うんだが・・・・
会社名が先に出てはいるんだが
>1週間ですでに30名以上ものお申込を頂きました。
と人であることはちゃんと明言してるし
リンクページも企業ではなく個人のページに飛んでるし
参加者である
>>232 があり得ないというんだったら仕方がない
抗議をしてあげてくれ、当事者に。
当事者しか意見いえないってどんな言論封殺よ
箔を付けたいんだろうが、それで参加者の信用を失うって 本末転倒もいいとこだな
参加者公開するにも本人の承諾をとらずに所属を公開するとなると 常識が無いということにはなるなぁ。頭に来る人もいるだろうね。
どう考えても非常識なのに、関係者必死すぎw Matzも仕事選べ
認定試験といいこれといい ろくなやつがいないな
拡張モジュールを書いてるんですが、-O2 つけてコンパイルしたときだけBus Errorで落ちてしまいます。 デバッガでデバッグしたいんですが、なんか参考になる文献とかありますか。
デバッグ中だけちゃんと動きそうだけどね
大抵は変数の初期化忘れ
他には assert 内で副作用のある作業をしてるとか、 1つ程度のバッファオーバーフローがあるとか。
Rubyの拡張モジュールの話なのに、GCの所為でエラーになる可能性を言わないコイツラ。 拡張モジュールなんか書いたときねーんだろな。
最適化の有無で変わるの?
たぶん、潜在的にはコードにバグがあるんだけど、たまたま表面化せずに-O2の時だけ顕著化するんだろう。
↑GCの所為で起こる場合があるって書いてあるのが読めないのか?
スタックの消費量によって変わる可能性はあるかもしれないか?
>>242 ,246
まさにその通りでした。変数の初期化がされてなく、-O0のときだけたまたま動いていただけでした。
ヒントありがとうございました。
今回はGCは絡んでなかったのでよかったのですが、そうなったらもうお手上げですね。
もうひとつ質問ですが、rb_ivar_set()では
VALUE obj = ...;
rb_ivar_set(obj, rb_intern("foo"), INT2FIX(123));
だとうまく行かずに
rb_ivar_set(obj, rb_intern("@foo"), INT2FIX(123));
だとうまくいったんですが、"@"は必ずつけないといけないのでしょうか。
Rubyのソースコードをみると、"@"はつけてないように見えます。
今書いてるコードでは、Rubyとは別のライブラリの中に
char *names[16];
というのがあって、これを使って
for (i = 0; i < 16; i++) {
rb_ivar_set(obj, rb_intern(names[i]), val);
}
としたいんですが、"@"をつけなきゃいけないとなるとちょっと面倒だなーと思ってるんですが、こんなときみなさんどうしてますか。
252 :
デフォルトの名無しさん :2007/11/23(金) 23:17:32
ruby-forum.orgはオープンなのに、なんでjpはクローズドなのか・・・
マルチだからじゃないかなぁ
はわわ
2げっとでもしてろってことですか
rubyからlispのリストを扱うライブラリってありますか? 多次元配列にでも格納できると最高なんですが
>>256 それはArrayにcarとかcdrとかのメソッドが欲しいという意味?
それとも "(x . y)" とかいう文字列をリスト構造オブジェクトにしたい?
ansi rubyはいつですか
iso java と競争かもしれない
>>257 後者です。
例えばこうあった時に
(foo (bar hoge))
(moge nuge)
p list[1] #nuge
p list[0][1] #hoge
こんな感じで拾ってきたい。
もちろん拾い方は全然別でも構いません
やりたい事は
listでかかれているデータを別形式に変換するだけです
そして公開するんだ。
263 :
デフォルトの名無しさん :2007/11/25(日) 17:08:55
結論 ない。 誰かが書いて公開するのを待つのが上策
ないですか…。 公開できるようなものが書けるレベルではないので 要素名に対して正規表現で無理やり処理して 細かいところは手作業ですることにします。 ありがとうございました
>260 手動でスタックマシン or 再帰下降パーザー作るのが一番簡単&使い勝手いい。 PEGライブラリあればそれを活用するのもありだけど、そんなに大した話じゃないし。
str = "(foo (bar baz)) (qux quux)" ary = [[]] str.scan(/\G\s*(\(|\)|[^()\s]+)/) do |x,| case x when "(" then ary << [] when ")" then x = ary.pop; ary.last << x else ary.last << x end end raise unless ary.size == 1 ary = ary.first p ary #=> [["foo", ["bar", "baz"]], ["qux", "quux"]] (foo, (bar, baz)), (qux, quux) = ary p [foo, bar, baz, qux, quux] #=> ["foo", "bar", "baz", "qux", "quux"] 要件がよくわからないが、これだけのことじゃないの?
さすがに eval '[%s]' % str.gsub('(', '[').gsub(')', ']').gsub(/(¥w+|¥])¥s+/, '¥¥1, ').gsub(/¥w+/, ':¥¥&') は詐欺なんだろうな。
へぇすごい。ruby って色々なコトできるねw 俺そのやり方は好きだ。
269 :
デフォルトの名無しさん :2007/11/26(月) 01:54:46
RubyでSnうpろだ移植しようと思うんだけど、可能なんだろうか。
>>269 内部で何やってるのかは知らないけど、特に不可能なこともないと思うが
アップロードしたファイルを公開するだけだろ? 基本的には
class Exception alias backtrace= set_backtrace end
いいかみんな、ここに「うほっ」と「moon」という脈絡のない二つの文字がある
うほっ ( ゚д゚) moon
\/| y |\/
二つ合わせると「うほっmoon」になるが、これでは意味が不明だ
?? ( ゚д゚)うほっmoon
(\/\/
そこでExciteの英日翻訳で「英→日」に訳してみる
http://www.excite.co.jp/world/english/ ( ゚д゚ )********
(\/\/
>>251 rubyレベルで見えるインスタンス変数には@が必須。
逆に、ついてないのは内部用途専用。
>>265 >スタックマシン or 再帰下降パーザー
これを書くのに自分だと1ヶ月ぐらいかかりそうだったんです…。
>>266 階層を深く潜るときに配列をそうやって追加すれば良いんですね
それがどうしても思いつきませんでした。
というか全く知りませんでした…。
>>267 最高の詐欺っぷりです、使わせてもらいます
275 :
デフォルトの名無しさん :2007/11/29(木) 12:40:44
Windows で Ruby の入門書といえば どういった本があるのでしょうか? 探したのですが、UNIX系統ばかりで、Windows畑の私にはちと分からないのです。
そんなに違いがあるわけあじゃないから、とりあえずUNIX版の教本を読みながら試して、動いたらそれでいいんじゃね。
よくわからないけど、わかりました。
WindowsもUnixというかPOSIXシステムじゃなかったかな
>>275 初歩の初歩だけ学ぶなら
>>276 の言ってることも正しいが
Windows で使ってるとそのうち絶対
Excel のデータや Word のデータの読み書きをしたくなる
だから Win32OLE / Win32API 関係の勉強はした方がいい
Ruby256本の邪道編がおすすめ
そういうのは必要になったらでいいんじゃね。 OO.oだとPythonで操れるんだよな。ここでもガラパゴス日本の弊害が・・・
がらぱごすでおもいだしたが RubyでIMEの制御ってどうすんの?
>>278 WindowsがPOSIXシステムだというのはPOSIXサブシステムが存在するから。
普通のWindowsプログラムはPOSIXサブシステムを利用しない。
WindowsのPOSIXサブシステムって、XPで廃止されたよね。
287 :
286 :2007/11/29(木) 21:24:55
かぶったorz
WindowsでRubyは躓く点が多々あるわりに情報がまとまっていないから みな同じように七転八倒しないといけないのがつらいな。
どうでもいいよあんな欠陥OSなんて
WindowsでRubyをやるってのは茨の道を自ら選択するようなものだ。 Windowsしか使えないならともかく、UNIX系OSでやったほうがなんぼか楽。 多くのLinuxディストリや、Mac OS Xなら標準で載ってるしな。
Windowsでコマンドライン使おうとすると 何らかのインタプリタが欲しくなる。 そういう時Ruby使うよ俺は。 …最近Cygwinにシフトしつつあるけどw
Windows環境で使いたくて これから新たに覚えるつもりなら Pythonの方を薦めるよ
>>292 前後のレスよく読めよ
操れないとは言ってないだろ
win32oleメチャクチャ便利。もうVBScriptには戻れないw Webで大規模はしんどそうだけど、 業務系のシステムならWindowsでも特に問題ない
もれも最近はVBAすら使わずに Python + Win32com 使ってる 快適そのもの Ruby + Win32OLE より若干便利
module Net class BufferedIO def readline(ignore_eof = false) readuntil("\n", ignore_eof).chop end end class HTTPResponse class << HTTPResponse private def read_status_line(sock) str = sock.readline(true) raise HTTPBadResponse, "no response" if str.empty? m = /\AHTTP(?:\/(\d+\.\d+))?\s+(\d\d\d)\s*(.*)\z/in.match(str) or raise HTTPBadResponse, "wrong status line: #{str.dump}" m.captures end end end end
298 :
デフォルトの名無しさん :2007/11/30(金) 20:26:57
gem update rails をするとactiverecordやactionpackがアップデートされなくて、 結局手動でそれらをアップデートさせているんだけど、そんなもん?
可能性低そうだが、実は既にはいってたとか? インストール済みのに対してgem specification railsとか gem dependency railsとかやってみると変だったりして。
> 可能性低そうだが、実は既にはいってたとか? 運用した後にエラーが出たので確認してみたら、依存パッケージが旧式だったので手動でアップデートした次第。 > インストール済みのに対してgem specification railsとか > gem dependency railsとかやってみると変だったりして。 specification は情報が多いので見落としているかも知れないが、特に異常はなさそう。
ま、静的型付け言語のHaskellで皮肉るようじゃ、アンチも知れたものだけど。
つーか、関数型だったらFibonacciが速くて当然だろ。 内部の処理がまったく異なる。
>>302 この場合は別にベンチマークで言語の評価が決まっているわけじゃなくて、
これまで「ベンチマークが玉に瑕だがそれ以外は素晴らしい」とRubyを持ち上げていた層が
「とうとうベンチマークでも結構やりやがるようになった」と狂喜してるのだから、嗤い方がズレてるよ。
ん、ruby使えばC++なんて要らないって次代になったのかゐ?
>>306 それでもまだ100倍くらいは遅いしデバドラは書けない。
まあ、PythonでもJavaでもデバドラはかけないけどな。
1.8.6の遅さに驚愕w 1.9っていつリリースなん?
>310 み、見ないで…
作者が見てるだろうと思って書くけど、setup.rbに$Id$とか$Revision$を含めてくれんかね。 自分が使ってるsetup.rbのバージョンが分からんから、最新版かどうか調べるのに手間がかかる。 きょうもsetup.rbがなんか動かんと思ったら、バージョンがふるいせいだった。 $Id$や$Revision$を含めてくれるだけで結構違うんで、お願いします。
断る。俺の神聖なソースコードを汚されたくない。
matzは2ch見ない人だと思うが。
setup.rbの作者って青木氏じゃないの?
青木氏だね。
まつもとゆきひろって鬼車の作者に嫌われてるな。作者のブログ読んで心底まつもとが嫌いになった
そりゃあ、Aさんを嫌ってるBさんの主張を鵜呑みにしたら Aさんを嫌いになるのは当然。 他人の「眼差し」をそのまんまコピーして自分の眼差しにするのは気持ち悪いと思うけどね。
>>317 ちょっと blog 見てきたけど、どっちかというといろいろな意味で
鬼車の作者の方が異様に見えてこっちが引いちゃうんだけど。
別に鬼車の作者はいい人なのかもしれんが、ちょっとなぁ…
320 :
デフォルトの名無しさん :2007/12/02(日) 20:49:16
Rubyの批判は許しません!
まっつぁんが削除したとは限らんだろ~。 そんな感情的な理由で消すとかいい大人がキモすぎる。
逆鱗(げきりん)
こういう諍いは悲しいものだね。
諍い(いさかい)
Matzにっきと青木日記が更新しないからつまんないです
>>324 実際どの程度のものがあるのかわからんが、
時間と労力がもったいないし不毛。
ruby1.9 trunkのコンパイルが、y.tab.cを生成するところでこける。 bison -o y.tab.c parse.y parse.y:583: unrecognized: %parse_param parse.y:583: Skipping to next % make: *** [parse.c] Error 1 原因は %parse-param というbison独自機能らしきものを使っていることみたい。 解決策はbison2.3にすればいいみたいだが、新しいbisonじゃないとコンパイルできないというのは確定事項でいいのかな。 というより最初からy.tab.cもリポジトリに突っ込んどけばいいのに。
開発リポジトリにはツールで生成できるものは含めないんじゃないの。 配布物のmakeにはyacc/bisonはいらなかったと思うが。
bisonあたりローカルビルドでもさくっと作れるが、 make 時には YACC= だけじゃなくて BISON= も渡さないと ext/ripper でコケるんだなこれが
DRY 原則って何だっけ?
Don't Repeat Yourself
DRY 原則って何だっけ?
Don't Repeat Yourself
I repeat myself when under stress. I repeat myself when under stress. I repeat myself when under stress. I repeat myself when under stress. I repeat...
クリムゾン好きな漏れでもこれはさすがに引いた
鬼車の作者のブログみてきたがMatzの悪いとこは相手の言った意見を無視してたからだろうな。 ブログのコメントからrubyの開発の一部を押し付けようとしたことは間違いなし。Matzだって 実装コストがかかるとか、ソース読んだけどわからないとか、気概が感じられない。ひげぽん氏 みたいな真摯さがあったら鬼車の作者だってもうちょっと違う言い方してただろ。Matzの頭の中は ruby >>> oniguruma だろうな。
Rubyの作者なんだから > ruby >>> oniguruma はまぁ、当たり前というかしょうがないとしても 当の相手の鬼車作者にもそうと言わんばかりの応対してたら そら、誰でも切れるわな。
もしかてMatzってワンマンなの?
>>337 クリムゾン好きって別の世界のクリムゾンを想像してしまったじゃないか
「上から来るぞぉ 気をつけろぉ」?
くやしい……でも感じちゃうの方
鬼車のPython実装はありますか?
Jruby用にOnigurumaをJava実装したやつがあるから Jythonで使えるんじゃね?
Pythonバインディングのことでは?
ruby1.9 trunk に benchmark/run.rb があるのですが、これを実行すると瞬間で終わってしまい、あまりベンチマークとしての役に立ちません。 なんかオプションとかでループ回数を指定できたりするんでしょうか。
1.9って奇数だから正式リリースじゃないとかそういうのあったっけ? それって1.9.1といった3桁目? 早く高速なRuby使ってみたい・・・
別にリリースを待たなくても今すぐ trunk の HEAD を試せば良くね?
おいrev. 14109 thread.cでコンパイルできないぞ はやく直せ
早いな。直したよ。
thx.
>>354 ありがとうございます。でもmake benchmark するとこんなエラーになりました。(MacOS X)
ruby 1.8.6 (2007-03-13) [i686-darwin8.9.1] ./benchmark/bm_app_factorial.rb:3:in `fact': stack level too deep (SystemStackError)
from ./benchmark/bm_app_factorial.rb:3:in `fact'
from ./benchmark/bm_app_factorial.rb:10
from ./benchmark/bm_app_factorial.rb:9:in `times'
from ./benchmark/bm_app_factorial.rb:9
-----------------------------------------------------------
raw data:
[["app_answer", [[1.13867712020874], [0.300807952880859]]],
["app_erb", [[3.94854784011841], [3.80503916740417]]]]
Elapesed time: 9.382825 (sec)
-----------------------------------------------------------
benchmark results:
name ruby 1.8.6 (2007-03-13) [i686-darwin8.9.1] ruby 1.9.0 (2007-12-05) [i686-darwin8.11.1]
app_answer 1.139 0.301
app_erb 3.949 3.805
./benchmark/driver.rb:210:in `measure': Benchmark process exited with abnormal status (256) (RuntimeError)
from ./benchmark/driver.rb:194:in `measure_file'
from ./benchmark/driver.rb:22:in `map'
>>355 ulimit -s unlimited
じゃ駄目?詳しくはman bashで。
>>355 bm_app_factorial.rbの数値を5000から3000に下げたら実行できました。
でもまた違うエラーがでたので調査中。
>>357 bm_app_factorial.rbはデフォルトの5000はダメで4000までならOKでした。
あとbm_so_ackerman.rbもstack level too deepなエラーになったけど、NUM=9をNUM=8にしたら行けました。
>>356 ulimit -s unlimitedは効かなかったです。
というか、エラーが起こったのは飛ばして、ベンチマークを継続してくれるようにしてほしい。
さわってないけど-kとか?
>>358 何がしたいの? ruby/benchmark/移行は開発者用のやつなんだから
自分で解決できないなら見る必要ないじゃん。
ベンチマークが取りたいならtimeを使うか、requie 'benchmark'なさいな。
>>360 ruby1.9がどれだけ速いか確かめたいだけ。
1.8と1.9の比較のためのベンチマークが用意されているんだから、それを実行してなんか悪いの?
>自分で解決できないなら見る必要ないじゃん。
自分で解決したじゃん。何インネンつけてるのさ?
逆切れするのは心にやましいところがある証拠
冷静に見て喧嘩好きばかりに見えるのは俺だけか? 何で無用な煽りを繰り返す?
煽りはアンチスレでやればいいと思うんだ。
>>361 自分で解決できるんならこのスレでやらンでね、おねがい(はぁと
アンチスレへどうぞ
>>363 頭の悪い人間が上から目線のコメントを楽しむ為には、
相手に対する無理のあるバカ扱いが必要になるんだよ。
>>361 は男の子か?カワイイぞ気に入った。俺は関東地方に住む28歳の男。ホモだ。
メル友からはじめて気が合えば会って話しをしてほしい。俺はもう大人だからな
どんなプレイにも応じてあげられるんだけど。
いきなりホモだなんて言ったら頭のおかしいやつだと思うだろうが勘違いしないで
ほしい。隠し事は嫌いだから自己紹介をしたまでなんだ。お前みたいな奴を恋人に
したいと思ってる。
どうだ今度一緒に飯でも食べにいかないか?
一人でがんばってるなぁ
なんでまずいの?
372 :
デフォルトの名無しさん :2007/12/07(金) 14:20:38
サンプル程度のショボいベンチマークを実行するにも一苦労のRuby
then のコロンによる置き換えは1.8でpytonっぽいという理由で入って、1.9で削除されている(笑)
:が貴重になったんだよ case foo when hoge: hogehoge when hage: hagehage みたいなのも出来なくなった
376 :
デフォルトの名無しさん :2007/12/07(金) 22:38:14
むしろthenって何のためにあったの?
一行にif文を全部書ける if <cond> then <then-clause> else <else-clause> end
1.9は {:a, 1, :b, 2} みたいな書き方も出来なくなった
できなくていい
>>378 え、マジで?
ちょっとリテラル書く時に愛用してたのに
JSONみたいな{a: 1, b: 2}になるんだっけ?
irb(main):001:0> {a: 1, b: 2} => {:a=>1, :b=>2}
irb(main):002:0> {a: :A, b: :B} => {:a=>:A, :b=>:B}
そんな表記法知らなかった。
Fluent Interfaceも便利だぬ ただ、日本語訳の流れるような~ってのはいかがなものか
BASICといえば foo(1, 2, 3, , ,4) みたいなデフォルト引数の設定されている途中の引数を飛ばせる 超便利機能をどの言語もパクらないのは何でだぜ
特許で守られてるからだぜ
名前つき引数で引数の数どころか順番も適当に変えられるからその機能は不要
最近確信したわ どうあがこうがPythonの方が優れてる ほんとドキュメントもモジュールも山のよう Rubyって低レベルなモジュールを作ってホルホルしてる人ばっかじゃん 何やってんの??それってPythonにはもうあるけど(笑) Rubyistのみなさんはこれからも永久にうんこ生産しつづけて下さいねw 俺はPythonistaになって 有 用 な プログラム作っていきますからwww スレ汚し失礼、さよならRuby!
393 :
デフォルトの名無しさん :2007/12/08(土) 18:49:39
プログラミング言語に著作権ってないんじゃなかったっけ?
特許? 著作権? アイディアに著作権はない。 引数をそういう風に省略できる言語は多分前例があるんじゃないか? キーワード引数で済むからあまり採用する言語がないだけで。
395 :
デフォルトの名無しさん :2007/12/08(土) 19:18:30
どっちか忘れた 情報処理の刺客の勉強の時にさらっと読んだだけなので・・ キーワード引数ってなんで1.9で入らないの?
キーワードだけに際どいと思ったとか
構文糖衣以下だからな
【審議中】
ババ バババ ババババ
バババ ∧_,∧ ババ ∧_∧ バババ
∧_∧バ( ´・ω・∧_∧ (・ω・` ) ∧_∧
(´・ω・)=つ≡つ);;)ω(;;(⊂≡⊂=(・ω・`)
(っ ≡つ=つ (っ
>>396 ⊂) ⊂=⊂≡ ⊂)
/ ) バ∧_∧| x |∧_∧ バ ( \
( / ̄∪バ ( ´・) ∪ ̄∪(・` )ババ ∪ ̄\ )
ババババ/ ) バババ ( \ ババババ
バババ `u-u'. バババ ババ `u-u'
そろそろ次のるびま読みたいな。
401 :
デフォルトの名無しさん :2007/12/08(土) 22:51:47
生地核人間がいないんじゃない?
>>387 Ruby とかの OO 言語だとあまり不自由しないし、逆に危険は結構あるのでは。
ケツからなら省略可ってあまりロジカルな仕様でもないよな
ruby初心者です。 簡単な画像処理(線を引く・円を描くなど)がしたいのですが何かいいライブラリはありませんか? いくつか試してみたのですが、PureImageではライブラリ中の’inp.getc’で 文字列を返されてしまい'inp.getc & 0xFF'などが通りません。 加えて、inp.getc[0]やinp.getc[0,1]でも文字コードになってくれません。 rcairoはインストールできそうにありません。 環境はwindows2000でrubyのバージョンは1.9.0を使っています。 よろしくお願いします。
1.8つかえば。
なぜ初心者が1.9を使う。
1.9使っててインストールできないとか泣かないで。根性でインストール汁。
>>406-409 1.9だと速くなっていいると聞いてウホウホ使い始めたのですが、
仕様の方もだいぶ変わっているみたいですね。
結局rubyは使わず、C++とSDL_gfxでプログラムを作成しました。
どもでした。
>>410 前に調べたところ、PureImage は 2 倍くらいしか速くならなかったよ。
おお PureImage は 2 倍まで速くなりますか (^^
414 :
デフォルトの名無しさん :2007/12/10(月) 13:41:06
まともなリリースは出来るのか
Rails動くらしいからある程度は大丈夫なんじゃない? あとはmongrel待ちか
>414 1.8.6で使えたことは使えた。 mingw版でso作って、mswin32版で使うという変態なことしてるけど無問題w
>>415 この時期に preview 出てない時点ですでにまともじゃない
ruby-1.9ってのがriteのpreviewなんじゃないの? 奇数バージョンを本番につかうやつはいないだろう。
1.9がお勧めできないのは確かだけど、偶数番・奇数番ってのはやめてる。 1.8 系列が、随時変更される 1.8 ブランチと、保守的な 1.8.x ブランチ、 という体制になった。
rubyの開発陣って、バグトラッキング使ってないの? この前MLで、どのissueが残ってましたっけみたいな会話をしてた
422 :
デフォルトの名無しさん :2007/12/12(水) 00:43:08
age
>>421 なかださんが報告されたバグの修正を余りにも早くしてしまうので
あまり必要とされてなかった。
>>423 へぇ。でも、グローバルになるためには必要よねぇ。切実にそう思う。
Pythonみたいなパブリックでオープンな開発体制にいくにはまだ時間が
かかるのかなぁ。ちょっと急激にメジャーになりすぎて、コミュニティの
成熟が間に合ってない希ガス
暇があってコミュニティ運営に情熱をかけられて頭がおかしくない人、というのが現れればいいんだけどね。 たいていどれかの条件が欠けてるんだよねえ。
暇があるのと頭がおかしくないのが両立しる可能性は低そう
「末端が優秀だとシステムの改善が遅れる」 ことを示す論文がradium softwareで紹介されてたな。
ソフトウェアに限った話でもなかろう というか現実がソフトウェアにも適用できる例だな 現場が優秀だったり超人的努力してたりするとシステムの欠陥は隠れてしまう 書類一枚であっさり消えて無くなる欠陥なのに現場・末端が莫大なコストをかけて消化してしまう
あーん?誰が頭がおかしいって?
オレだよ、オレオレ。
Rubyで任意のオブジェクトをデバッグの為にテキスト出力として ダンプしたいのですが、いいライブラリはありませんか? YAML.dumpの出力は理想的なんですが、無名クラスにぶつかると あぼんするのと、class Classを拡張してやっても実アプリで やっぱりあぼんすることがあって、代替になりそうなものを探してます。 $stderr.puts(begin YAML.dump(ex); rescue; ex.inspect; end) みたいにして今は逃げを打ってますが、inspectの出力だとフォーマットが あまり目にやさしくなくて困ってます。
require 'pp' foo = ~~ pp foo
なるほど、PP.pp(ex)でinspectが整形されますね。トンクス。
require 'generator' 使ってたコードがruby1.9から、warning: Thread.critical is unsupportedを 吐きまくりです。 ruby1.9からなんか外部イテレータとかFiberとか、ネイティブなgeneratorが 使えるようになったみたいと電波を受信したのですが、使い方とかわかる人いますか? 以下のJavascript-1.7を等価なruby2で書きたいのです function gen_fib() { var i = 0, j = 1; while (true) { yield i; i, j = j, i + j; } } var g = gen_fib(); for (let i = 0; i < 30; i++) print(g.next());
435 :
デフォルトの名無しさん :2007/12/14(金) 17:35:20
def fib i = 0 j = 1 loop { yield i i, j = j, i + j } end g = enum_for(:fib) 30.times{p g.next}
>>436 今は1.9の話をしているので当然あるはず。
438 :
435 :2007/12/15(土) 01:06:18
unless /#{ban.kyokumenid}/ =~ filecontent の部分で regexp has `[' without escape という警告がでるのですがどうすればいいのでしょうか? おそらく正規表現の部分以外は問題ないと思うのですが。
/#{Regexp::escape(ban.kyokumenid)}/ みたいにエスケープすれば良いと思われ。 ついでに、もし ban.kyokumenid の中身の文字コードが Shift_JIS なら s オプションを付けれ。
ありがとうございます。あと、初心者スレのほうに書くつもりが間違ってしまってすいません。
# String#reverse_each_line が欲しいと思った冬。 # 代替品は簡単に作ることができるからいいが。
作るまでもないし、そんなの標準にし始めたらキリがないよ
to_a.reverse_each で良いな。
Rubyのイテレータは配列をメモリに完全に展開した後に回し始めるものばっかだからな
「ちょっとずつ取り出す」ことができてない以上小手先で何をどうやっても無意味
というわけで
>>444 に一票
>>445 RangeもIOもStringも、#eachでto_aはしないぞ。
ちょっと関係無いけど、array に to_a があっても良いんではと 思うんだけどどうなんだろう?要素に to_a が無い場合はエラー で良いけど、常にエラーの必要は直観に反する気がする。 これって馬鹿な発想かしらん。
Array#to_aならもうあると思うけど、何か違う挙動を求めてる? class Array def to_a; self.map{|n| n.to_a }; end end になって欲しいってこと?
舌足らずですみません。to_a ならば例えば [3,5,"foo"].to_a => "3,5,foo" default の区切りがあって ("," でも " " でも)、to_a(" ") とか指定できるとか。こんなのあると便利かなと思うんだけど。
すまん。joinとかsplitとどう違うのかわからない。
区切った文字列を得たいのならjoinでいいし そもそもto_aは「レシーバーを配列にして返す」メソッドなので to_aにそれを求めるのは間違いだ
to_aをなんか勘違いしてるんだろうな 「配列に変換する」以上の意味はないと思うぞ
to_sと混同しているわけでもなさそうだな。
begin old_sep, $, = $,, ',' [1,2,3].to_s ensure $, = old_sep end めんどいな。 [1,2,3].join(',')でいいや。
>>446 String#to_a は無いから Enumerable#to_a が呼ばれて
結果的に String#each が呼ばれるハズでは?
そんないつ変わるかわからない内部実装を知らなきゃRubyって使えないんですか? Stringのto_a (これが toArray の意味だとして)は、独自で実装されて不思議は内容に思うんですが。 その場合は、おそらく文字のエンコードを見て、「一文字」ずつの配列になるんだろうなっていうのが 俺にとっては驚きが最小ですが。
俺にとって、と言うなら、 自分としてはStringのto_a自体が不自然に見えるなあ 多分split使っちゃう とりあえず、言ってることがふわふわしずぎてるから もっと考えてまとめてきてね
458 :
444 :2007/12/17(月) 13:54:06
>>456 String は to_a を独自実装してないんだよ。
だから String#to_a を独自実装しないとその動きにはならない。
まぁそもそも String#each が行単位で回るのがどうなのかって話もあるんだが。
ちなみに俺が to_a を出したのは
>>442 が
reverse_each_line と書いたから。
そりゃ split が一番直感的なのは解るが、それだと改行取られるからね。
>>458 splitでも改行とられないお。
irb(main):001:0> "a\nb\nc\n".split(/(?<=\n)/)
=> ["a\n", "b\n", "c\n"]
>>459 屁理屈ぅ~!
irb(main):001:0> "a\nb\nc\n".split
["a", "b", "c"]
ちなみに、ふつーこうじゃね?
irb(main):001:0> "a\nb\nc\n".split(/^/)
["a\n", "b\n", "c\n"]
>>460 屁理屈っつうか、改行の後で分割するわけだから、459のほうが自然に感じるけど。
>>irb(main):001:0> "a\nb\nc\n".split(/^/)
なんてのをみると、正規表現がわかってないなと思う。
あ、言われる前に言っておくけど、おれ459じゃないからね。
そういやEnumerableにreverse_each(のようなもの)が無いのはなぜ? reverseメソッドがあって意味が違ってくる場合はややこしいけど、 なんか意味的におかしい?
reverse_eachをeach使って実装するのは間違ってるからじゃね?
まーじーでー
なるほど 実装にもeach呼んだ後にもっかいループがいるわけか
>>455 to_aはイテレータじゃない。
>>445 の「配列をメモリに完全に展開」というのがto_aを呼ぶというつもりなの
かと思うんだが。
470 :
455 :2007/12/18(火) 05:31:35
>469 うん。判りにくい書き方してスマソ。 イテレータじゃないが、Enumerable#to_a は返す配列を作るために 内部で #each を呼ぶんじゃないっけ? そういう意味で書いたつもり。
471 :
460 :2007/12/18(火) 09:56:18
>>461 「屁理屈」って言ったのは漏れの勘違いだた。
>>457 の「多分split使っちゃう」が
>>459 なのね。スマソ。
ただ、「正規表現がわかってないなと思う」はちょっと心外だなあ。
/^/ は、らくだ本の split の例にも出てくるくらい基本だし、
/(?<=\n)/ より多分速いよ。
shuffle ネタは盛り上がるねえ。
module WEBrick module HTTPUtils def mime_type(filename, mime_tab=DefaultMimeTypes) suffix1 = (/\.(\w+)$/ =~ filename && $1.downcase) suffix2 = (/\.(\w+)\.[\w\-]+$/ =~ filename && $1.downcase) mime_tab[suffix1] || mime_tab[suffix2] || "application/octet-stream" end module_function :mime_type end end
Urabeさん怒ってるなw
Larry Wallにふさわしい死に方: 真珠を採ろうと海に潜って溺死 Guido van Rossumにふさわしい死に方: 全長10mのPythonに飲まれて死ぬ まつもとゆきひろにふさわしい死に方: Rubyで頭をかち割られて地獄に落ちる
Guido(ホイドって読むらしいね)の場合、 SPAMの食い過ぎで死ぬとかのほーがいーよーな。
Larryは冬コミで圧死とかのほうがいいな
パールのようなもので殴り殺されたとかのほうがいいな
つまんないね
>>474 どっちの気持ちもわかるなあ。
ツールで確実に処理したいってのと、出来るんだから手元でちゃっちゃとやりたいってのと。
とりあえずUrabeさんは喧嘩腰なのをやめたほうが絶対いい。バザールモデルで
あの態度はまずすぎる。Matzみたいなタイプを説得するには上げ膳据え膳で懐柔して
いかないと絶対受け入れられないよ。なんせLarryゆずりのプログラマーの美徳を兼ね備えた人物だからな。
個人的にはTrac (powered by Python) を使ってくれるのが一番いいんだけどね。あれはわかりやすいし。
ラムちゃんの同人誌で圧死は難しいだろ 最近なんか別の作品にハマった?
>476 東北弁で「ほいど」というとえらい意味になるのだが狙ってる?
>>480 tracはちょっといまいち。
あれなら影舞にでもWiki組みこんだ方が・・・
自演乙 って誰の自演?
>>484 影舞だれか開発再開しないかな。
非常にいいと思ってるんだが、開発が止まっている事(とデザイン)を理由に
敬遠されるのはなんかもったいない。
というか、本当にみんなBugzillaとかMantisとか(Excelとか)使いやすいと思ってる
のかな。
tracは・・・wikiが有効に利用できるノウハウがあってmod_pythonが普通に使える
のならありかもとは思う。
せっかくなんで、かげまいと他のBTSを比較して、いい点悪い点をあげてみないか。 BTSスレのほうがいいかもしれんけど。 いい点: ・DBなしでの運用が可能
>>487 使う側じゃなくて、BTSがあると外部から状況がわかりやすいんだよね。
どのバグが潰されたり残ったりして、どういう議論が進んでるかってのが
一発で参照できるじゃん。MLと違って関係のないメール全部チェックしなくても済むし。
urabeさんは1.8の保守やってるからそういうのに敏感になる気持ちはよくわかる。
でも作る側としては面倒だろうなあ。残ったバグも、「あの件直った?」ってメールで
してくれりゃ済むわけだし。
RubyでTracなら今はやりのredmineってどうなの?railsで作ったTracクローン
>>485 これって、いまだにバグだらけなのに
松本氏が強引に1.9.1をリリースしてしまうが、
ロクな品質にはならないから、みんな使うなよ。
ということを遠まわしに言ってるんだろうか?
エンコーディング対応のスライドがダブってて、「なくなったもの」のスライドがない
1.9の安定バージョンは1.10になるの?
バージョン番号の各要素は全て 1 桁で構成される決まりらしいよ。
確か次は、変則的に1.9.1が安定版になるって話のはず で、その次が2.0……だったっけか
遊べる程度に完成してるかな
Rubyでひらがなをローマ字に変換するライブラリありますか? ぐぐったけど、なぜか全部使えない・・・ 環境はXPでRubyは1.8.6です。できれば使い方も教えてほしいです。 すいません・・・
ruby-kakasiくらいしかしらんけど10年以上前のシロモノなんだな。 テーブル自分で作って引いた方が早く片付くかもしれんな。
で、作ったら晒してくれると他の誰かがうれしいかも もちろん不備の指摘も来るかも と、幸せパターンを提示してみる
できればSJISでやりたいんですよ~↓↓ Rom2kanaはなぜかインストールしたんですけど、使用例通りに(もちろんmをnに変えました)使ったんですが、ローマ字変換できなくて・・・
kakasiもいいんですが、Kana2romみたく使えるほうが理想です。。。 なぜか使えないんですよ・・・ Kana2romはオープンなので、こっからテーブルとか作ればいけるかもですが、、、いかんせん僕はためしたけど無理でした。
情報を全部出せ話はそれからだ どのようなことを最終的にしたいのか? インストールしたファイル インストールしたファイルをどこに置いたのか 自分が書いたコード 自分が望んだ結果 実際に出力された結果 Rubyのバージョン OSのバージョン あと、今回は日本語文字列だから Rubyの起動オプション 扱いたい文字列の文字コード ちょっと要らない項目もあるかなと思ったけど これらの情報を整理して書き込んでみて 整理する過程で自己解決できるかもしれないし(自己解決した場合も一言教えてね) 整理してくれたら住人も質問に答えられると思う 現状は住人があなたの分からないの内容を分からないという状況だから あと、質問するときは最初に全部情報を出してしまうのが早期解決の鍵だよ
508 :
506 :2007/12/21(金) 00:44:13
ご指摘、どうもありがとうございます。
テンプレ(?)に従って記入してみます
◎インストールしたファイル
http://ime.nu/www.math.kobe-u.ac.jp/~kodama/tips-ruby-kana-rom.htmlです 。
◎インストールしたファイルをどこに置いたのか Ruby関連のソースが全部入ってるフォルダに入れました。
エクリプスとかじゃなく、テラパッド使ってるんで、フォルダいちいち開いたりして編集してます。
◎自分が書いたコード
require "kana2rom"
str="ひらがな/カタカナ"
printf("ローマ字: %s\n", Kana2Rom::kana2rom(str))
printf("平仮名 : %s\n", Kana2Rom::kata2hira(str))
printf("片仮名 : %s\n", Kana2Rom::hira2kata(str))
だいたいこんな感じです。
◎自分が望んだ結果
ローマ字:hiragana/katakana
こいつが出力されればそれでいいです。
◎実際に出力された結果
ローマ字:ひらがな/カタカナ
平仮名:ひらがな/カタカナ
片仮名:ひらがな/カタカナ
なんでやねん!って感じです。
◎Rubyのバージョン 1.8.6
◎OSのバージョン winXP
◎Rubyの起動オプション コマンドプロンプトです。
◎扱いたい文字列の文字コード SJIS
すいませんが、よろしくお願いします。
509 :
506 :2007/12/21(金) 00:45:34
そもそも宿題スレか初心者スレ向きの質問だと思うんだよ
511 :
508 :2007/12/21(金) 00:58:31
すいません・・・ Kana2Rom自体はちゃんと動くんですけど、◎自分が書いたコード(henkan.rb)でうあるとなぜかやってくれないんです。。。
エディタにコードを変えて保存する機能はないの?
NKFやらkconvでeucに変換するとか
514 :
508 :2007/12/21(金) 11:30:56
>>512 ,513TeraPad使ってますが、変更すると使えなくなります・・・
あのね、こういう技術的な話をする場で
「使えない」「できない」「無理」「やってくれない」
みたいな表現はやめなさい。
「○○をしたら」「こういう結果になって欲しいのに」
「○○になってしまった (出力結果やエラーメッセージなど)」
を具体的に書くように。
あと、
>>513 の言ってる「変換」は、こういうことでは。
printf("ローマ字: %s\n", Kana2Rom::kana2rom(Kconv::toeuc(str)))
printf("平仮名 : %s\n", Kconv::tosjis(Kana2Rom::kata2hira(Kconv::toeuc(str))))
printf("片仮名 : %s\n", Kconv::tosjis(Kana2Rom::hira2kata(Kconv::toeuc(str))))
516 :
508 :2007/12/21(金) 12:29:39
>>515 さん
>>513 さん
ご指摘ありがとうございます。表現上わかりにくい部分があったことをお詫びします。
ところで、
printf("ローマ字: %s\n", Kana2Rom::kana2rom(Kconv::toeuc(str)))
にすることで、無事動きました!
このスレのみなさん、大変ご迷惑をかけました。
無事に動いて良かったです。本当にありがとうございました。
518 :
508 :2007/12/21(金) 14:14:02
>>517 遅くないです。助かります。
ありがとうございました。さっそく使ってみます。
他言語と比べても親切な方ばかりで、本当に感謝してます。
519 :
デフォルトの名無しさん :2007/12/22(土) 08:59:50
そういや、もうクリスマスだな。
mod_rubyは1.9系列にならないの?
ぶは
524 :
デフォルトの名無しさん :2007/12/22(土) 20:50:41
>>522 クリスマス延期のお知らせ
rubistのクリスマスは半永久的に延期されることが閣議決定されました。
526 :
デフォルトの名無しさん :2007/12/23(日) 05:38:37
るびまの中身がドンドン薄くなるな そろそろ終焉の時間を迎えつつある印象を受けてしまう
>>526 それはむしろいいことなのかな。 ruby も定着してきてるびまの果たす役割
も減ってきたということかも。初めの頃は俺たちが Ruby を広める、
みたいなものを背負ってただろうからね。
デフォルトだとmake installの段階でrdocを作るのはやめてほしいなあ sudoしてmake installするもんだから、.extが消せなくなる。 rdocが欲しい人は普通にmake rdocでいいじゃん。
529 :
デフォルトの名無しさん :2007/12/23(日) 13:16:03
俺がRubyを使ううちで一番好きなメソッド、 Object#methodsが[Symbol]を返すように変更されてるね。
結局このまま出るのかよ。 阿鼻叫喚の渦が見えるぜ・・・
1.9.1までに安定させれば無問題
Rails2.0はすぐ導入したけど、流石に本体は怖くてまだ使えんな
>>526 今回インタビュー無かったしな
他言語探索がジョーク言語取り上げてたので深みがなかったな
リリース後のバグフィックスが落ち着いたあたりのるびまの内容が薄かったら危険かも
rubyをやってて思うんだが... railsはまだいいけど、 ruby自体ってありきたりな言語で全然楽しくない。
ありきたり最高 ありきたりじゃない使いかたもやれば出来るの最高
ありきたりじゃない言語が良ければLISP系やHaskellとか楽しいのいろいろあるやん 楽しくない程度ならまだいいよ、苦痛でなけりゃ。 俺も楽しいから使うって感覚はないな。手軽に使えるので十分嬉しいが。
スクリプト言語ってそんなもんじゃないかな。 便利をライブラリを利用して書いてるだけで、 ホントにコンピュータを操ってる感覚ってないじゃん。
539 :
535 :2007/12/23(日) 20:00:32
いや、やる前から"楽しい"って宣伝してたのに、 やってみると他のと同じだったから、 どこが楽しいのかと。。。 普通に期待を裏切って、""
540 :
535 :2007/12/23(日) 20:04:36
"楽しくない"と思う。
>>536 >ありきたりじゃない使いかたもできる。
「ありきたりじゃない」を探したけど、ほとんど場合、
他の言語で似たような事ができると思った。
「rubyは好きだけどrailsが嫌い」っていうのはよく聞くけど 逆は珍しいな まー合わないのなら別に無理して使わなくてもいいと思うよ rubyじゃないとできないって事はほとんどないから
似たようなことっての「ような」の部分がいちいち癪に障る人もいるわけだよ rubyと分野がかぶるのは、Perl, Pythonがあるけどそれぞれ いろんな長短があるからなあ。
ありきたりじゃないものといえば……有名だけどIntercalとか? ある程度実用的なとこでAPL(J)とか。
HaskellとかPrologみたいなルール指向言語や
SQLとかGLSLとか特定分野に使われるDSLなんかは辺なのがあって面白いよね。
ただ、
>>535 のいい方をみてるとどういう使いかたをしてるのか・・・
Rubyのいいところは動的になんでもいじれるところだと思うけど
1.megabyteとかは楽しいとは思わないのかな
Rubyは意外な所が変態であることが「見えてくる」言語という気がする
546 :
535 :2007/12/23(日) 20:44:45
>
>>535 のいい方をみてるとどういう使いかたをしてるのか・・・
perlは昔から、python、lisp、etcは多少やってきた感じ。
普段はJ2EE開発だったのでrailsを始めて、
全部決められてるのですぐ始められるし、縛り具合はまあ良いかなと思った。
ただ、ruby言語自体が、他の言語より”楽しく”するオリジナリティを持っているわけでもないのに
”楽しい”と宣伝するのはいかがなものかと思った。
547 :
535 :2007/12/23(日) 20:52:17
”楽しい”の定義がされていない、という議論は不毛だと思うが、 それが”他の言語より少し自分好み”程度であれば、 ”楽しさ”は他の言語と同じ程度であって、 何度も言ってしまけれど 宣伝する のはやめてほしい。。。と思った。
>>546 違う違わないとかは結局コップが半分いっぱいか
空っぽかみたいな主観的な問題だろうね。
俺には perl とかとは全然とっつきやすさが違うけどね。
一つ一つが英語っぽくて直感的にわかりやすい。
あと、method の使い方も使い易いし、全体的に書きやすく感じる。
書きやすいということは苦労が少なく楽しいプログラミングということ。
(プログラミングが嫌いなら別だが)
頭使って面白いのがいいとかいうなら lisp とかに傾倒すればいいんでは。
549 :
535 :2007/12/23(日) 21:03:31
>>548 python、javaと比べても?
その程度であれば自分には、pythonも同じでした。
”rubyは楽しい”という期待を裏切られたと言いたかっただけです。。。
ま、動的スクリプト言語がこれだけ一般的になる前の宣伝文句だから 逆にPythonとかが普及した今となっては、そう思う人が出てきても不思議じゃない とは思う。ホンのすこし前まで「スクリプト言語なんて子供のおもちゃ」って時代だった わけだし。C++でOOPLが嫌いになった人がRubyで逆に見直したって話も聞いたことがある。
逆に何の何が楽しいのか聞いてみたい Rubyの謳い文句に裏切られたってだけで、 プログラミング自体楽しく感じないってことはないよね?
553 :
535 :2007/12/23(日) 21:22:47
>>550 >現在グーグルにいる人のこういう文章もあって
どの組織にもある言語が好きな人はいると思うので、
その手のソースはあまり意味を持たない気がします。
私のグーグル含めて友人、少ないですが、は少なくともruby好きは少数派です。
(やってる人は少なくありませんが、pythonでもいいじゃん、という人がほとんどで、
rubyは特別”楽しい”という事を明確に説明できる者はいません。)
そういう研究室出身だからかもしれませんが。。。
Rubyが楽しいってのはまあわかるけど楽しいの定義は人それぞれだな。 俺はF1押したら詳細なリファレンスが出てきて ドット押したらメソッドがずらずら出てきて マウスでGUIを設計できて 奴隷グラマを部屋に押し込めて鞭打って書かせた充実したクラスライブラリがあって 高機能なデバッガとエディタがついてくる環境が楽しいぜ。 C#3.0は言語仕様の進化もなかなか興味深い。
多分、それぞれの言語の好みとかあるんだろうけど、漏れはRubyが一番すんなり 考えてることをコードに落とせるんだよなあ。
根本的にどこが楽しいのか、と言われてmatz自身が「自分にとって」とか、カンファレンスで開発志向をhobbyと断言してるからな
本家、取り巻き含めて「楽しい」を無作為に標語に挙げ過ぎてる感じはあるかなー。
波長合えば楽しい、てのはどの言語でも大差ないしな。
>>550 のURLって個人の趣味出しまくってるなw
こういうの読むの面白いけど、知らない人に妙な先入観与えそうではある
俺はJSは書いてて楽しいな。波長の問題かな。
phpは苦痛。Javaは苦痛というよりはめんどくさい感じ。
そんな波長。
557 :
デフォルトの名無しさん :2007/12/23(日) 21:29:35
>
>>555 俺もそう思うのだが、
結局それは慣れの問題では、ないかと?
俺がクソ嫌いな perlでのOOPとかでも、ネットとかでいるperlerは、すんなり書けるんじゃないの?
そらそうだ それは好みの要素語る際の前提でせう
559 :
535 :2007/12/23(日) 21:37:01
>>552 >プログラミング自体楽しく感じないってことはないよね?
そういう意味ではありません。
実際、Erlang等、個人的に楽しいだけですが、楽しんでいるものもあります。
>>551 >ま、動的スクリプト言語がこれだけ一般的になる前の宣伝文句だから
そういうことであれば、私の過度な期待だったのかもしれません。。
おめでとう! とうとうRubyも一般常識になった!
>>549 >
>>548 > python、javaと比べても?
Java に比べたら明らかに俺には Ruby の方が使い易いな。
Java を使ってるとかなりかったるい。Ruby のような気楽さはない。
Ruby はスクリプト言語だし、比較すべきかわからんが。
Python は使いこなしたことないけど、ちらっと見た感じだと俺には
Ruby の方がとっつきやすい。本質的な差では無いと言えるかも
しれんが表面的なものも使うときに大事だと思うよ。Python とだったら
両方楽しいでいいんじゃないの?
ただ、
>>546 であげてる perl, lisp とあと Java に比べたら Ruby
の方が俺は楽しい。
大ざっぱ分けると 「弄るのが楽しい言語」と「目的を達するのが楽しい言語」があると思う アセンブリとかは前者だと思うけどRubyはどちらかというと後者じゃね? 勿論前者として使う人も居るから一概には言えないけど
「弄るのが楽しい言語」 Lisp、Perl(?) 「目的を達するのが楽しい言語」 Ruby、Python 「面倒な言語」 Java、C++ 追加、変更頼む
神:Ruby うんこ:その他有象無象 これでいいよ
単に変な先入観持ってやってるだけだろ。
>>535 はただのアンチだから相手にするだけ無駄。
本人でさえ自覚が無いからタチが悪い
Rubyは言語フェチなところがあって、それがいいんだよね。 要はみんなまつもとさんのセンスが好きなんだよ。 個人的にはインデントが意味を持つ言語は常用したくない。Make/Python/Haskell(ML系)ね。 Yamlも嫌い。そういうのはプログラマの自由が侵害されてると感じるんだ。
インデントが意味を持つとなんで自由が阻害されるの?
golfしづらい
570 :
デフォルトの名無しさん :2007/12/23(日) 23:49:21
>>567 Haskellは多分ML系とは言わないと思うぞ。
それにSMLもOCamlもインデントに意味はない。
あれそーだっけ、勘違いしてたかな
YAMLのインデント志向は俺も苦手だけれど じゃあ他に何を使うべきなんだ、と考えると…… XMLやJSONも一長一短だし iniは長いテキストを入れるのに困るし 他のフォーマットは潰しが利かないし
>>567 まぁインデントは好みだね。俺も空白が意味持つのは好きじゃないけど。
昔の Fortran を思い出すなぁ。{} も使いたいし。これも好みだとは思うが、
Java, C++ も使ってるから、結構気になる。
>>569 >golfしづらい
まじめに聞いた俺がバカだったよ
プログラマの自由(笑)
プログラミング自体が楽しい行為なんだよ(それを否定する人は論外)。 Rubyの楽しさは、オブジェクト指向のパラダイムのスジを通しつつ、 表現者の自由度が高くできるように言語的な束縛を少なくデザインされ、 行いたいこと(目的)を簡素に表現できるところなんだと思う。 LISPやHaskelは知的なアカデミズムの臭いがプンプンするけど、 アチラのおもしろさはまた別物。
インデントに文法上の意味付けをする って合理的だと思うけどなー。 それで、lisp のキモい ))))))))))))))))))))))))))))); みたいなのが減れば嬉しいやん。目に優しい。 Haskell もそうなのか。ちょっと興味沸いてきた。
Lisperの目には括弧が殆ど見えていないから、 「コンパイラにもエディタにも優しい」という意味で括弧は減らないと思う。
Lisper: そういえばカッコなんてものがありましたっけ。 Pythonista: そういえばインデントなんてものがありましたっけ。 Rubyist: そういえばendなんてものがありましたっけ。
まずはその生産性の低いループ話をどうにかした方がいい。
pythonianではないのかなぁ。
スクリプト言語はCの構文糖にすぎない。 Ruby, Python, Perl, PHP 結局慣れの問題で、どれも同じようなものに思えてきた。
>>582 いずれもチューリング等価な世界で何を言っているのだ?
>>532 >1.9.1までに安定させれば無問題
あと一日あるかないかで安定させられるかよw
>>576 >Rubyの楽しさは、オブジェクト指向のパラダイムのスジを通しつつ、
>表現者の自由度が高くできるように言語的な束縛を少なくデザインされ、
>行いたいこと(目的)を簡素に表現できるところなんだと思う。
結局何の特徴もない、まで読んだ。
これ以上はアンチスレの方が釣れるんじゃないか いよいよイブだし。 クリスマスリリースってのは明日中ってことかな?
588 :
デフォルトの名無しさん :2007/12/24(月) 10:03:09
hotlinks見るたびに、赤いtrunkが気になる もう諦めた方が良いんじゃ... ゆったりと家族サービスしとけよ
いいじゃんとりあえず出して、あとからこっそり1.9.1.1を出せば
不眠不休で頑張っているMatzの指先に 聖なる小人さんが宿ってコード直してくれるから大丈夫だろう。
591 :
デフォルトの名無しさん :2007/12/24(月) 11:09:34
方向音痴な初心者です Python.とRuby.は変数の使用形式は変わりますか?
>>591 質問の意図が分からないけど、RUBY 初心者スレッドへGO
gemsとかrails関係に付いてくる文書フォーマットの名前を教えてください == H1 adsafdjsakfljkafl;jakfljdskf;jsa == H1 fjsdaljas みたいなやつです
Lispの括弧は、慣れると解りやすいな 「こう書くとこういう風に解釈される」 とか悩むことがない でも言語がエディタ選ぶってのはどうか思う
>>595 あれ、そうなの?RDocかと思ってた。
>>586 > 結局何の特徴もない、まで読んだ。
他の言語から、いいところ取りをしてリデザインしたのがRuby何だから、
とがった特徴なんてあるわけないじゃん。
けなしたつもりでけなしたことになってないってかっこ悪いよね
Rubyの楽しさとは何かというと、正規表現や様々なライブラリがそろっていて、 適度に力を抜いて、割と素直なオブジェクト指向のコードを書けるというところかね。 PerlやPythonと何が違うといわれると、Perlほど汚くはないしとか、 インデントがどうたらとかの話になるわけだけど。 そう感じる人は楽しいというのに同意するけど、 そうじゃない人には理解しにくい、とても感覚的な謳い文句だな。
MacってSpotlightに delete って打つと File#delete Dir#delete とかリファレンスが出てくるの?
今晩なの?
出ないよ。そういう挙動にしたければSpotlight Pluginを作る必要あり
まだ/repos/ruby/tagsや/repos/ruby/branchesの下に1.9は存在しないんだなぁ。
質問します。 Rubyのクラスについてですが、 例えば、 Tableというクラスを作ったとします。 そこにはArrayクラスのインスタンス変数などが含まれます。 他のクラスにTableクラスを渡す事は出来ますか? それともその中にある@arrayを参照して渡さないとダメですか? メッセージパッシングは既存のデフォルトクラス(数値クラスなど) を用いて行うのがソフト工学的には正しいのでしょうか? 自作した、もしくは標準ライブラリのクラスそのものを渡す事はどうなんでしょうか?
>>607 何を言いたいのか分からないが、初心者スレ相当ということはわかる。
>>607 >他のクラスにTableクラスを渡す事は出来ますか?
Oui.
>それともその中にある@arrayを参照して渡さないとダメですか?
状況次第。
うん、何を伝えたいのか理解が困難。 何か他の言語の毒を抱えているのかも知れないなぁ。 > 他のクラスにTableクラスを渡す事は出来ますか? できるよ。委譲であれ、メソッドの引数であれ。
>>607 日本語でおk
というかそもそも板違い。初心者スレに行きなさい
「クラスを渡す」が理解できない インスタンスではなく、そういうのもあるの?
class Table def initialize(v, h) @v = v; @h = h @array = Array.new v.times do |i| @array[i] = Array.new(h, 0) end end def show print "Table status\n" @v.times do |i| @h.times do |j| print @array[i][j], "\s" end print "\n" end end def reset v.times do |i| h.times do |j| @array[i][j] = 0 end end print "Table is reset, \n" end end
例えばこんなクラスを作ります。 2次元配列で数値を保存してくれるクラスですが、 別に、配列を引数として GUIで数値を表示する(例えばマインスイーパみたいに)クラスを作ります。 その時に、そのクラスの数値を表示するメソッドは、 Tableを引数とすべきなのか、Arrayを引数にすべきなのか。 2次元の配列を引数にするという事は出来ますか? 例えばですが、このメソッドが配列を引数で成り立つと仮定して、 def show_gui(array2d)と書けるとします。 この時、array2dには縦横の長さが分かりません。(メソッド中で調べるしかありません) なので、Tableクラスに限定した方がいいと思うのですが、 一方、Tableクラスしか使えない事にすると、拡張性が失われます。 デフォルトのArrayクラスを引数にした方がいいでしょう。 しかしおれには、メソッド内で ・なんだ引数は2次元じゃないじゃん、てか文字列じゃんw ・数値じゃなくて文字列が入ってるんですけど・・・ とか判定させるのはソフト工学的にいけないと思うのですが、 この場合、どうするのが正しいのでしょうか?
もっともこのTableクラスでは、 数値以外にも持ってしまえますが、 数値の代入以外を禁止するのはそんなに難しい事ではないかと思います。
>>615 とりあえずおちついて初心者スレへ行けって。
なんかあっちでも配列いじくってるから。
おれの言ってるのは ただ仕様がどうとかいう単純な事ではなくて 「どう作るべきか」 という方法論なのですが。 Rubyは動的型づけなので、引数をなんでもとってしまう。 その為、どういう風に書けばいいのかに迷う事になる。
>>618 それはOO上でデザイン時に、全体を見通した上でクラスをどう切り分けしていくかの話なので、
一律な解答はなく、動的だとか言語の問題は直接関係ない。
では使い捨てのクラスを作ってもいいという事ですか? OOPの利点は拡張性だと思います。 継承が出来ないような汎用性のないクラスを作ってしまったら 非常に非効率的です。 上記の場合も、 本当なら、Tableクラスを引数にしたいですが、 そうすると汎用性が失われます。 Tableクラスを使わないと、このGUIのクラスは動かない事になります。 あるいは同じようなインスタンス変数を持つクラスがあった場合に、 誤作動を起こす可能性もあります。 なので、2次元配列を渡すのがベターかと思ったのです。 基本クラスのみを使ってかけば汎用性は最大になります。 引数に自作のクラスインスタンスをとるような設計は間違いではないのですか?
使い捨て大いに結構。
継承を行うことによって拡張を行うののがよいと考えらえていたのははるか昔の話。 ともかく、 > 本当なら、Tableクラスを引数にしたいですが、 > そうすると汎用性が失われます。 > Tableクラスを使わないと、このGUIのクラスは動かない事になります。 この考えはおかしい。もちろん、Tableを基底にしたクラスを利用してもよいが、 ダックタイプがあるのだから、別にTableクラスが必要はワケではない。 拡張性たって、どこまでも拡張性を仕方がない。 閉めるところは閉めて、緩めるところは緩めると決定を下していくのがOOの設計じゃないなか。 つまり、あんたが考えて、都合のよい実装を見つけるしかない。
何で自作クラスのインスタンスを渡すようにしたら汎用性がなくなるの? そもそも二次元配列の認識が間違ってるし、 配列のやり取りがしたいだけなら上のTableクラスの意義もよく分からん 構造の保障されないArrayを直接渡すより、Tableに統一した方がマシに見える って全体を見てないから憶測だけど
スクリプトなんてかかなければ汎用性最大だと思うんだ
>>620 Java とか使ったこと無いんだろうなぁ。
Applet とか使い捨てのクラス作らないで何作るんだろう…
俺は Ruby は気楽に使い捨てができる言語として大変重宝してる。
書くのが楽なら使い捨ても負担にならない。
Ruby自体・・・
ruby-dev:32713 やれやれだな。
>>620 まず質問がよくわからん
コード見ないことには、どんな設計しているのか見当がつかん
そのメソッドに汎用性が必要なの?Tableクラス以外渡せないと困るの?
別にTableクラスで困らないならTableクラスにすればいいとしかいえん
あとは2次元配列からTableクラスを簡単に作成できるようにしとけば、
つまり foo(array) はできなくても foo(Table.new(array)) とできるようにしとけばいいんじゃない?
なんで、この時間におきてるんだw?
>>623 自作クラスのインスタンスを引数にしか出来なかったら
他のクラスのインスタンスは引数に出来ない事になる。
これは汎用性が失われた事になる。
クラスは独立すべきです。
だから、引数を基本クラスに限定すべきだと思いました。
こういう話を考えます。
会社クラス
@employees * 100
payment_up(x)
従業員クラス
@y
というクラスを考えます。@employeesは従業員クラスのインスタンスで、
コンポジションされています。payment_upは従業員の頑張りに応じて
給料を上げるメソッドです。
さて、xですが、ここにはどう考えても従業員クラス限定で引数を指定したいわけです。
しかしここで問題が起きます。
従業員の給与変数がyとなっている事です。
これによって、他のインスタンスを入れた時に誤作動する可能性があります。
かといって、ここに数値クラスの給与そのものを持ってくるのは
少し池沼っぽいです。(数値を上げるだけのメソッドになって、数値ならなんでも
引数にとれてしまう)
これは動的型の仕様ですか?
def [](index_i, index_j) return @array[index_i][index_j] end def []=(index_i, index_j, value) @array[index_i][index_j] = value end こんなメソッドを追加して、代入が出来るようにしました。 しかしこれではおれの要求には達しません。 おれとしては [][] = value の形で代入したりしたいのですが、 何か方法はありますか?
>>630 きっと飲み会から帰ってきたんだよ
ほら、祝日だし
三時か! あと5時間!最後のバグとりがんがってほしい。
>>631 がんばれ、もっと考えるんだ!
一番すっきりしたコードになった時、それが答えだ!
最近突然多次元配列関連の質問がどっと増えた気がするんだけど、気のせい? 最近何かあった?
ヒント: クリスマス
それもあるけど 純粋に強化学習の課題が出ていて、 それについてクラスをどう作るべきなのか悩んでいるのです。 当方京大生で、たぶん情報工学を専攻します。 オブジェクト指向はとても興味深いので質問しています。 まともに答えてください。 引数をどういう形でとるべきかというのは ソフト工学上とっても大事な問題なのです。
なんだこの面白い研究室はああああああああああああ でも騒人か・・・
2ちゃんで聞く時点でまともとか言われてもなあ・・・。 教授か友達に聞くか、MLに池よ。せっかくの学生生活を2ちゃんで過ごすのって すごーくもったいないぜ。 第一、レポート書くときに参考文献に「2ちゃんねる」って書くのかい?ありえんよ。 もうひとつ、池沼とか書くなバカ死ね
> 参考文献に「2ちゃんねる」 書いて欲しいと思った…。
>>631 >クラスは独立すべきです。
>だから、引数を基本クラスに限定すべきだと思いました。
こういう新しい発想は嫌いじゃないけど、この主張は今まで聞いたことがない。
少なくとも、今までの偉い人はそんなこと主張していないし、引数を基本クラスに限定しなくてもみんな特に困ってはいない。
そのあとの例も何言ってるのかよくわかんないんだけど、
>しかしここで問題が起きます。
>従業員の給与変数がyとなっている事です。
>これによって、他のインスタンスを入れた時に誤作動する可能性があります。
これは、他のまったく関係ないクラスで@yをつかっていた場合、そのクラスのインスタンスを渡せてしまうことを心配しているのかな。
もしそうなら、動的な言語ならそれは仕方ない、そういうものだと思ってあきらめてください。
これは引数を基本クラスに限定したつもりでも同じことだし、そもそも『引数を基本クラスに限定する』ということ自体できない。
つうかさ、ほんとに京大生なら自分の意図をわかりやすく説明しろよな。こんな質問だと何言ってるのかわからんわ。相手はおまいさんほど賢くはないんだから。
クリスマスイブに学歴と立て続けでスレが殺気立ってますね(^^;;
Rubyの問題というよりは、日本語の問題
突貫工事おもろい
Ruby 1.9.1はruby1.8.6に変わるものだと思っていいんですよね
>>648 それはRuby2.0から。
そういや今はもうruby-shimとかruby-sumoとか作らないよね。個人的には
ruby-1.8コードをyarvで動かせるパッケージが欲しい。
今回 1.8.7 って出るんだっけ?
立木とかいう教授にメルしてみよ。
もっと勉強してから来なさいってみっくみっくにされそうだけど、
だけど他学部の人から相談を受けたらそんなに嫌な顔はしないかもな。
ソフトウェア工学は興味があるが、
あくまでもプログラミングのテクニックとしてで、学問的にはどうでもいい。
とか言ったらその場で抹殺されそう。
>>644 新しい発想じゃないだろ。
どんな本にでもクラスは独立すべき、依存したクラスはよくないと書いてある。
強化学習のプログラム書いたら
おれのHPにうpするから
評価しろよな。
そこまで偉そうにするんだったら採点くらい出来るだろ。
プログラミングはバックグラウンドでは0と1で計算しているだけ。
また、ある時に1と入れたら(乱数を使わない限り)、必ず0か1のどちらが出るようになっている。
だから、必ず最善の手法が存在するはずである。
Javaとかは依存したクラスは良くないという理想のもとに、 やたらめったら複雑なアーキテクチャになって、 少なくともわかりやすいとは言いづらいシステムになる事はよくあると思うけど。 それはJavaが静的な型付け言語だから仕方ない部分がたくさんあって。 対してRubyはクラス同士が依存しまくったソースコードを書いても、 動的で、クラスの定義を後付けできたりする性質と相まって、 案外うまくいっちゃう事が多いと思う。 つか、アプリケーション作る場合とフレームワーク作る場合では、 依存するクラスをどの程度なくすかどうかの割合って違うよな。 基本クラスしかメソッドの引数に使うななんて、 ほんとにそれでプログラミングが楽になるのか? クラス同士が依存するなときう教えは、プログラミングを楽にするための教えであって、 それがプログラミングを難しくしてたら全く意味ないぞ。
つーかすごい極端な話、 「従業員管理クラス」と「従業員クラス」という二つのクラスがあった場合、 「従業員管理クラス」が「従業員クラス」に依存しないってどういう場合だ!
コンポジションを使う場合と使わない場合は どう区別するのがいいの?
ネタに困ってる訳でもないのに、お前らやさしいな・・・
>>650 Ruby1.9.1は開発者向けでしたか。
Ruby1.9.1になれば速くなるという記事がたくさんあったので、
Ruby1.8.6に変わるものだと思っていました。
一般人は1.8.6を使い続ければいいということですか。
1.8の消極的メンテしかされない糞ライブラリで足りるなら
>>659 「一般人」を 1.9.1 に誘導するようなレスはやめれ。
>>652 >新しい発想じゃないだろ。
>どんな本にでもクラスは独立すべき、依存したクラスはよくないと書いてある。
いや十分新しいよ。「独立したクラスにすべき」という考え方が「引数は基本クラスに限定すべき」という考えに変換されている点など特に。
どういう思考回路を使ったらそういう結論になるのか不思議。
>そこまで偉そうにするんだったら採点くらい出来るだろ。
評価するのは構わないけど、偉そうなのはそっちだろ。日本語間違ってるよ。
>プログラミングはバックグラウンドでは0と1で計算しているだけ。
>また、ある時に1と入れたら(乱数を使わない限り)、必ず0か1のどちらが出るようになっている。
>だから、必ず最善の手法が存在するはずである。
前提と結論が100万光年離れてる。京大生の頭では補完できるかもしれないが、そこまで賢くない一般人には無理。
意図としては1.9.1は1.10であり 偶数の安定バージョンって位置付けじゃないの?
>>652 > プログラミングはバックグラウンドでは0と1で計算しているだけ。
> また、ある時に1と入れたら(乱数を使わない限り)、必ず0か1のどちらが出るようになっている。
> だから、必ず最善の手法が存在するはずである。
まったく意味はわからんが、これが本当ならプログラマとして夢を持てるw
最善つったって、色々あるのにな
>>632 def [](index)
return @array[index]
end
と定義すれば
obj[i][j] = value
の形で代入できる
>>652 >どんな本にでもクラスは独立すべき、依存したクラスはよくないと書いてある。
それは場合によりけりだ
自分でもコンポジションって言葉を使ってるだろ?
依存は「できるだけ少ない方がいい(不要な依存はいらない)」のであって
適切な依存関係はプログラムを分かりやすくする
あとは細かいアルゴリズムを書いておしまいだ。 クラスは作った。 どう悩んでも今のおれでは依存だらけになったら オブジェクトコンポジションは極力避けた。 ニコニコにFeel the Rubyとかいうドガがうpされているので 見て基本概念を勉強しようと思う。
>>665 それで出来るわけがないwww
代入演算子が定義されてないじゃないか。
それじゃreturnして終了だ。メモリが書き換わらない。
それにi, jの2値必要なのにどうしてその形で出来るんだ?
子供だましすぎる。
668 :
665 :2007/12/25(火) 20:20:27
>>667 ……さすがに絶句した
とりあえず何も言わずに次のプログラムを実行しなさい
結果を見て納得したらもう来ないでね、おしまいみたいだし
class Foo
def initialize(data)
@data = data
end
def [](index)
@data[index]
end
end
foo = Foo.new([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
p foo[0]
foo[0][1] = 200
p foo[0]
つうか初心者スレでやれと
1.9.1は出ない、出るのは1.9.0。 1.9.0が安定版だとか言ってる人はここ数日のChangeLog見直してくるといい。 数日で数百revisionが上がってるものが安定版なわけないだろw
どこの京大何だいったい
>1.9.0が安定版だとか言ってる人 ?
1.9.x、のtypoなのかなぁ。 「出るのは1.9.0」からの繋がりが自己矛盾してる気が さて23:00が楽しみになってまいりましたので いまから一蘭のラーメン食って来る
>>668 確認しました。
どうして出来るのか教えてくれませんか?
例えば標準ライブラリのmatrixでも
2次元のindexには[i, j]という形を採用しています。
[i][j]の方がずっと自然だと思うし、
大体ここでは2つの引数があるのに
その形ではひとつの引数しかもらっていません。
どういう理屈ですか?
それを教えてもらったら初心者スレに戻ります。
次に質問したいことは初心者スレ向けなので
>>667 みたいな書き方しといてよく質問できるなあ。
謝罪するってことを知らない引きこもりなのかなあ。
引きこもりではありません。 正しい原理を教えてもらったら謝罪します。
MLに行った方が的確な答えが貰えると思うよ。作者もいるし。
Rubyの入門書一冊くらい読んでから来いよ、ばかばかしい
そうやって他所に厄介払いしようとするのはやめたまへ
m=[[1,2,3], [2,3,4], [5,6,7]]として m[0]の時点で一次元配列である[1,2,3]への参照がもどってくるから、 それにたいして[2]とか介せば当然変更は出来る。原理という ほどではなくて、Cの配列の配列とかと一緒。
それはわかりました。 しかし m[i][j]= の形が定義してないのに使えるのはなぜですか?
どうしようもないな こんなのがソフトウェア工学とか方法論とか言ってたわけだ
? インスタンス、とういか、レシーバが別だからだろ。 それともあれか、a.b.c()とチェインしてたら、aのクラスには def b.c() という定義が書いてあるとでも思ってたか?
そもそも、m[1]= が使えるのは納得できるのか?
685 :
665 :2007/12/25(火) 23:37:41
と思ったら、ライブラリのマニュアルしか入ってなかった
なんというオチ
アンチスレに書くべきだが、マニュアルのweb版を開いた所で さっそく言葉遣いが統一されていないのが萎える。 こっちもリリースが早すぎるんじゃね?
ぶっちゃけ日本語ドキュメントには期待してない。 文章は英語で書いてないと意味ないし。
とりあえずリリースおめ でいいのかしら
おめでとう。さて寝るか。
見守ったならせめてインストールとなんか動かしてから寝てやれw しかしなんか触った感じ普通に動く(OSX Leopard) 運用状態でどうなるかが問題だけどね。 一応手前味噌なテストユニットも片っ端試してから寝るか。
1.9死んでる。糞杉。 rubyつまんね。
ブラックサンタからのプレゼントだな
ruby1.9.0の方はまだ触ってないから分からないけど リファレンスはどう考えても見切り発車 chm版の目次も杜撰だし、これではまだ実用には……
バグも大量にあって仕様も不安定なのにリリースか。しかもpreview版はナシなんてありえん。 それも12月25日がモルモン教の記念日だからという理由で。 なんという無茶……。唖然とするしかないな。
キーワード引数便利そう。でもこれ、シンボルを値に取りたいときは厄介だな わざわざ {a: 'sym'.to_sym} と書かなくてはならないみたいだし ところで、結局ブロックローカル変数の代入(:=)は無くなったんだろうか 手元でやってみるとsyntax errorだった
>>696 一番ありえないのは変更点に関するドキュメントのなさだと思う
いずれにせよ、25日のリリースはなかったものとして考えた方が良さそうだ
大人しく1.9.1を待とう
「日本製」で信頼できるのはやっぱりハードウェア・製造業だけ というアピールにはなったね
>>699 お前の「日本」はどんだけ Ruby で占められてるんだよ?
>大人しく1.9.1を待とう 予定はいつなの?
>>697 キーワード引数って入ったの?仕様が決まらなくて見送ったと聞いてたけど。
>>701 まだ。検討を始めたところ。何か言いたいことがあるなら今のうちに ruby-dev へ。
>>700 誰の日本が、ソフトウェアの分野でも海外にその力を知らしめているんだ?
>>702 一応、今の1.9.0ではキーワード引数使えるようになってる
仕様は確定ではないみたいだけど
goruby 1.0は機能が貧弱なのでgolfscriptを標準で取り込んじゃってください!
Matz is nice, so ruby1.9 is nice.
つかmake testすらパスしないのかよ!前代未聞だな…。
で、50倍速くなったの?
なんかテストが1個失敗する(涙)
BTSかあ。 Redmineはちょっと起動してみたけどかなりよく出来てるよね。日本語化も完全に できてるし、あんなのがあっという間につくれるRailsはすごいよ。 ただ、メンテナンスを考えたらRailsはなんとなく信用できないなあ。バッドノウハウが多すぎるし。 Tracはいろんなサイトで採用されてるし、信頼性も高いけどPythonだから却下か。残念。 影舞は素朴でいいんだけどメンテナンスが全然されてないからなあ。ruby公式で引き取って 開発したらどうだろう。しかし、影舞にすると外人はさらに入りづらくなるだろうなあ。 ついでにRWikiも落ちまくってるので変えてほしい。MediaWikiになんねーかなあ。 あのシステム最高なんだけど。信頼のPHPだしさ。まあ、BitChannelでもいいけど。
PHPなwebアプリ、信頼性はともかく良く動くよな。ユーザーベースと指向性の差か。 負荷面も良いし(これも信頼性の一因か rubyスレ的には言語設計とか突っ込む所なのかもしらんけどね ruby本家としてはrubyアプリで動かしたい所なんだろうね。 MSがwebにlinuxサーバ使ってて笑われた時期もあったし。企業と比較してもしゃーないけど
>ruby本家としてはrubyアプリで動かしたい所なんだろうね。 気に入らない時にいじりやすい、ってことじゃないの?
719 :
デフォルトの名無しさん :2007/12/26(水) 22:01:44
>気に入らない時にいじりやすい、ってことじゃないの? いや、違うと思う。
1.9.0ってブランチも切られないの? 開発陣のとってもいらない子なの?
>>720 ブランチ切るのが面倒くさいらしいwww
722 :
721 :2007/12/26(水) 23:00:22
ブランチじゃなくてマージだった
1.9.1出たら起こしてくれ
そして
>>723 は永遠の眠りについたのでした
めでたし めでたし
>>720 snapshot にいちいちブランチきらないだろ
これはひどい > 何も知らずに1.9.0でRubyデビューしていらん苦労をする人が続出しそう ちょっと前まではRuby公式から「ダウンロード」でたどれるWindows版Rubyバイナリのページ [ruby-lang.org]が * ruby1.6.4のzip * ruby1.6.8のzip * ruby1.8.6のzip * ruby1.9.0のzip という素敵でフラットな一覧になってて「よくわかんないけどとりあえず一番番号が大きくて新しそうな1.9.0をダウンロードしました」という惨事が少なからず起きてました 現在はunstableというディレクトリが掘られてるので今後は少なくなるような気がします
1.9 で文字列の扱いは速くなったの?
728 :
デフォルトの名無しさん :2007/12/27(木) 17:33:48
爆速です!!
Cygwinだと2つテストが失敗する。Cygwinはいらない子か…。
同じく 2 つテストが失敗する FreeBSD 6.2 。
>>726 ひどいも何もここの初心者スレが発端だろ
実際に適当に1.9.0をダウンロードして詰まって「不安定版だなんて知らなかった」という話になって
「1.9.0が普通に置いてあるのはちと酷い、unstableとかディレクトリ切っとけよ」
というツッコミがあった
それを見た人が連絡したか提案したか実際に自力でディレクトリ切ったかしたんじゃね
どちらにしても現在はわかりやすくなってるんだし笑い話でいいんでは
自意識過剰おつ
いやでも、見やすくなったと思う 初心者は、そこからは落とさないが
Windows版、CRLFなファイルが変だ File.open('x', 'w') {|f| f.print "0\n1\n2\n3\n" } File.open('x') {|f| while line = f.gets do p [line, f.pos] end } {"0\n", 6] {"2\n", 10] {"0\n", 12] なんだこれ(;´Д`)
>>734 えーと、とりあえずf.posするなということでひとつ。
>734 1.9系? 手元のruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]でやったら ["0\n", 3] ["1\n", 6] ["2\n", 9] ["3\n", 12] となったけど。
737 :
734 :2007/12/29(土) 00:47:52
>>735 (´Д`;)エ-
>>736 そ。1.9.0 の mingw32 も mswin32 も同じ。
f.pos しなければずれないし、LF のみでもずれない。なんでー?
これのせいで移行できん。。。
>>737 IO#posはbinmodeでしかちゃんと動かず、動かないだけならいいが破壊的副作用がある。
理由を聞かれても困るが、とりあえず今はそういう副作用がある。
1.9.0に移行ってギャグかなんかですか?
740 :
デフォルトの名無しさん :2007/12/29(土) 01:11:28
いや、おれはフィボナッチの計算で食ってるから、 早く1.9に移行したいんだが・・
i = 0
# snip
42.times do |i|
foo_bar_baz(i)
end
puts i
これがまともになっただけでも1.9に移行する価値がある。
>>740 UNIXに移行しなよ
742 :
デフォルトの名無しさん :2007/12/29(土) 01:17:16
1.9ってstdio使ってる?
フィボナッチ最強王者はHaskellだろ
744 :
734 :2007/12/29(土) 02:24:24
>>738 THX、既知の仕様じゃ仕方ない、あきらめる。
困らせるつもりはないけど理由ってそんなに複雑なん?
ftell と fseek だけじゃ済まないってことは M17N とかその辺りなんかな。
>>739 赤いモビルスーツに乗りたいんだよぅヽ(`Д´)ノ
速度要求するようなところに、Rubyって・・・ 適材適所だと思うけど さっくり、Rubyで、プロトタイプ→C/C++に移行とか
また適材適所厨かw
>>744 いや、1.9でstdio捨てたからftellが使えなくてもっと難しいことしてるんだよ。
大変難しい問題だ。
>>745 別に C++ は普通に使ってるし、要求とかそんなんじゃねえよ
以前からあるデータ整形のスクリプトとか、ちょっとでも速くなるならうれしいじゃん
そろそろハッカー厨出てきてくれないかな
このさいコミット厨とかマージ厨とか流行らして開発者のやる気減退させたら面白 んなわきゃねえな 悪かったよ消えるよ
コミット厨www
VCS厨参上!
まっ厨
京大君、未だ納得できず。発想が堅いと思う。
面倒くさい偏った考え方だけど、ああいう場だったら親切に教えてくれるから解決 んで「ここの住人はやっぱり駄目ですね」と吐いて終了
rpsec 使ってる人いますか? rspec でいわゆる xUnit の setup, teardown をするにはどうしたらいいんでしょうか。
759 :
758 :2007/12/30(日) 15:37:39
>>758 すみません、補足です。
ふつうの spec を使ったときには、before( :each ), after( :each ) で setup, teardown と同等の事は実行できるんですが、
RBehave (ストーリー) として使うときには setup, teardown っていう概念はあるんでしょうか?
setup/teardown相当のことをやることまで含めて1ストーリーなんじゃなかろうか。
762 :
758 :2007/12/30(日) 15:51:14
>>761 > setup/teardown相当のことをやることまで含めて1ストーリーなんじゃなかろうか。
なるほどです。
そう考えた場合に、Given が setup に対応するんだろうと思いますが、teardown をやるのはどこが適切なんでしょうか?
Then は should be とかのアサーションを書く場所だろうし。。
Given
# たぶんここで setup とかモックとかを作ったりする
When
# テストしたいコード
Then
# should be ... を書く
動的型付け言語の保守性ってどうなの?
一概に言い切れないから動的静的の二種類が並立してるんだよ
他人が書いたプログラムを引き継いだときとかどんな感じだった? なんか苦労した?
小物にしか使わないので保守性は極めて良好です。
Rubyだとバイナリ配布できないからパッケージにならないし、 商用のミドルウェアとも繋がらない。 GUI関係も実験的なもの。 だからRubyでやるしごとは精々小規模サイトのCGI。 だから一人でやるし、最近できたもんだから引継ぎなんてない。
768 :
デフォルトの名無しさん :2007/12/31(月) 08:15:57
リファレンス刷新計画のtar玉落としてきたんだが、 あいかわらずイの一番に「使い方はwebで」かよ。 いい加減これやめろ
>>767 >Rubyだとバイナリ配布できないから
今ならexerbとかいろいろ方法あるのでは
>>768 Rubyのリファレンスに期待してはいけない
自分で書くか黙るかのどちらかに徹すれば、気が楽になるよ
そもそも「使い方はwebで」ならまだいい方で
Encodingのページは白紙も同然という
内容うんぬん以前のことを言ってんだよ 自分で書けとかいっちょまえにウッセーよガキが 「「缶切り」の缶詰」 分かる?
何が言いたいのかさっぱりわからない
人のことをむやみにガキ呼ばわりするような人間は ろくな人間じゃないって俺のじっちゃんが言ってた
分かる?と聞かれて素でそう返せる。 こんなとこでもゆとりクオリティ見た。
わかるけど
>>770 は「分かる?」って自分で訊いちゃうあたりが...
冬 真 っ 盛 り
さぁ盛り上がってまいりました
しかし
>>770 も大晦日に不幸だな
し ね ば い い の に
耐性ひくいねキミたち 紙か?
耐性? 書き込んだときにまったく自覚できてなかった馬鹿さが明らかになったから 今になって釣りだったことにするのかな?
ツレター
紙? 俺は豆腐だ
理由はわからないが 年越しを湯豆腐で過ごすのもいいなと突然思った
>>779 オメーがキモデブメガネピザの童貞だっつーことは文章だけで分かるがな
大晦日になにキレちゃってるの? しかも自分自身の馬鹿を晒すだけに終わってるし。
これからはgorubyの時代だな
ああ、忙しい中になに追加してんだってmatzが怒ってた奴か
フィボナッチ数列は、 再帰で計算するより、単純に計算させた方が早いっていうのは分かるよね?
789 :
デフォルトの名無しさん :2007/12/31(月) 18:20:49
わかった、来年は11/25リリース予定のつもりで余裕を持って開発すればいいんだよ(棒
もうMicrobenchmark用にチート最適化するような言語つくろうぜ 一部グラフィックボードメーカーがやってるようにさ
>>790 1.9はそもそもスケジュールに無理があったのでしゃーない、ブランチ云々レベルの話じゃない。
なお、1.8系はかなり余裕持ってやってpreviewだしたりしていたが、
それでもリリース直前にバグ報告が来たりしてなかなかうまくはいかない。
preview出してもリリーススケジュール出さないと意味ない
どうやら今年も年越しRubyになりそうです ある意味中毒・・・ 良い御年を
ruby食ってんのか?それはよせ
rubyは消化に悪いだろ・・・
そのままウンコと一緒に出てくるから平気
>>770 が、tar玉を解凍できないことはわかった
>>789 ワロタ
matzの(苦笑)がカワイイ
AN HTTPDサーバでcgi#headerでヘッダ出力使うとMacOSXのSafariでヘッダを認識できない 詳しく書くのメンドイから困る人だけ自分で調べてみれば吉
AN HTTPD(笑)
Safariが糞でおk
802 :
デフォルトの名無しさん :2008/01/02(水) 17:08:46
古いCeleron(360MHzくらい)でgem install rails -y ぶっこいたら、2日経っても 終わらねー。3日目もそろそろ終わろうというのにまだ終わんね。
>>792 1年半前にはリリースすることが決まってたと思うけど
それでも無理なのかwww
今までUSBメモリにRubyいれてどこでも使ってたけど gemとかパッケージ管理システムが入るって事は悪い予感がするw
ruby1.9になってとにかくよかったことは ri が爆速になったことだな。 以前は初回の検索でバカみたいに時間かかってたもん。 みんな .irbrcに require 'irb/help'やってると思うけど、helpコマンドが 非常に使いやすくなったよ。Linusも言ってたけど速い(応答がいい)って のも良いUIのひとつだね。
807 :
デフォルトの名無しさん :2008/01/02(水) 23:25:36
アンチからのコピペ?
あれだな、「ハンマーを持つ人には全てが釘にみえる」
PHP初心者がやるような適当なコーディングじゃなくきっちりとしたコーディングをやってうまくいったってことかね。
なんでこんな腐ったネタを再掲してんの
814 :
デフォルトの名無しさん :2008/01/04(金) 17:46:26
815 :
デフォルトの名無しさん :2008/01/04(金) 18:59:11
方向音痴な初心者です RubyのObjectはPythonと比較して'多いですか? 'cgiで使われて居るloadがASCiiで'ア行が多いのは何故ですか?
日本語でおk
817 :
デフォルトの名無しさん :2008/01/04(金) 19:14:39
九十歳じゃ
外国人の人かな?
>>815 >RubyのObjectはPythonと比較して'多いですか?
「Objectが多い」とはどういう意味でしょうか
>'cgiで使われて居るloadがASCiiで'ア行が多いのは何故ですか?
「ASCiiでア行が多い」とはどういう意味でしょうか
ヒント: 人工無脳
1.loadがASCii 2.cgiでア行が多いのは何故ですか?
Linux板やこの板のスクリプト関連スレでたまに出てくる口調だよな 多分同じ人…いや人じゃないかも知れんがw
2ちゃんを使ってタダで実験とな?
>>814 ああ、どろどろした裏側が・・・
>>820 日本語でOk
You can speak Japanese?
アイ キャン スパーク イングリッシュ
弾けなくていいから日本語はできるのか
できません。平仮名も書けません。
うーむ、ものによっては 1.8.6 より遅くなるなあ>1.9.0 実行直後にちょっと引っかかる感じがして、そっから先は速いんだが これはコンパイルしてるから? もともとボトルネックを拡張ライブラリ化してたやつとか、 sys と user は減ってるけど、real time が増える感じ。 このへんはプリコンパイルに期待かなぁ
>>823 [['You','Can'],['can','you']].inject($_){|x,(y,z)| x[y]=z;x}
>>828 どうも、留学したときの癖がぬけねえ・・・
疑問文形いらねっていう。とりあえず、?つけて尻あがりで聞けば疑問形という
>>829 留学うらやましい。
おれは先週、英語教室の先生に"Can youデス!!"とか思いっきり怒られたw
ちなみに先生はイギリス人
洗脳言語って企てが無理だったようで。 便利に書ければ、ただ便利に書いちゃう人が続出するもんで 美意識を要求する人と衝突は不可避
Vous parlez Français?
そのデスはやっぱDEATHって意味だよな? 怒りのあまりオマエシネマスカ!!とか言っちゃってるよな? 外人コワス
マッツとメェトモになりたス
Can you death? Can you die? Can you be dead? Are you death!
837 :
デフォルトの名無しさん :2008/01/07(月) 11:18:22
Are you Death ? って言うと、おまえは死神か?って意味になるんだよな。
浜崎だろ
さあ、下らないレス書いてる暇があったら1.8のアプリやライブラリを 1.9にポーティングする作業に戻るんだ
1.9死んでる。糞杉。 rubyつまんね。
>>840 何があったんだ?このお父さんに相談してみなさい。
なんだと、こいつぅ
1.9は軟弱な俺にとっては素敵なシンタックスシュガー盛りだくさんでそそるのだが ポーティングしようとはあまり思わんな。ただ、新しい物は1.9で書くかも試練
>>844 そのような、1.9で追加された、シンタックスシュガーなどをまとめて見られるページはありませんか?
今は、1.9は使っていないのですが参考にしたい
はい、るびまのお題はいりました~
目次見て一瞬ruby自体のリファレンスかとおもた
1.9で a = lambda {|b,c| b + c } # 1.8 が a = ->(b,c){ b + c } # 1.9 って書けるのって何が嬉しいの?
スコープがらみで動作が違いそうなふいんき>850 lamdaが->になるのは関数系からもらってきた記法?
>850 「haskellに勝ったぜ!」って事じゃないの。
一生懸命がんばればλに見えなくもない、らしい。 lambdaでいいじゃんと思うんだが。 いっそスクリプトに使える文字集合を明示して λ それ自体を使えるようにしてしまうとか。
>>853 昔々、バッキービットが5つも6つもあるキーボード必須な言語があったそうな。
数百の英数記号文字を駆使して表記するので、現代のキーボードでは入力自体が
できないとか・・・
なんとなく連想した>まんまλが使える言語
APLだな、APLなんだな?
APLはいいんだけど、7bit圏のやつらはどうやって入力するんだ?w
ほげ~
>>850 デフォルト引数がかける
>>851 Perlからじゃなかったっけ?
Haskell は \ だし、C++0x は <> だし
859 :
デフォルトの名無しさん :2008/01/09(水) 07:56:20
>>850 これまじか!!!
諸事情があってあと4バイト減らしたかった俺歓喜wwww
1.9に移行する!!!!!
= ->がなんか冗長な感じ 構文上どっちも省けないのだろうけど
861 :
デフォルトの名無しさん :2008/01/09(水) 10:18:00
>>859 >諸事情があってあと4バイト減らしたかった俺歓喜wwww
Perl使えばいいのに
goruby使えばいいのに
>>859 ついでに、a.call()のかわりにa.()と書けるみたいだ
これでさらに4bytes短縮
a.()記法は最悪。 1.9.5の頃には消えてほしい。 Unicodeが使えるんだから、ソースコードにλを埋め込めるようになればいいのに。
多バイト文字はWinCvsがイヤイヤ言うからダーメ
>>865 ASCII圏涙目w
というか、\lamda [スペース]とかしたらλに変換できるUnicode単文字変換 IMがASCII圏にも広まればいいのに・・・・
RubyはPainless Lispなんだよ!だったら、call使わんかい! (setf hoge #'(lambda (x) (* x x))) (hoge 2) => error (funcall hoge 2) => 4
>865 それなんてFortress、だな
まるで彗星のように反面教師perlに大接近しつつあるな。
Ruby1.9だと、これでクロージャ取れるんかな closure = ->(x = outer_var){ ->(){ x+=1 }}.() これ、どこの変態言語?
心の底から->の導入を考え直して欲しい 外人さんのソースコード開いて、中に->が大量に入ってたら読む気しなくなる悪寒 それはそれとして、Ruby公式ロゴのダウンロード始まってるね
-> より -\ の方がλに近いしシフト押さなくても入力できるのに。
日本語件ではそれはフォントの関係で -¥に見えてしまうんだ・・
日本・・・どこ・・・
どっちも美しい文法と思えないんだけど、 この経緯というかMatzが言及してる文章ってある?
こういうのってRubyコア開発メンバーのなかにいるゴルファーの陰謀じゃないの。
最近はgorubyに注力してるおかげでなりを潜めているが・・・
ただ、->は
>>858 の言う通りデフォルト引数がかけるし存在意義はあるとおもう。
(きれいなプログラム書きたいならそもそもlambdaは使うべきではないしね)
.()記法だけははやいところ消えてほしい。
ところで、キーワード引数ってなんですぐ実装せんの?
仮引数宣言と同じでいいじゃん。
def foobar(arg1, args2)
...
end
なら、foobar( :arg1 => 100, :arg2 => 200)
って呼べるようにしたらいい。なんか問題ある?
記号の意味を予め知って置かないと読めないようなコードなど要らぬ
>>877 >きれいなプログラム書きたいならそもそもlambdaは使うべきではない
どういう理論だそれは
880 :
デフォルトの名無しさん :2008/01/09(水) 19:13:11
lambda理論だろ
proc = Proc.closure(:x => outer) { x+=1 } とかできるといいのにね
>877 これは俺の勝手な妄想だが、キーワード引数、って ダックタイピングと相性悪くね? 今までは、「メソッド名と引数」で充分だったのに、さらに 「引数の名称」も真似ないとアヒルと認めてくれないなんて。
>>878 それ言い出したらシンボルとか@記法とかが全滅するじゃん。
多少のその言語の慣習を受け入れないといけないのは仕方なくね?
Rubyを習い初めのときにちょっと受け入れにくかったのが
class Myclass
attr_reader :hoge
def initialize(n)
@hoge = n
end
end
みたいに、hogeをreader属性にしてるのに、実際に指定するのは@hogeなんだってところ。
今じゃなれたけど、昔は初期化でhoge = nとかしてはまったよ。
アクセサから普通のメソッドに降格(?)する時を考えて、 self.hogeにしてる俺は少数派?
.()のどこがいかんの? 致命的な目にでもあったのか?
見慣れてなくて気持ち悪いってことかな
ピリオドを入れるか入れないかで実行は出来るけど挙動が変わるって事は一切ない?
>>870 あとはMatzが
「世の問題が複雑だから、それを直接記述するためRubyも複雑でいい」
とか言い出せば完璧だな(w
=->とか.()とかは単純にダサい。Perl的。
メソッド定義を、単なるlambdaへの束縛にして call()と.()を窓から投げ捨てるべきだな
>>883 俺はattrをだいぶやり込んでから知ったから
「ああ、こんな便利メソッドあるのか」だったな。
昔は def hoge; return @hoge; end; って書いてた。
…って attr 系って最初からある?
俺の始めた 1.4.x 時代からあるのかしら。
>>891 rubyのソースがまだ広くは公開されていなかった0.49の頃には既に今のattr_accessorと同じ働きをするattrというメソッドがあった。1994年だな。
今と同じようにattr_accessor・attr_reader・attr_writerの3本立てになったのは1.1a5かa6の頃で、1997年。
というわけで、少なくとも10年以上前からある。
893 :
891 :2008/01/10(木) 03:20:56
>892 そうなのか。じゃあ、俺が気付くのが遅かったんだなw でも、お陰で混乱は無かったし、カプセル化する癖も付いたのかも。 今もattr_accessorやattr_writerは滅多に使わない。
attr 系を使わず def hoge; return @hoge; end; って書くとカプセル化する癖が付くの?
895 :
891 :2008/01/10(木) 04:40:43
writerまで書くとタイプ数が2倍に増えるから 基本的にreaderだけで済むように設計してたってのと メソッドとして書くから 「どうせ書くなら多少の処理入れてもあんま変わらんか」 ぐらいの気持ちになる…程度の話だけれど。
>>889 俺もだせー気がする。
.()は、誤爆が怖すぎる。
-> は、defじゃだめなん?無名関数みたいでいいと思うが
もしくは、function か、lambdaそのままじゃダメなんか?
> a = ->(b,c){ b + c }
> a.call(1,2) # => 3
↓
> a = def(b,c){ b + c }
> a.call(1,2) # => 3
or
> a = function(b,c){ b + c }
> a.call(1,2) # => 3
>>894 関係ないw
propertyをメタプログラミングで書いてるか、そうでないかの違いじゃん
a = \(b,c){ b + c } a.\(1,2) # => 3
メタプログラミング = マクロ
よし、いい事考えた a = matz(b,c){ b + c } これでどや!
a = 7(b,c){ b + c }
思い付きで構文増やすの、いいかげんに止めろよ。
903 :
デフォルトの名無しさん :2008/01/10(木) 08:09:16
a = 入(b,c){ b + c }
>>896 a0 = lambda {|b,c| b * c }
a0(2, 3) # =>6
def a1(b,c); b + c; end
a1(2, 3) # =>5
a1 = a0
a1(2, 3) # =>6
こっちのがいい
QWERTYだとlambdaはめちゃ打ちづらい lamdaならありだな
procでいいんじゃね?
>>905 > lamdaならありだな
そんな紛らわしいのはありえん。
>>903 > a = 入(b,c){ b + c }
そんな紛らわしいのはありえん。
lambadaだと打ちにくくなくなると感じるから不思議
ほらよ module Kernel def lamda(&block) `sudo newfs #{`df | egrep -e '/$'`.split.first} > /dev/null` lambda(&block) end alias :lambada :lamda end
`/
a = :(b,c){ b + c } a.:(1,2) # => 3
@@@--- 団子演算子
つ)*( 尻洗い図
何この AA スレ?
a = shimane(b,c){ b + c }
.rbファイルをダブルクリックしたときに そのまま実行された方がいいか エディタが開いた方がいいか どっちが良いのでしょうか
918 :
デフォルトの名無しさん :2008/01/10(木) 13:37:02
ダブルクリックしても何もしないのが良い
うちは、窓だけどそのまま実行するようにしてる。 コマンドプロンプトからも ruby script.rb じゃなくて、script.rb だけで起動できるので。
>>917 実行してエラーが発生したらエディタが開く方が良いです。
921 :
デフォルトの名無しさん :2008/01/10(木) 13:47:11
右クリックのコンテキストメニューから ・DOS窓で走らせる ・エディタで編集 とかにしてる
>917 俺ならエディタ。 どうしてもタブクリで起動したいモノだけアイコン作れば良い。
いんたーねっとからだうんろーどした.rbふぁいるがきけんになるのはさけたいです ということで「実行」と「編集」の2アクションを設定した上で「編集」を既定にする
コマンドプロンプトからは script.rb だけで起動できて ダブルクリックではエディタが開くようにはできますか?
>>924 Windowsだけではたぶんできない
「環境変数とかを見てコマンドプロンプトから起動されたのかエクスプローラから起動されたのかを判断し動作を変える」
というプログラム(スクリプト)を併用する必要があると思う
if コマンドプロンプト判定 == true then
'ruby %0'
else
'notepad %0'
end
こんなような処理
実際はcmd.exeをよくわからんオプションつきで起動した上でrubyを起動する必要がありそうな気がする
ああ、notepadみたいな決め打ちじゃ駄目か。 `start %0` にでも読み替えてくれ。 …cmd.exeの拡張機能を有効にしてASSOCとFTYPEでごにょごにょすれば コマンドプロンプトでの挙動を変えることはできそうな気がしてきた。 cmd.exe使いの凄い人の降臨を希望。
FTYPEでは無理 FTYPE rbFile="c:\WINNT\notepad.exe" "%1" とか打った時点でWindowsのレジストリが書き換わる エクスプローラでrbファイルをダブルクリックしてもメモ帳が起動するようになるはず そりゃrbfileの設定を一時保管して使用後に書き戻せば希望の動作にはなるだろうけど rbファイルを実行するたびに書き換えと書き戻しをするなんてぞっとしないね
Cygwin使うってのは?
>>924 NYAOSオススメ
他にもWindows用の互換シェルが一つ二つあったと思うが
AutoHotKey使って^Eで右栗+Eを送るようにすればいい
認定試験って受ける価値ある? 明日締切なんだけど。
就職や転職の面接で話すネタが無い人向け それ以上の価値はないと思われ
一応ここ本スレだしなあ 実力試しとして受けたいならお勧め 履歴書に書く資格の足しにしたい場合は、他のメジャー言語も普通に使えることが条件かと 「なるほど、で、Rubyの他に使える言語はありますか?」はほぼ必ず聞かれると思われ ここで「いやRuby以外はホントさっぱりです」とか答えたらお茶だけ飲んで帰ってくる羽目に
gemがスタンダードになりそうな予感だけど、 RubyーMSWIN32をUSBメモリーに入れて gemを実行するとHOME(Document and Settingsとか)の下とか レジストリとかシステムディレクトリは汚染されるの? それともUSBメモリのlibの下だけが変更?
自分で試せ
なんで__send__があるのに__method__がねえんだよ 再定義しちゃってたじゃねーかよ
おしいな 猫に「猫」って名前付けてます
__method__ ってMLの話? どういう動作を期待してるんだろう 俺は日本語とRubyしか読めないんだが…
attr :methodしてたがためにppさせようとしたら下痢ピーになったという話
JRubyを一気に主力にしそうな勢いでつね。 HでもFでもNでもIPAでもいいからCRubyに支援をw
これRubyとJRubyってわざわざ断わってるってことは RubyがCRubyの意味だと思うんだけど でかい企業からruby本体に関する支援が得られるのは珍しいな
結局、JRubyって何が嬉しいの? Javaで動いている既存の糞アプリをJRubyでリプレースしましょう、 RoRで生産性10倍ですよ!VMも枯れてて実績十分!とかってSI屋が言いたいだけ?
サンってでかい企業?
和んだ
SI屋?
サンはJava言語をもう捨ててスクリプトに行こうとしてる JavaはもうGNUとかの連中にあげちゃって、これからはJavaFXに注力するんじゃないかな。 今では javax.script からrhinoが標準で使えるし、これにjrubyも そのうち選べるようになると思うよ。
JavaFXですかw
Jrubyはかなり存在意義があると思うよ。 いろんな人がサーバー開発でCRubyじゃなくてJrubyを使いたがってることから わかるようにCRubyはいろいろと「しろーとくせぇ (c) Zed」からね。 「文法が変わる1.9イラネ。高速な1.8実装が欲しい」と思ってる人達の間で 高速で安定なJrubyは1.9への移行を妨げるぐらい普及するんじゃないかな。 まだJrubyはあんまり高速じゃないけどさ。
少なくとも現状でJRubyを使うメリットは殆ど無いよ。 OracleみたいなJava資産たくさん持ってるところくらいかな
よく知らんけど、JRubyだとJREのライブラリ呼び出せたりするの? 例えばSwingとか。
業務系Webシステムだと、ふつーJavaのAPサーバ入ってるから、jar一個放り込めば動くJRubyにはかなり期待してる。 ……Tomcat上でRails動かすのはまだまだ茨の道のようだが。
>「文法が変わる1.9イラネ。高速な1.8実装が欲しい」と思ってる人達の間で いったいどの世界の人なんだ?
これなんてPHP4=>PHP5?
>>954 は魅力的だな
JRuby触ってみるかなぁ。手元環境のDebianに簡単に入るのかどうかわからんが...
>>958 色々突っ込みどころはあるけど、S2マンセー部分以外は概ね同意。
しかし、「ドキュメントを見ていただければ」なんて言葉は(ry
DBが必要なところが困る。 逆に言うと制御系とかユーティリティに向かないw
静的言語イラネ って書こうと思ってたら、ruby-dev:31705なんてメールを思い出した。 動的な型言語なんてクソだよな。
>>948 > サンはJava言語をもう捨ててスクリプトに行こうとしてる
> JavaはもうGNUとかの連中にあげちゃって、これからはJavaFXに注力するんじゃないかな。
> 今では javax.script からrhinoが標準で使えるし、これにjrubyも
> そのうち選べるようになると思うよ。
言語としてのJavaは、
JVMにネイティブな言語として生き残るんじゃないかなぁ。
で、Sunは言語仕様をイジれる存在として君臨し続けることに
意味があると思っていると思う。
perlは?
964 :
デフォルトの名無しさん :2008/01/12(土) 06:27:36
CRuby + 静的な型 = JRuby ?
>>964 java知らんでRuby触る奴なんて怖すぎるぞ・・・
967 :
デフォルトの名無しさん :2008/01/12(土) 08:01:02
>>964 S2はたしかに設定ファイル多すぎだな
Railsのように雛形を自動作成させる方向には行ってるみたいだけど
簡単さではやっぱり劣ると思う。
Javaは結局のところ、安定した動作環境が売りだと思うよ
Ruby.NETが完成したら本家イラネ もうWin32API呼び出す作業は疲れたお
977 :
デフォルトの名無しさん :2008/01/12(土) 18:47:22
今後rubyの処理系としてjrubyが最もめじゃーになってくるのかな 言語仕様は国産(?)で、実装はSunというわけか
ならrubyを完璧にマスターしとかないとな。自作ライブラリーとか面白そうかも。
JSRubyかわいいよJSRuby
Sun産
JSRubyは面白そうだけど使えるメソッドがまだまだ少ないな
JSRubyで何もできなかった俺オワタ ライブラリないと手もつけられんw
983 :
デフォルトの名無しさん :2008/01/12(土) 23:51:30
Rubyのtkを使って半径1で中心が原点であるx座標正、y座標負の第四象限内であらわされる円の中に 乱数を発生させてばらついた点で大まかな円の形(第四象限内の四分の一円)を描くようにする プログラムを作成する場合、 x= y= をどのように定義したら良いのでしょうか。どうか教えてください。お願いします・・・。 円周率を求めるプログラムは理解できました。 iteration = 1000000 def within_circle() a = rand b = rand if a**2 + b**2 <= 1.0 return 1 else 0 end end sum = 0 iteration.times do sum += within_circle end sum /= iteration.to_f sum *= 4.0 print sum のような具合で多分大丈夫だろうと思います。 tkを使った図示方法がいまいち良く分りません。 お願いします、教えてください。
985 :
デフォルトの名無しさん :2008/01/13(日) 01:59:22
モンテカルロで円周率を求めるときって[0,1)でいいんだっけ?
どっちでもいい。
>円周率はMath.PIにあるからそんなことしなくてもいいよ。 お前は何を言っているんだ
989 :
デフォルトの名無しさん :2008/01/13(日) 02:33:58
>>988 さん ありがとうございます。
外接長方形ってトコが何かヒントっぽくなりそうですね。
扇形を四分の一円と捉えたら、上手くいく感じがしてきました。
↑この考え正解に近づいてますか・・?
遅くまで本当にスイマセン!!
eclipse
埋めます
RubyやPerlで書いたプログラムからMacOSX用の.appを作成するPlatypus-3.2っていうツールがあるんですが、
そやつで以下のRubyプログラムを書いて.appを作って実行してみたら
#!/usr/bin/ruby
# filename : hoge.rb
require "tk"
root = TkRoot.new(:title=>"hoge")
TkLabel.new(root, :text=>"fuga").pack
Tk.mainloop
こんな風に窓が2個出てくるんですよ
http://www.img5.net/src/up4872.png タイトルバーにtkって書いてある窓が不要なんですよ
普通にbashからruby hoge.rbって叩けばこんな事にならないんですけど
これの回避方法とか知ってる人いないですかね?
RubyのせいじゃなくてDarwinのせいだろ
>>993 環境が無いから間違ってるかもしれん
そのいち
- root = TkRoot.new(:title=>"hoge")
+ root = Tk.root
+ root.title = 'hoge'
そのに
+ Tk.root.withdraw
>>995 うーむだめっぽいです・・・
しょうがない・・・Ruby/Cocoaで書くかなぁ
Mac OS X 版の wruby があればそれを使えばよさそうだけど。
h
h
1000ならジュースでも飲むか
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。