[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 20:58 / Filesize : 271 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 17



1 名前:デフォルトの名無しさん [2008/01/16(水) 17:41:27 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
関連スレやURLは>>2-7あたりを見てください。Ruby on Railsの質問はWebProg板のRailsスレで。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・ぐぐる
 ・マニュアルで探す www.ruby-lang.org/ja/man/
 ・FAQを読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・エラーメッセージ(なるべくそのままで)
 ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。

■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

652 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:13:44 ]
>RubyからもPerlの膨大なライブラリを使えるように

これ確かあったんだけど、もうメンテされてないんだよな。

653 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:55:46 ]
>>652
kwsk
とりあえず、Acme::JapaneseAvActress が動けばいい

654 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:00:43 ]
>>653
ttp://www.yoshidam.net/Ruby_ja.html#perl

自分は試せる環境がないのでそのへんはよろしく。
「Ruby Susieプラグイン」でググると手繰って辿り着けたハズ。

655 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:04:38 ]
AmritaでのHTML出力でわからない所があるので質問させてください

テンプレートにこう書いといて
<tr id="table1">
<td id="name"><td id="author">
</tr>
data = {
:table1=>[
{ :name=>"Ruby", :author=>"matz" },
{ :name=>"perl", :author=>"Larry Wall" }
]
}
こうすりゃサンプルにある通り
<tr>
<td>Ruby</td>
<td>matz</td>
</tr>
<tr>
<td>perl</td>
こうでますよね。 この時に tr の属性値を変えるのってどうすればできるんでしょうか?
:table1=>[ Amrita::a(:value => "test"){:name => "Ruby"} ]
だと文法エラーになっちゃうんですよね...

Amritaのバージョンは調べ方がわからなかったので
ファイルの作成日時だけ書かせて頂くと、2003/03/09になっています

656 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:04:16 ]
煽りじゃなくて、Scheme(or Lisp)に有って、Rubyに無い機能ってある?
あるとしたら、その機能って必要?他の機能で代用可能?

657 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:07:02 ]
>>656
S式

658 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:08:32 ]
そりゃLispではない以上
Lispにあるものをすべて備えているわけがない
すべて備えたらそれはただのLispだ

本スレで聞くといろいろ細かいこと教えてもらえるかもよ

659 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:31:39 ]
質問というよりも言語仕様の問題に近いのかもしれませんが、
どうしてRubyにはインクリメントならびにデクリメント演算子がないのでしょうか?
実質 x += 1 で何も問題はないのですが、
この表記は個人的になんか気に入らないので、納得のいく理由が欲しいのです。
調べたりしてもなぜないのかまで踏み込んでいるところが見つからなくて……よろしくお願いします。

前置や後置でややこしいからかな……などと思いましたが、
それならば後置限定で採用するなりすればいいじゃないかと思うのは浅知恵でしょうか?

ならびに x.next x.succ で後置インクリメントじみた挙動が実現できるのは知っていますが、
インクリメントの意味合いでこのメソッドを使用するのは感心できる行為なんでしょうか?
またその場合、インクリメントはメソッド、デクリメントは演算子とアシンメトリになってしまうのですが、
なんかもう全部ひっくるめて、ここらへんはどう解釈すればいいんでしょうか?

660 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:41:44 ]
>>659
現行のRubyにインクリメント演算子が無いのは言語作成者のポリシー。
10年も前のMLでの発言だが、基本的には変わってないはずだ。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/5323
> すんません.この件は以前から指摘されているのですが(演算子はC
> に似ているのに++と--は対応する演算子が無い),++の動作が本質
> 的に「変数を操作する」ものであるため,変数がオブジェクトでな
> いRubyでは導入できないでいます.++や--の「オブジェクト指向的
> 意味」がRubyの他の部分と整合性を保ったまま定義できれば採用し
> たいのですが….
うまい実装の仕方があれば要望として取り入れると思うぞ。



661 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:47:56 ]
あと

> x.next x.succ で後置インクリメントじみた挙動が実現できる
できないと思うぞ
i = i.succ
と書くことは
i += 1
と書くのと見栄え的にも手間的にもたいして変わらないんじゃないかと

662 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:49:15 ]
Cだとx++;で済んで簡潔なのかもしれんが、
例えばループ書くのに使うときとかは、ブロック使ってメソッドに抽象化して使う
ようにして、元が多少ダサくなるのは見逃してくれ。

663 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:57:55 ]
なんでインクリメント作れないのかは
「整数オブジェクトを破壊的に変更できないから」というのもあると思う

664 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:11:45 ]
俺もRuby使って最初に躓いたのが、++と--が使えないことだったw
Matzらしくもない。こんなんとっとと取り込んじまえばイイヤン。

665 名前:659 mailto:sage [2008/02/08(金) 02:15:06 ]
>>660-663
まとめてですみません。素早いお返事ありがとうございます。
確かにそう考えると合点がつきますね。
自分で考えても全然納得できなかったのですが、ようやくすっきりしました。
ありがとうございます。

>>661
できませんね……
succをリファレンスで調べたときに「インクリメントの代替はあるじゃん!」と勘違いして、
そのままずっと勘違いし続けてたみたいです。重ね重ねありがとうございます。

666 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:18:50 ]
>>660の「変数がオブジェクトでない」ってどういう意味?

667 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:20:24 ]
>>665
え〜納得しちゃうの?w

ごねようぜ・・・w

668 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:35:19 ]
>>667
「しんたっくすしゅがーとかでさいようしましょうよ〜」とかでいいですか?w
いや本当はちょっとごねたいんですけど、なにぶん『初心者スレッド』で質問している程度なんで
納得した先にできることがないっす。
+= とか本当は嫌いなんだけどなあ……みたいな感じで。

669 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 02:41:47 ]
>>668
かわいくゴネたら、俺がパッチ作って匿名でRubyメーリングリストに
なげるっていう条件でどう?w

かわいくなかったら、作らないw

670 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 03:40:39 ]
>>666
単なる名札。



671 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 03:59:32 ]
>>659-670
先日、io-languageスレで、++ を実装しようとしてこねくり回してたところだったんで、
タイムリーすぎて吹いた

なんでスマートにできないかというと、
メソッド内で、メソッドを呼んだオブジェクトを、格納した変数に代入できないから。

で、スマートな解決法はある。
Fixnum なら、Fixnum に 中身のデータを設定するメソッドを作ってやればいい。
例えば、Fixnum.set_value() みたいな。
ただし、Rubyのソースをいじるはめになるだろう

どーしても、Rubyのコードでやりたければ、Fixnumのメンバを持った、
Fixnumのラッパーを作るしかないだろうな。
そうすれば、簡単に実現できる。
結局、数字のリテラルを書くように使えず、そのクラスをいちいち new しないといけないのが面倒だが

672 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:00:27 ]
変なところで、句読点打った orz

> メソッド内で、メソッドを呼んだオブジェクトを、格納した変数に代入できないから。

メソッド内で、メソッドを呼んだオブジェクトを格納した変数に、オブジェクトを代入できないから。

673 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:02:27 ]
> 「整数オブジェクトを破壊的に変更できないから」というのもあると思う

ゲ、>>663 が簡潔にまとめてるじゃないか ・・・ orz

674 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 05:28:31 ]
>>660
残念ながら松本が++が嫌いだと言ってますので多分ないでしょう。

675 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 06:12:21 ]
a.++
で万事解決

676 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 07:59:16 ]
>>675
> a.++
> で万事解決

だーかーらー

Rubyの数関係のオブジェクトはイミュータブル、ってのがわかってないダロオマエ

677 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 08:24:51 ]
rubyのオブジェクト指向度の低さに唖然・・・

678 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 08:48:36 ]
smalltalkerが来ましたか


679 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:05:54 ]
Smallalk 使いから見ると Ruby はリフレクションが貧弱だよね。
これじゃ、まともなリファクタリングブラウザも作れないだろう…と。

680 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:14:09 ]
a.++!
でよくね



681 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:36:37 ]
a = 1
b = a
a.++!
p b

682 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:24:56 ]
Smalltalkから馬鹿にされるのはしかたないけど、C++から馬鹿にされると釈然としないかも。



683 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:39:02 ]
irb> n = 100
irb> p [n, 100, 99+1, 101-1, 99.succ, 'd'[0], '100'.to_i].map{|e| e.object_id}
[201, 201, 201, 201, 201, 201, 201]

Rubyでは、同じ整数値である限り、同じオブジェクト

684 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:33:22 ]
C++とか、
プリミティブ型があるJavaからも馬鹿にされたくはないな

685 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:53:57 ]
>>683
スゲー

686 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:53:58 ]
>>683
同じ整数値っていうかFixnumの場合だけじゃまいか
irb(main):002:0> [(2 ** 30).object_id, (2 ** 30).object_id]
=> [21803310, 21802580]

687 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:59:06 ]
>>679
>Smallalk 使いから見ると Ruby はリフレクションが貧弱だよね。
>これじゃ、まともなリファクタリングブラウザも作れないだろう…と。
SmallalkじゃなくてSmalltalkな。
それはいいとして、>>679にはぜひSmalltalkのよさを語ってほしいな。
Smalltalkの強力なリフレクション機能がどんなものか知りたい。

688 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 13:22:15 ]
>>687
たとえば(リファクタリングとは直接関係ないけど)、くだんの #++ とかの実装は、
Ruby の貧弱なイントロスペクションじゃ逆立ちしても無理…とかいう話?

689 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:20:18 ]
>>688
#++は>663,671,672,676,683。README.EXT(.ja)を参照。
誤解を恐れずに簡略すると実はFIXNUMだけオブジェクトじゃない。
オブジェクトじゃないから状態(値)を変更できない。
値の変更は変数に対する操作(代入)で代用。

690 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:25:58 ]
実装の問題は別として
>>681 の p b で 2 が出力されておk、という人は多くないと
思うわけだが。



691 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:54:58 ]
Hash#compare_by_identityって破壊的なのに!つけないんだな
これだからrails厨どもは

692 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:57:01 ]
>>689
Smalltalk も SmallInteger(Fuxnum 相当)は事情は同じだよ?

693 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 16:26:09 ]
>>687-692
SmallTalkスレで聞いてきたよ。

アラン・ケイも認めた!Ruby>>>>>Smalltalk
pc11.2ch.net/test/read.cgi/tech/1150106090/169-171

SmallTalkでも、破壊的に変更できない事情は同じで、
そこを強力なメッセージとリファクタリングの言語機能でカバー
力技だから、スマートでないと言われたらそうかもしれない。

Matzは嫌がりそうw

694 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 16:27:46 ]
x リファクタリング
o リフレクション

>>687-688にturareta

695 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 16:47:16 ]
>>693
だが Squeak Smalltalk を参考に作られた Rubinius ならきっとやってくれる!

696 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 16:49:36 ]
C#の完勝ですね

697 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:39:22 ]
クラス変数とかインスタンス変数ってあるけど、モジュール変数的なのってないの?
自作のモジュールに含まれるクラスから自由にぺとぺと触れる変数が欲しいんだけど…

698 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:42:40 ]
モジュール内でクラス変数を定義すれば俗称でモジュール変数と呼ばれてるものになるよ

699 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:54:51 ]
>>698
そうなのかーありがとー!

ちなみに↓のが「@@tempって初期化されてなくね?」って言われるのはなんでなん?
ttp://www.ruby-lang.org/ja/man/html/_CAD1BFF4A4C8C4EABFF4.html#a.a5.af.a5.e9.a5.b9.ca.d1.bf.f4
のいちばん最初の例とか見ると平気そうに思えるんだけど…

module Test
 @@temp = "test"
 
 class TestTest
  # def initialize
  #  @@temp = "test2"
  # end
  
  def print
   puts @@temp
  end
 end
end

Test::TestTest.new.print


700 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:04:40 ]
ネストと継承がわかってないようだね



701 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:09:55 ]
マニュアルにある通り、「上」のクラスのサブクラスかインスタンスメソッドにしないと読めないぞ
モジュールを継承することはできないからincludeする。…できないはず。まあいいや。

module Test
@@temp = "test"

class TestTest
include Test
# def initialize
# @@temp = "test2"
# end

def print
puts @@temp
end
end
end

Test::TestTest.new.print

個人的にはあまりきれいに思えない

702 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:18:33 ]
>>700
継承?わからんので教えてほしいかも

>>701
自分が所属してるモジュールもincludeできるのかー
でも、確かに美しくないね


質問を変えると、例えばDBの接続やらなんかのオブジェクトを
同じモジュールのクラス間で共有して使い回したいとすると、
なんかいい方法ってある?

703 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:23:19 ]
定数

704 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:23:30 ]
クラス変数自体が存在微妙だからな
クラス内定数にハッシュ設定して読んだり書いたりしたほうがマシ

module Test
TEMP = {'str1'=>"test"}

class TestTest
def initialize
TEMP['str2']='test2'
end

def print
p TEMP
end
end
end

Test::TestTest.new.print

$ ruby test.rb
{"str1"=>"test", "str2"=>"test2"}


705 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:26:37 ]
>>702
そもそも、たいていの場合ならクラス間で共有して使いまわすよりも
initializeの引数として渡した方が(コンポジションにした方が)いいと思う

706 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:29:03 ]
もうdef initializeのあとに@ナントカって10個くらい書き続ける仕事はいやだお

707 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:40:53 ]
>>704
そんなんできるのかー
でも定数に読み書きするのはなんかきもちわるい気もするなぁ…

>>705
いちいち渡すのがめんどくさい気がしたんだ


708 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:52:59 ]
>>707
定数ってのは、同じオブジェクトを指し続けているという意味であって
その中の状態は不問だからな。

オブジェクトのほうを不変にするには.freezeする。



709 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:56:53 ]
>>706
少数のオブジェクトにまとめろよw
それができないようなクラス構成なのかもしれないけど

>>707
渡すのが面倒なのは確か
でもテストのことを考えると、引数で明示的に「どの値を使うか」を指定できる方が便利だよ

710 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:58:21 ]
STR = 'before'
STR.replace('after')
puts STR

これはSTRが指すオブジェクトが変更されないから警告出ないよね
このへんまで説明してる初心者向け解説はあまり見ないけど



711 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:01:28 ]
>>708 >>710
そう書かれるとなんか自然に見えてきたぞ…

>>709
DBの接続とかMechanizeのオブジェクトとかを渡したいので「どの値」とかは特に関係ない件


むしろRuby慣れてないから引数でオブジェクト渡すと参照渡しになってるのかどうかさえ知らん

712 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:15:07 ]
>>711
自分で注意深くコードを書いて試すといい
ちなみにいわゆる参照渡しだ

class Test
def initialize(str,h)
@str = str; @h = h
end
def modify
@str.replace('MODIFIED')
@h['MODIFIED'] = 'MODIFIED'
end
end

str = 'default'
h = {'key'=>'value'}
Test.new(str,h).modify
p str
p h

# ================================
$ ruby ./test.rb
"MODIFIED"
{"MODIFIED"=>"MODIFIED", "key"=>"value"}




713 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:22:01 ]
>>712
昔はこれを意識したコードを書いてたんだけど
最近はもうこういうとこに気を遣って手品みたいなことするのめんどくさくなって

class Test
def initialize(str,h)
@str = str.dup; @h = h.dup
end
def modify
@str.replace('MODIFIED')
@h['MODIFIED']='MODIFIED'
end
def result
return @str,@h
end
end

str = 'default'
h = {'key'=>'value'}
test = Test.new(str,h)
test.modify
(str,h) = test.result
puts str
p h

こんなコード書いてる
たいていこれで済むし

714 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:25:42 ]
「参照の値渡し」ね

715 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:37:35 ]
そこが「いわゆる」に含めた意味だろうな。


716 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:39:50 ]
Gaucheのwww.cgi.testみたいなやつない?
とりあえずRubyにCGIパラメータ渡したいんだけど。
ブラウザでちまちまやるの面倒くさくて。。。

717 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:49:23 ]
~$ cat cgi.rb
require 'cgi'
cgi = CGI.new
p cgi.params

~$ ruby cgi.rb 'title=ruby&creator=matz'
{"creator"=>["matz"], "title"=>["ruby"]}


718 名前:655 mailto:sage [2008/02/08(金) 22:51:13 ]
あれ? スルーされてる…。
何か質問の仕方、もしくは場所がまずかったですか?

719 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:56:01 ]
Amritaというものを使ってる人がスレにおらんのだろう

720 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:57:44 ]
>>691
それ言っちゃうと、Array#shiftとかも不統一だよね。



721 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:02:17 ]
shift,unshift,push,popあたりはperlから受け継いでるからな。
!がついてないからといって破壊的じゃないとは限らない。

722 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:21:24 ]
emacs+ruby-mode.elで書いていて質問があります。

ヒアドキュメントを記述して、頭の方でruby-indent-exp(再インデント)を実行しても、
終端行以降に記載した部分がインデントされません。
もし対処法ありましたら、教えて下さい。
(もしくはそういう書き方をしないのでしょうか)

--
 def hoge()
  print <<-EOT
こんばんは。
EOT # <= ここ以下インデントされない
end

def foo()
print <<-EOT
こんにちは。
EOT
end
--

emacs->22.1
ruby-mode-> r15297

723 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:34:26 ]
>>718
ごめん普通に見逃してた
Amrita.aを使うなら

:table1=> Amrita::a(:value => "test"){[:name => "Ruby"]}

でOK
今やるなら、それよりもamrita-alteredの属性値展開を使う方がいいと思う

724 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:42:35 ]
>>716
ふつうに
QUERY_STRING='a=1&b=2' ruby mycgi.rb
とすればよくね?
POSTなら
ruby mycgi.rb < request.txt

まあWindowsならどうやるのか知らないけど。

725 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:45:45 ]
ruby-modeのインデントは微妙に信頼性が低くて困る

def hoge
=begin
なんとか
=end
end



def hoge
=begin
なんとか
=end
end

にして潰してくれたときには参った
最新版では直ってるのかね

>>722
終端文字列の直後の行を正しいインデント量に手動で直してから再インデント

726 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:15:46 ]
>>717 >>724
ありがとうごぜえますだ。

727 名前:722 mailto:sage [2008/02/09(土) 00:53:14 ]
>>725
↓こんな感じでグダグダです
def hoge
 =begin
  なんとか
   =end
end

>終端文字列の直後の行を正しいインデント量に手動で直してから再インデント
うまくいかないですorz
emacs 21.4でも同じ


728 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 03:25:48 ]
windows XP proでVisualuRuby上(ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32])で
Susie::Plugin library for Rubyを使いたいのですが、ソースからコンパイルするしかないのでしょうか?

ttp://www.yoshidam.net/Ruby_ja.html#susie をDLし解凍したものを ruby\lib\ruby\1.8\susie 下に
置いてもrequire "susie"ができないので…

他にsusieを使う方法ってあるのでしょうか?(COM経由とかではなく)


729 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 10:08:51 ]
全く使ったことないが、require 'susie' という書き方で探されるのは ruby\lib\ruby\1.8\susie.rb だと思うぞ

730 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 10:10:36 ]
susie/susie



731 名前:デフォルトの名無しさん [2008/02/09(土) 10:21:37 ]
exec() や system() メソッドで、
コマンド実行後に独自の入力プロンプト(入力待ち)状態になるコマンド(ftp, sqlplus 等)を実行したあとに、
さらに、そこへ入力を続けるようなことはどうすれば出来るでしょうか。
以前、どこかのサイトでその方法を見かけて、使ったことがあったのですが、
そのコードが手元に残っていなく、サイトを探してもみあたらなかったため、
質問させて頂きました。
よろしくお願いいたします。


732 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 11:00:53 ]
>>731
標準で付いてるexpect.rbが使えるケースかも?


733 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:16:41 ]
POPFileというベイジアンフィルターソフトの設定画面が、ローカルにたてたhttp鯖に接続して行う形になっています。
スパムを誤認したメールがたまりまくって手動では無理なため、一括で、教育しなおしたいのですが、
httpのPOSTを簡単に扱えるライブラリはないでしょうか?

hpricot的にお手軽にPOSTしたいのですが・・・

734 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:25:44 ]
net/http のどのへんがダメなのか教えてくれると代替案があるかも

735 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:29:23 ]
自己解決した!
WWW::Mechanize というのを発見しました。

お騒がせしました。ありがとうございました。

> net/http
んーなんていうか、httpを意識しないといけない、低レイヤーっぽい感じがします。
hpricot使ったら他に移れないくらい便利だったので、
似たような高レベルなラッパーがないかな、と。

736 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:32:55 ]
require 'rubygems' しなければならないのがどうにもなあ
いや、贅沢なこと言ってる自覚はあるが

>>735
WWW::Mechanizeが利用できる環境なのならそれ使うといいぞ

737 名前:735 mailto:sage [2008/02/09(土) 19:00:00 ]
環境変数RUBYOPT を -rubygems にしておくとgem関連は楽っすよ

738 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:50:45 ]
>>737は問題を理解してないと思った

739 名前:735 mailto:sage [2008/02/09(土) 21:18:13 ]
あ、ええと、レンサバとかRubyGemsをインスコできない環境とかの話かな?
それなら失礼しますた

740 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 21:48:52 ]
本家のヘルプ以外のライブラリなどのドキュメントを見ようと、
コマンドラインのドキュメントヘルプを試したのですが、いまいちどれがどうなのかわかりません。

ri:標準。英語ドキュメント。サンプルソースなどもしっかり
refe:gem install refeで入る。日本語ドキュメント。全然少ない。メソッド名の部分一致検索ができる。
rdoc:標準。エラーでて動かず

riは、詳細が載っていてわかりやすいのですが、
検索しずらい・・・
refeみたいに、部分一致だったらいいのに



741 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:18:25 ]
gemしかないならともかく、tar玉あるんだから
$HOMEでもどこでもすきなようにインストールすればいいじゃん。


742 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:38:10 ]
>>740
> rdoc:標準。エラーでて動かず
rdocはriのデータを作るコマンド。

743 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:51:39 ]
>>724
なにそのめちゃくちゃ端折った説明

現状は「英語でいいならri、日本語がいいならReFe」という住み分けになっとる
ReFeの内容がヘナチョコなのは日本語マニュアルがヘナチョコだからだな

むしろ俺はRDocとかRDとかのマニュアル用書式がわからん
何のときに == で書くのかとかさっぱりだ

744 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:57:07 ]
あれだ、もうちょっとMatzがユーザ愛を持って、マニュアルに全身全霊を
傾ければ、Rubyはもっと愛されると思う。願望だけど。

「そんなの面白くない」とか「Matzは開発を優先すべきで、他の人が
やったほうがいい」という反論は重々承知だが。

745 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:00:05 ]
優秀な言語開発者が優秀な初心者向けマニュアルを記述できるとは限らないのは
例の分厚くて黄色くて背が硬い本で痛いほどわかっただろうに

746 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:02:37 ]
>>745
いやでもな、とてつもなく優れたオープンソース開発者が、とてつもなく
優秀なドキュメントを提供する人間である例が目の前にあるとさ。
すごい!と思ってしまうのよね。Vimの開発者のことだけど。

747 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:03:35 ]
日本語マニュアルがイマイチなのの原因は何なのよ

今のRubyユーザー数ならWikiシステムあたりを使って一斉に取り掛かれば
1年くらいで今の倍くらいのボリュームにならんかね

748 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:05:30 ]
>>747
RDだかRDocだかで記述しないと取り込めないからRDだかRDocだかで書いてね、というのがかなり壁
PukiWiki互換で書いていいよと言われたら一気に進みそうな気がする

749 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:09:04 ]
まぁMatzはEmacs信者で、Bramのことなんかよく知らないだろうけど。

750 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:24:35 ]
マニュアル内容の改定に関しては計画はあるんだし参加しようよ
doc.loveruby.net/



751 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 02:39:04 ]
例のデイトレ男に一億くらい恵んでもらってフルタイムのドキュメント書きを雇えばいいんだよ

752 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 02:57:58 ]
なんで、ここで B・N・Fこと小手っちゃんがww






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef