トップページ⇒tech
1001コメント275KB

Rubyについて Part 18

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/12/08(木) 05:44:08
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

Ruby Home Page
http://www.ruby-lang.org/ja/

= 前スレ
: Rubyについて Part 17
http://pc8.2ch.net/test/read.cgi/tech/1128000230/
01531452005/12/14(水) 22:50:01
>>152
おぉ〜、と思って真似してみましたが、ハズレばかりな上に迷いました orz

nice -n 19 で libiconv をこそこそとコンパイルしてみましたが /tmp あたりの権限か何かで失敗。
後ろ向きな解決法ですが cgi の方を弄って対処しました。
お騒がせしました。
0154デフォルトの名無しさん2005/12/14(水) 22:51:29
任天堂の中途採用フォームの経験欄にRubyのチェックがあったな。

いや、そんだけ
0155デフォルトの名無しさん2005/12/14(水) 23:14:23
RoR 1.0 キター
0156デフォルトの名無しさん2005/12/15(木) 00:58:33
>>145
鯖屋にいれてもらえば?
0157デフォルトの名無しさん2005/12/15(木) 03:36:28
リリースエンジニアリング、今回はわりといい感じ?
今までがひどすぎたとか、まだ油断はできないとか、
まだまだ安心するに足るものではないとか、つっこみはありそうだけどね。

Rails 1.0も出たし、Rubyは今が旬だね。2.0という暗い影はあれど。
0158デフォルトの名無しさん2005/12/15(木) 06:30:09
今回限りで終わらせなければ、いい方向へいくんじゃない? 第一歩ではあるだろ。
0159デフォルトの名無しさん2005/12/15(木) 13:49:14
うん、第一歩だね。
リリースまであと 10 日。
0160デフォルトの名無しさん2005/12/15(木) 22:10:04
卜部さんのおかげや。ありがとう。
0161デフォルトの名無しさん2005/12/16(金) 00:53:34
Object.newってどこで実装されているのでしょうか?
0162デフォルトの名無しさん2005/12/16(金) 02:01:34
Class#new (object.c:rb_class_new_instance)

……とかいう話ではないよな。
0163デフォルトの名無しさん2005/12/16(金) 02:10:15
あ、そうですね。どうも失礼しました。
0164デフォルトの名無しさん2005/12/16(金) 10:43:35
本家落ちた?
0165デフォルトの名無しさん2005/12/17(土) 10:07:39
本家って何
0166デフォルトの名無しさん2005/12/17(土) 13:48:00
ruby-lang.orgジャネ
0167デフォルトの名無しさん2005/12/17(土) 13:48:09
>>154
チェックした香具師は落とすための罠とか
0168デフォルトの名無しさん2005/12/17(土) 20:57:11
c:\ruby\lib以下を解析してコード補完してくれるような開発環境ってまだ無いんでしょうか?
RDT, RadRails, RDE, Mondrian, xyzzyのruby-modeと試してきましたが、どうもしっくりくる
ものが見つかりません。

みなさんはどういう環境で開発しているんでしょうか?
コードの規模が増えてくるとコード補完がないとキツい気がするのですが。。。
0169デフォルトの名無しさん2005/12/17(土) 21:04:14
>コードの規模が増えてくるとコード補完がないとキツい気がするのですが。。。
適切な名前がついてればこれはあんま関係ないとおもう
0170デフォルトの名無しさん2005/12/17(土) 21:07:07
規模もそうだけど使用頻度が低いと名前すぐ忘れるからいちいち調べなきゃいけなくて
面倒なんでさらに足が遠のくという負のスパイラルに陥っちゃうんだよな。
まあしかしリファレンスとIDEの整備は未来永劫なされることはないだろう。
0171デフォルトの名無しさん2005/12/17(土) 21:31:53
本家落ちてる? って上にも書いてるな。少なくとも昨日からは落ちてるのか。
0172デフォルトの名無しさん2005/12/17(土) 21:53:42
名前重要。
0173デフォルトの名無しさん2005/12/17(土) 22:20:03
rubyは動的な言語なんだから、
静的にコード補完させようという発想が間違ってる。
実行時にfoo.methodsを見るんだよ。
0174デフォルトの名無しさん2005/12/17(土) 22:21:41
んなもん Emacs + dabbrev でいいじゃん。
0175デフォルトの名無しさん2005/12/17(土) 23:17:25
a = Foo.new

def bar(x)
 x.baz
end

bar(a)
というコードがあったとき変数a, xが持ってるメソッドは*大体*分かる
現実的なコード補完が不可能である理由は何もない。
0176デフォルトの名無しさん2005/12/17(土) 23:19:48
eval 使って定義されているメソッドとか静的解析では補完のしようがないよね。
0177デフォルトの名無しさん2005/12/17(土) 23:22:12
厳密でなければコード補完の意味がないということない。
0178デフォルトの名無しさん2005/12/17(土) 23:25:42
コード補完のある IDE を持っている言語って何がある?
Visual Basic、C++、C#、Java、Delphi とあとは?
0179デフォルトの名無しさん2005/12/17(土) 23:30:52
>>171
Apacheがささってた、の意味がわからないけれど
復活したみたいです。
0180デフォルトの名無しさん2005/12/17(土) 23:32:14
>>178
Python
0181デフォルトの名無しさん2005/12/18(日) 00:13:49
>>179
ハングアップとかフリーズの類の表現
ささるという表現は割と一般的
01821792005/12/18(日) 01:11:05
>>181
なるほど。
ありがとうございます。
0183デフォルトの名無しさん2005/12/18(日) 01:45:44
>>181
関係ないけど、「刺さる」ってのは古いBSD方面でしか
聞かない気がする。最初何かと思ったよ、ニュアンスで分かるけど。
DOS/Win界隈では「凍る」「落ちる」という表現が多かった気が。
まあどうでもいいんだけどね。
0184デフォルトの名無しさん2005/12/18(日) 02:27:33
>>180
Python には補完が効く IDE あるんだ。参考までに何か教えて欲しい。
VisualStudio Express が無料なのでここ1月くらい試してたが、
補完に慣れると、Ruby に戻ってくるとちょっととまどうな。
まぁ、Ruby の場合は組み込み Class の数を押さえてくれてるみたいなんで、
あんまり必要を感じないけど。
0185デフォルトの名無しさん2005/12/18(日) 04:25:38
>>183
凍るってのはWindows時代になってからしか聞かない。
freezeって単語自体、GUIでコンピュータが生きてることが画面の反応として
わかることを前提にした言葉だから。

0186デフォルトの名無しさん2005/12/18(日) 06:21:57
はいインチキ薀蓄でましたー。
勝手に嘘話を作るのはやめてくれ。悔しかったらソース出してみろ。
0187デフォルトの名無しさん2005/12/18(日) 07:21:30
>>186
この程度の雑談にいちいちソース求めてるようじゃ
計算機屋としては終わってるなw
そんな奴でも使えるrubyって証拠かもしれんが
0188デフォルトの名無しさん2005/12/18(日) 07:39:25
計算機屋=エスパー?
0189デフォルトの名無しさん2005/12/18(日) 07:43:01
>>186-187
はい、じゃ、つづきは別スレか何かでやってね。
0190デフォルトの名無しさん2005/12/18(日) 09:32:54
> freezeって単語自体、GUIでコンピュータが生きてることが画面の反応として
> わかることを前提にした言葉だから。
0191デフォルトの名無しさん2005/12/18(日) 10:37:36
刺さるはWIDE語じゃね?
ネットワーク方面じゃ普通につかう気がする
ttp://member.wide.ad.jp/%7Esano/glossary/glossary.html
0192デフォルトの名無しさん2005/12/18(日) 10:39:28
なんだかよく分かりませんが
とにかくキモチワルイ人々の使う方言だということだけは分かりました。
0193デフォルトの名無しさん2005/12/18(日) 12:38:07
stuckの直訳だと思ってたけど違うかな。
0194デフォルトの名無しさん2005/12/18(日) 13:49:35
http://dictionary.goo.ne.jp/search.php?MT=stick&kind=ej&mode=0&base=1&row=1

これの「止まる」「はまりこむ」の意味なのかな > stuck
そこを敢えて「刺さる」の訳語を当てるのは若干のジョークの積もりなのだろうか
0195デフォルトの名無しさん2005/12/18(日) 14:01:53
Ruby厨はWIDEも知らないのか……
0196デフォルトの名無しさん2005/12/18(日) 14:12:11
>>187
妄想話をさも真実かのように吹聴するヤツは、人として終わってる。
0197デフォルトの名無しさん2005/12/18(日) 14:27:00
VS 2005 Express で 1.8.4preview2をビルドしようとしてみました。
...\ruby-1.8.4> .\win32\configure.bat
> Creating Makefile
> NMAKE : fatal error U1045: 起動に失敗しました : No error
> Stop.
orz うーん何がマズーなんだ……。
0198デフォルトの名無しさん2005/12/18(日) 16:31:42
>>184
かなりスレ違いですがPythonで補完機能ついてるやつ

IDLE : 補完機能パッチあり。次期バージョンで標準に入る。
PytyhonWin : ActivePython いれるとついてくるDE
Komodo : ActiveStateでだしてるやつ
SciTE : Scintillaを使用

ほかにはPythonシェル(Rubyのirbみたいなやつ)で import rlcompletion ってやると
TAB補完ができたり。


Komodo と SciTE はRubyにも対応してたはず。
0199デフォルトの名無しさん2005/12/18(日) 16:50:38
BSD方面うんぬんは関係なく
OSとかデーモンとか少し大きめのものに
対してよく使う気がする

俺の周りでは
0200デフォルトの名無しさん2005/12/18(日) 17:05:13
>>184
>>198に加えて
PyDev: Eclipseのプラグイン。サードパーティ製のライブラリも含めて、初期設定時に
ライブラリツリーのすべて読み込んで内容を評価することで、動的に生成されるような
メソッドも補完できてる。1回設定するとあとはキャッシュを読み込むので遅いということも無い。

ただ、関数の引数の型なんかはさすがに補完できないみたい
0201デフォルトの名無しさん2005/12/18(日) 18:57:25
SciTE は、サイテーとよむのだろうか・・
0202デフォルトの名無しさん2005/12/18(日) 21:57:55
そういやVisual Perl, Visual Python, Visual XSLTがディスコンになってたな。
0203デフォルトの名無しさん2005/12/18(日) 23:55:20
>>198
そういやKomodoは最新版の3.5でRubyにも対応してるじゃないですか
ttp://www.activestate.com/Products/Komodo/
# Fully integrated Ruby support, including CallTips, AutoComplete, and an Interactive Shell.
# Ruby on Rails debugging.
とか書いてあるから、自動補完もいけそうですな
0204デフォルトの名無しさん2005/12/19(月) 00:09:17
>>203
ちょこっと触っただけなので間違ってるかもしれないけど、
emacs,xyzzyのruby-mode+dabbrevには勝てない感じ。

一応、初回起動時にRubyのインストールパス探して、lib/以下を
スキャンしたりしてたんだけどねぇ。補完の方法がわからんかったw
0205デフォルトの名無しさん2005/12/19(月) 09:49:28
そこでTextMateですよ。
02061252005/12/19(月) 16:40:50
>>203
だから komodo に期待してるって言ったじゃないかぁ。
機能的にはともかくユーザーが増えてくれることの方に期待しているんだけど。

そんなおれは Emacs + ruby-mode.el
0207デフォルトの名無しさん2005/12/19(月) 17:18:13
>>197
Expressなのがまずい。
いろんなところにbufferoverflowU.libをリンクするよう追加して回らないといけない。
0208デフォルトの名無しさん2005/12/19(月) 17:38:17
おまいらがほめた途端にリリースエンジニアリングを見かけなくなったな。
裏でちゃんと進んでるのならいいんだけど…。もう万全m9(^д^)プギャーとか?
0209デフォルトの名無しさん2005/12/19(月) 18:06:02
win32ole便利だけど、大量のエクセルファイルを処理(特定のセルの内容を読み込むだけ)したときにひとつハマったので報告しまつ。
どうもブックを開いている間は、そのファイルの更新日時(mtime)が今日になるみたいです。
だけど閉じるとまた以前の更新日時に戻ります。
正しいファイルの更新日時はブックを開く前に取得しましょう。
以上。

しかし、なんでやろorz。
ひょっとしてRuby以前の問題?
0210デフォルトの名無しさん2005/12/19(月) 21:33:43
>>207
Σ(゜◇゜; ぐげげ、まぢでつか。いや、どっかにspecs相当のファイルか環境変数があるに違いない。ちょっと調べてみる。
0211デフォルトの名無しさん2005/12/19(月) 22:05:23
>>208
でもさ、test全部通ってないのに
このままリリースなん?
0212デフォルトの名無しさん2005/12/19(月) 22:11:01
>>211
君が勇気を出して ruby-dev で待ったをかけない限りは状況は変わらないってことさ。
0213デフォルトの名無しさん2005/12/19(月) 22:12:02
>>211
testなんて飾りです。
偉い人たちにはそう思っている節が見受けられます。
0214デフォルトの名無しさん2005/12/19(月) 22:23:24
リリースは期日が大事なのではなく、内容だよな。
0215デフォルトの名無しさん2005/12/19(月) 22:32:26
んなこたない
君も社会に出れば分かるようになるよ
0216デフォルトの名無しさん2005/12/19(月) 23:00:49
>>215
そりゃ ruby がデスマで出てるってことか
0217デフォルトの名無しさん2005/12/19(月) 23:38:12
>>214
両方同等に重要な場合は、期日を優先させるのが普通。
火を噴いたら噴いたなりに(泣きながら)対応すればいい(せざるをえない)し、
噴かなかったならそれ幸いで(もしあれば)次回リリースまでに終わらせる。

内容を優先させると否応なしに出荷遅れとして問題化する。
営業拝み倒して問題化させてしまう手もないではないけど、
遅れてリリースして火を噴いた場合、こちらの立場はますます悪くなる。

倫理的に(比較的)正しいことをすると、余計に立場が悪くなりがち。
こうして大人は黒くなっていくのです。現実って嫌ぁね・・・。
0218デフォルトの名無しさん2005/12/20(火) 02:13:40
>>209
昔からのM$ Officeの仕様。
0219デフォルトの名無しさん2005/12/20(火) 02:17:35
ボランティアでやってんだからリリース伸ばしていいのよ。
無理しなくていいのよ。
0220デフォルトの名無しさん2005/12/20(火) 03:22:01
ボランティアでやってんだからテスト全部通さなくていいのよ。
無理しなくていいのよ。
0221デフォルトの名無しさん2005/12/20(火) 03:24:30
Rubyが本当にボランティアでやられてると思ってる時点でちょっと…ね。
社会に出れば分かるようになるよ。
0222デフォルトの名無しさん2005/12/20(火) 07:16:26
社会に出たことを自慢したい一年生かい?
0223デフォルトの名無しさん2005/12/20(火) 07:57:42
Ruby のリリースは Ruby にとって特に意味のない期日が先に決まってる
のが問題なのでは? (すでにイベントとして意味はできちまってるが。)
例えば他のプロジェクトでは進捗状況によってリリースのスケジュールを
決めてそれを目指すって形になるわけだが、Ruby の場合は問答無用で
スケジュールが先に決まってるって形。孫請けで開発してんのかっつー
くらいスケジュール絶対。

ケツが決まってないと頑張れないっていうのはあるかもしれんが、それに
したって最終的な優先順位付けを間違ってんじゃねーかっていう感じは
するわな。
0224デフォルトの名無しさん2005/12/20(火) 12:50:23
>>211
今Ruby Statusをみると1.8.4はsuccessになってるが。
>>221
ボランティアでやってますが何か?
0225デフォルトの名無しさん2005/12/20(火) 13:00:08
ボランティアやめたらそのうち何人失業するだろうな
0226デフォルトの名無しさん2005/12/20(火) 13:29:37
Perl6を見習いたまえ。
0227デフォルトの名無しさん2005/12/20(火) 14:02:02
誰か Haskell で Ruby 2.0 を作れってこと?
0228デフォルトの名無しさん2005/12/20(火) 14:32:17
仕様も実装もない Ruby 2.0 をどうやったら matz 以外が作れるんだw
0229デフォルトの名無しさん2005/12/20(火) 14:51:33
>>225
> ボランティアやめたらそのうち何人失業するだろうな
「ボランティア」って職業なのか?
0230デフォルトの名無しさん2005/12/20(火) 15:01:48
Python は動的型付けらしいのですが、型に応じたコード補完が出来るエディタがあるんですか?
>>175 みたいなことをしているのでしょうか?
0231デフォルトの名無しさん2005/12/20(火) 15:14:17
もしかするとRubyでエディタを作ればいいのでは? 誰かメモ帳でも作らないかなぁ。
0232デフォルトの名無しさん2005/12/20(火) 15:34:58
>>231
つ http://pc8.2ch.net/test/read.cgi/tech/1125587131/686
0233デフォルトの名無しさん2005/12/20(火) 16:12:38
Rubyでメソッドを動的補完しようと思ったら、厳密には、
挿入しようとしている時点までを評価しないとできない。
(そして場合によって通るパス通らないパスがある→厳密には不可能)

適当にやろうと思ったら class 〜 end に出てくるdefをみることになる
→ attr_accessorだとかforwarderとか、それ以外にもメソッドを定義する
手段はあるしユーザも追加できるのでそのへんのサポートが泥縄的。
文法が変態的なのでシンタックスの解析も面倒。

ってところじゃないかなあ。
0234デフォルトの名無しさん2005/12/20(火) 18:13:03
RDT Ver0.6.0 にコード・アシスト機能の向上というのがあるみたいですが、
これのコード・アシスト機能はまだ発展途上なのかな?改良の余地ってまだ残っているのかな?
0235デフォルトの名無しさん2005/12/20(火) 18:45:38
>>234
そんな疑問持つようじゃおまえプログラマ向いてないよ
0236デフォルトの名無しさん2005/12/20(火) 18:49:38
>>235
そりゃねーだろw
0237デフォルトの名無しさん2005/12/21(水) 06:06:21
rubyはLinuxのコマンド埋め込めるのかな?

だったら便利そうなのですが。。
0238デフォルトの名無しさん2005/12/21(水) 06:27:24
> $ irb
> irb(main):001:0> `date`
> => "Wed Dec 21 06:26:01 2005\n"

こういう意味?
0239デフォルトの名無しさん2005/12/21(水) 06:52:41
うん^^;

echo -shell script.-
ls -l

$ sh example
0240デフォルトの名無しさん2005/12/21(水) 10:48:22
>>239
puts "-ruby script.-"
system(*%w[ls -l])
0241デフォルトの名無しさん2005/12/21(水) 23:31:11
>>240
おお^^できるんですね 有難うございます
Ruby使ってみたいと思います
0242デフォルトの名無しさん2005/12/22(木) 00:08:05
>>241
PerlでもPythonでもシェルスクリプトでもできるよ。
0243デフォルトの名無しさん2005/12/22(木) 00:16:33
っつーか system は C でも出来るし。
0244デフォルトの名無しさん2005/12/22(木) 04:18:24
シェルスクリプトはwinで使えないから、perl python、 ruby で迷ってたんだけど
結局python入れました。
0245デフォルトの名無しさん2005/12/22(木) 04:28:48
win32ネイティブの
0246デフォルトの名無しさん2005/12/22(木) 04:57:20
>シェルスクリプトはwinで使えないから
素直にcygwinかmingw入れろよw
0247デフォルトの名無しさん2005/12/22(木) 06:01:26
>> 244
GJ。面白かった。
Cygwin 入れる時に選択すれば perl python ruby も入るよ。
あと、coLinux 等の手も一応ある。

ネイティブじゃない環境って何だろな。Java 製 Ruby の出番か?
0248デフォルトの名無しさん2005/12/22(木) 15:21:46
cygwinだのmingwだのcoLinuxだのダサすぎ。
余計な環境なんて作らずに Windows 上できちっと動く&活用できてナンボなんではないかね。
0249デフォルトの名無しさん2005/12/22(木) 16:07:55
>>248
一理あると思うんだが、で、君はWindows上でRubyをどう活用したいのかね?
0250デフォルトの名無しさん2005/12/22(木) 17:08:29
IEを一個だけ起動して、2個目以降のURLは、
最初に起動したIEのウインドウ内に表示していきたい
0251デフォルトの名無しさん2005/12/22(木) 17:31:18
>>248
シェルとは何か解って発言してるのか?
いやまぁ、Windows と Linux に両対応した shell ってのもありえなくはないだろうけど......
0252デフォルトの名無しさん2005/12/22(木) 17:42:23
お客様の中に250のためのエスパーはいらっしゃいませんか!
■ このスレッドは過去ログ倉庫に格納されています