Ruby について Part 3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGRuby Home Page
http://www.ruby-lang.org/ja/
<前スレ>
Rubyについて Part 2
http://pc3.2ch.net/test/read.cgi/tech/1028906179/
<過去スレ>
Rubyについて
http://pc3.2ch.net/test/read.cgi/tech/1012096319/
0705デフォルトの名無しさん
NGNGワカタ。ゴメン。ちょと待ってろ
0706703
NGNG書き込めねえよ
でけえとかなげぇとか言うなよ
>>704スマソ
環境だけ書かせてもらうわ
Ruby1.6.8 無印とCVS版200304全般
mswin32、mingwは全滅。Cygwinは送信だか受信のどっちか×だった。
1.8pre2のLinux版では問題なし。
0707デフォルトの名無しさん
NGNGこれってまだ直ってないんだっけ
0708703
NGNG0709デフォルトの名無しさん
NGNG> mswin32、mingwは全滅。
winsockの呼び出しは中断できないから。
ついでにいっとくと、Windows対応はまつもとさんにいっても無意味。
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNGそれともMD5使っとけばいいんですかね。
0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNGネットワークプログラミングをするのが流行っているようです。
0714デフォルトの名無しさん
NGNG〜〜 完 〜〜
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG701 名前: デフォルトの名無しさん [sage] 投稿日: 03/06/05 02:18
まつもっちゃんよ・・・
頼 む か ら ソ ケ ッ ト の g e t c で デ ッ ド ロ ッ ク す る の 直 し て く れ
これじゃネットワーク全然使えねーよ
0718デフォルトの名無しさん
NGNGdef self.append_features(mod)
mod.module_eval do
alias lt < ; def <(x) lt(x) && x end
alias gt > ; def >(x) gt(x) && x end
#ailas le <= ; def <=(x) le(x) && x end
alias ge >= ; def >=(x) ge(x) && x end
alias eq == ; def ==(x) eq(x) && x end end end end
class FalseClass
def <(x)false end; def >(x)false end; def <=(x)false end; def >=(x)false end
end
[Fixnum, Bignum, Float, String, Module].each do |k|
k.class_eval do include ComparisonChainable end end
p 1<2<3
p 1<2<2
文法スレ読んでてこういうの考えたんだけど、
コメントアウト外すと parse error になるのはバグ?
0719デフォルトの名無しさん
NGNGselectはできるかな。
0720デフォルトの名無しさん
NGNGHash#indexes をつかうと 1.8 だと warning がでます。
Hash#values_at をつかうと 1.6 では動きません。
どうすればよいですか?
0721デフォルトの名無しさん
NGNGalias values_at indexes unless self.instance_methods.include? "values_at"
end
こう?なんか違ってそう。
0722デフォルトの名無しさん
NGNGつーかshim使えよ。
0723デフォルトの名無しさん
NGNGソケットに対しては使える。
0724デフォルトの名無しさん
NGNGailas
ruby-mode.elとか、強調表示できるエディタを使え。
0725デフォルトの名無しさん
NGNGshim は嫌
0726デフォルトの名無しさん
NGNGなんかかっこ悪いなあ。1.8 でも indexes で warning を出さないべきだと思うのは
漏れだけ?
warning を出したければ 1.9 以降にして欲しい。
0727デフォルトの名無しさん
NGNGいまさらそんなこと言っても...
0728デフォルトの名無しさん
NGNG1.8はまだ出てないじゃん。
次のレスの予想:
ここでそんなこと言っても...
0729デフォルトの名無しさん
NGNG10人が受講する科目Aの成績平均を計算するため
「氏名,成績点」をキーボードから入力して,
連想配列に格納する.得られたデータから平均値を算出し,
最後に,氏名,素点,平均からの偏差を画面出力したい.
という問題があり
dt = ArrayScore.new(10);
dt.inputData();
dt.meanCalc();
dt.outputData();
と実行するみたいなんですけどうまくできません.
リファレンスマニュアル見ながら作ってみたんですが
エラーが直りません.どなたか直してもらえませんか.
次に全文載せます.
0730デフォルトの名無しさん
NGNG@hash = {}; @num = 0; @mean;
def new n
@num = n; return self;
end
def inputData
@hash.clear;
for i in 1..@num
gets;
tmp = split(",");
@hash.store(tmp[0],Integer(tmp[1]));
end
end
def meanCalc
@mean = 0;
@hash.keys.each do |key|
@mean += @hash[key];
end
@mean /= @hash.size;
end
def outputData
@hash.keys.each do |key|
p key, ",", @hash[key], ",", @mean - @hash[key];
end
end
end
0731729
NGNGdt.inputData();
dt.meanCalc();
dt.outputData();
これで全文です.
0732デフォルトの名無しさん
NGNG+ def initialize n
0733729
NGNGありがとうございます
最初のエラーが消えました.
ただ次に
`inputData': undefined method `clear' for nil (NameError)
と出てきてしまいました.
リファレンスマニュアルのHashのところには
たしかメソッドとしてclearがあったと思うんですが
これはどういうことでしょう.
hashを使うのに最初になにか宣言がいるんでしょうか.
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG1.7 で既に出ている warning を 1.8 で出すなとおっしゃるのですか?
0736デフォルトの名無しさん
NGNG@hash = {}; @num = 0; @mean;
を initialize メソッドの中に。
どのスコープの中にいるかをよく考えてね。
0737デフォルトの名無しさん
NGNG1.7は開発途上のバージョンだし、最初のほうと今では仕様が違っている点は
いくらでもあるし、別に関係ないんじゃない?
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNGなんでんかんでんMeadowでよかとよ。
0741デフォルトの名無しさん
NGNGとくにおすすめはしないがMeadow。
おれはとても便利に使ってるが、
windowsアプリケーションとして見たら癖ありすぎだもんで。
0742デフォルトの名無しさん
NGNGどうもです。探してみます。
0743デフォルトの名無しさん
NGNG0744740
NGNG0745740
NGNGemacsのwin版 = Meadow
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNGもしMeadowを使うことに決めたのなら、
rubyのパッケージについてくるruby-mode.elを使うようにしなよ。
これを使わないとMeadowを使う意味が半減だ。
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNGESC キーの方が遠くないか?
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG昨日ウェブを巡回していたらしいたけ皮膚炎という病気の存在を知った。
0756デフォルトの名無しさん
NGNG変換/無変換をCtrlに割り当てる。これ最強。
0757デフォルトの名無しさん
NGNGそのどっちかをshiftに割り当てようよw
0758デフォルトの名無しさん
NGNGいや、shiftよりCtrlの方が使用頻度高いし。
代わりにカタカナひらがなをshiftに割り当ててみたんで、しばらくこれで試してみよう。
0759デフォルトの名無しさん
NGNGdef +=(i)
end
def -=(i)
end
def *=(i)
end
def /=(i)
end
がsyntax errorになります。
これらの実装はどうやんの?
0760デフォルトの名無しさん
NGNG独立して定義することはできません。
0761デフォルトの名無しさん
NGNG上(ESC)は届くけど、下(Ctrl)はホームポジションから離れないと届かないよぉ ちなみにノートPCのキーボード
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGsucc!のaliasにすればいいんだよ>++
0765デフォルトの名無しさん
NGNG…ってこのての議論はもう飽き飽きw
0766デフォルトの名無しさん
NGNGだから誰か++を実装したRubyをブランチしなよ。名前はRuby++w
0767デフォルトの名無しさん
NGNGAltIME等でCtrlとCapsLockを入れ替えたほうがなにかと左手小指にやさしいかと。
保存やコピペなど,Ctrlキーを使う機会は多いから。
ついでに"Ctrl+["でESCを押したのと同じだからviユーザにとっても
押しやすいCapsLockの位置にCtrlがあったほうが幸せでしょう。
0768デフォルトの名無しさん
NGNGAの隣にCtrlがあったほうがいいか、というとそうでもないらしい。
おれはそっちのほうがいいんでmayuで設定しているが。
一般的な106とか109キーボードのCtrlの位置(左Shiftの手前)に
あったほうが使いやすいという意見もある。
それはそれでうなずける主張だと思うんだな。
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG車輪の再発明?
0772デフォルトの名無しさん
NGNGそういう批判をするならばCOBOLでも使ってろw
0773デフォルトの名無しさん
NGNGこの間の読書会ではこれでかなり盛り上がってた。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGハァハァ(°д°;)ハァハァ
0776デフォルトの名無しさん
NGNGメソッドの実体は実装しなくていいから、せめて演算子として ++ 使わして欲しい。
0777デフォルトの名無しさん
NGNG++i
とかやって、無限ループになってはまった。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG| 次でボケて! |
|_________|
∧∧ ||
( ゚д゚) ||
/ づΦ
0780デフォルトの名無しさん
NGNG0781名無しさん@xyzzy
NGNG0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGいいんですかぁ。
環境が Meadow + ruby 1.6.8 (2002-12-24) [i386-mingw32] なので
(refe-call-process t "*") の * を ruby が自前で展開して
refeに*が渡らないのが原因だと思うのですが・・・
* を '*' にして展開しないようにしてもだめでした。
0785デフォルトの名無しさん
NGNGM-x refe して * を指定するとrefeのusageが出て
'*'だとno such class or method: '*'になりまちた。
微妙にスレ違いですけど、どなたか・・・たすけて・・・
0786デフォルトの名無しさん
NGNGまず、ReFeのバージョンは0.7だよね?
それが大丈夫なら、refe '*[#,]*' でやってみ。
0787デフォルトの名無しさん
NGNGReFe 0.71でつ。
M-x refe '*[#,]*'の結果は
not match: '*[##]*'だそうです。
0788784
NGNG(defvar refe-program-args
'("-e" "puts ARGV"))
と書き換えてみると
M-x refe * の結果は refe.elをおいてるディレクトリのファイル一覧が出ました(゚Д゚)
'*'だと'*'と出ました。
もしかしてワイルドカードの展開ってmeadowさんがやってるの???
0789デフォルトの名無しさん
NGNGわかった。ruby を経由するのは潔くあきらめよう。
ReFe のデータベースディレクトリに method_document_comp という
ファイルがあるから、それを elisp を使って読み込んでくれ。
構造は中を見れば一瞬でわかるから。
0790デフォルトの名無しさん
NGNG(refe-call-process t "*")
を
(refe-call-process t "")
にしたらどうなるん?
0792784
NGNG> (refe-call-process t "*")
> を
> (refe-call-process t "")
no such class or method: ""
です。というか最初は""だったけどruby-listでWindowsでうごかねーよ
ってなって"*"になったんです。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37546
>>789
こんなナイスなものがあったんですね。ありがとうございます。
・・・でも、なにがだめなんだろう。
xyzzyではうまくいくのになぁ。meadowさんがなにかごにょごにょしてるのかな。
まあいいやmeadowつかわねーし。
0793784
NGNG> no such class or method: ""
> です。というか最初は""だったけどruby-listでWindowsでうごかねーよ
> ってなって"*"になったんです。
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37546
スマソ。勘違いだった。
最初は引数なしだったんですね。
0794デフォルトの名無しさん
NGNG他のスクリプトから load 'foo.rb' されたのかを,
foo.rb の中で見分けるにはどうしたらいいんでしたっけ?
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG「値」で降順ソートして「キー」と「値」を出力するのに
簡単な方法ありませんか?
valuesで全値の配列を返してもらって
それをsortメソッドでソートして
次にkeysで全キーの配列を返してもらって
そのキーに対応する値を順に見ていって
ソートした値の配列の前から順に対応してるのが
見つかったら出力していくって方法しかないでしょうか
これは一つ一つのキーで毎回値の配列を
全部確認するので効率悪い気がします
値は重複しているものもあるので
index(val)は使えなさそうです
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG1.8ならこうもできる。
hash.sort_by{|k, v| v}.reverse_each{|k, v| puts "#{k} => #{v}"}
0800デフォルトの名無しさん
NGNGhash = {'a' => 3, 'b' => 1, 'c' => 2}
p hash.sort {|a,b| b[1] <=> a[1]}
----------------
[["a", 3], ["c", 2], ["b", 1]]
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGhttp://raa.ruby-lang.org/list.rhtml?name=pseudohash
これかな。使ったことがある。
でもvalueに重複があってしかもinvertした結果、
つまりkeyが重複するようなのにつかえんだろう。
0804デフォルトの名無しさん
NGNGう。意味がとおらねえ。
valueに重複がある場合invertして果たしてそれが使い物になるかどうかわからん、
といいたかった。
■ このスレッドは過去ログ倉庫に格納されています