08/06/07 23:11:34
>>761
正直、Ruby の引数展開の * はあまり好きではない
あれは Ruby として明示的なメソッドであるべきだと思う
んで、引数の配列の直後に * をつけると展開して引数に渡される
arr = [1, 2, 3]
hoge(arr*)
は
hoge(1, 2, 3)
と同じ動作だ
文字列を split した結果の配列が展開されて渡されてるということだな
split は引数を省略すると空白で分割して配列を返すから
hoge('1 2 3'.split*)
は
hoge(1, 2, 3)
と同じ
正直、あまり明快な記述とは思えないので、自分から使うのは避けたほうがよい
765:デフォルトの名無しさん
08/06/07 23:23:51
>>763, 764 ありがとうです。
>>763
ゴルフコードでよくみたのでこれなんだろーなっていう
shinh さんのとこから
tree = '(Root (Spine (Neck (Head)) (RClavicle (RUpperArm (RLowerArm (RHand)))) (LClavicle (LUpperArm (LLowerArm (LHand))))) (RHip (RUpperLeg (RLowerLeg (RFoot)))) (LHip (LUpperLeg (LLowerLeg (LFoot)))))'
tree.scan(/ \((\w+)/){puts"#$+ . #{a=$`.split*'';1while a.sub!(/\(\w+\)/,'');a[/\w+$/]}"}
ってなかんじで 1while はブロックをともなわない構文なのかなと perl と同じ
と思っていました while gets; end -> 1while gets でできるかんじ?
で split* があるのかなと考えたのは
>> "abcd".split*''
=> "abcd"
>> "abcd".split* ''
=> "abcd"
>> "abcd".split*('')
=> "abcd"
>> "a bcd".split*('')
=> "abcd"
>> "a bc d".split*('')
=> "abcd"
>> "a bc d".split*(',')
=> "a,bc,d"
>> "a bc d".split('')
=> ["a", " ", " ", " ", "b", "c", " ", "d"]
>> "a bc d".split('')
で返り値が array ではなく string なので引数展開ではないのかなーと
考えています
766:デフォルトの名無しさん
08/06/07 23:25:26
展開の * は前につくんだったと思うんだが
hoge(*arr)
あと、配列 * s が 配列.join(s) と同じ動作になるのは s が文字列だったときだけだぞ
s が整数だったときには単に繰り返される
だから、to_s や to_i が乱れ飛ぶ初心者のスクリプトでは紛らわしいから使ったら駄目
というか、そもそも紛らわしいから素直に join 使え
767:デフォルトの名無しさん
08/06/07 23:36:09
>>765
1whileはrubyの標準にはない。たぶんコードゴルフ用の拡張
ついでに言うと、初心者がコードゴルフを参考にするのは薦められない
あれは一般的に美しくない(分かりにくい)書き方が多いから
768:デフォルトの名無しさん
08/06/07 23:47:03
>>762
違ってたらごめんね
>> "abcd".split() * ''
=> "abcd"
>> print 1while true
1111111111111
>> while true; print 1; end
1111111111111
769:デフォルトの名無しさん
08/06/07 23:57:22
>>768
ruby のコードながめていたらおっしゃる通りだと思いました
1while でも 1 while でも同じことで kWHILE のみしかなかったでした orz
1 while() { ...} なども添付コードにあったので変態的な構文解析だなぁと
split() もそうだとおもいます
>> a="a b cd".split()
=> ["a", "b", "cd"]
>> a *''
=> "abcd"
>> a *'abc'
=> "aabcbabccd"
>> a.*'abc'
=> "aabcbabccd"
>> a.*''
=> "abcd"
コメントみなさんありがとうございました
770:デフォルトの名無しさん
08/06/08 00:00:25
追記
URLリンク(www.ruby-lang.org)
ですね ありがとうです
771:デフォルトの名無しさん
08/06/10 00:03:39
Ruby1.6で書かれたクラスを利用しないとアクセスできないシステムがあります
そのシステムはEUC_JPしか受け取れないため、他のエンコードを使用しようとした場合は変換したいと考えています
ですがRuby1.6時代のKconvではUTF-8→EUC_JP変換ができません
そこで質問なのですが
・Kconvに限ってRuby1.8のクラスファイルを利用する、などといったことは可能ですか?
・指定ファイルはRuby1.6、それ以外はRuby1.8というようにクラス/ファイル別にインタプリタを指定して実行することはできますか?
現在は一時ファイルに実行結果を書きとめておくことで疑似的に実現していますが、よりスマートな方法がありましたらご教示願います
772:デフォルトの名無しさん
08/06/10 00:12:05
nkf.cだけ差し替えてコンパイルしてみるとか。
よしだむ氏のuconvを使ってみるとか。
773:デフォルトの名無しさん
08/06/10 00:15:53
1.6のUTF8関連はuconv使ったような記憶がある
というか、1.8で動かない上に書き換えも面倒な1.6のスクリプトって重症だなあ
マニアさんが書いたようなスクリプトですかね
774:デフォルトの名無しさん
08/06/10 00:28:32
でっかーいスクリプトだと1.8対応にするのはゼロから作り直すに等しい作業になりそうだな
1.6で完全に動いてるならそのまま使いたいとこだろう
Uconv試すのが一番だと思うぜ
775:デフォルトの名無しさん
08/06/10 00:30:55
UTF対応の外部NKFのラッパーを自前で書くというのはどう
Kconvの中の人がやってることは同じだし
一時ファイル使ってる現状とほとんど変わらないような気もするけどな
776:771
08/06/10 08:29:09
皆さんありがとうございました
Uconvの使用が一般的な方法のようですので、まずはこの方法でやってみたいと思います
777:デフォルトの名無しさん
08/06/10 17:34:19
index.rhtmlからtest.rbをrequireすると
エラーは出ないのですが、test.rb内に記述された関数群が利用できずにエラーとなります。
この拡張子でのrequireは無理なのでしょうか?
もしそうであれば、どのようにファイル分けをすればよいのでしょうか?
よろしくお願いします。
778:デフォルトの名無しさん
08/06/10 17:52:54
エスパー麻美の出番だな
779:デフォルトの名無しさん
08/06/10 18:02:07
エスパー…あさみ…?
780:デフォルトの名無しさん
08/06/10 19:00:07
ビーズで撃たれて死んでしまえ
781:デフォルトの名無しさん
08/06/10 19:12:57
魔女ステかよ
782:デフォルトの名無しさん
08/06/10 21:37:07
ダック・タイピングとよく言いますが、
オブジェクトが目的のメソッドを持っているかどうかの責任は、
プログラマにあるということでしょうか?
783:デフォルトの名無しさん
08/06/10 21:39:05
スクリプト言語でなおかつ動的にクラスもメソッドも追加可能な言語では
「ユーザー」と「プログラマー」の間が曖昧なんだよね
784:デフォルトの名無しさん
08/06/11 10:33:42
よくわからんが、処理系が実行時まで何もしてくれないことだけは確か。
785:デフォルトの名無しさん
08/06/11 10:59:33
>>778
洗剤か
786:デフォルトの名無しさん
08/06/11 12:05:00
Rubyのバージョンアップ方法に関してどなたかお力を貸して頂けないでしょうか。
現在CentOS4.5上で下記のパッケージでRubyを動作させております。
ruby-1.8.5-1.el4.centos
ruby-docs-1.8.5-1.el4.centos
ruby-libs-1.8.5-1.el4.centos
ruby-irb-1.8.5-1.el4.centos
ruby-devel-1.8.5-1.el4.centos
ruby-ri-1.8.5-1.el4.centos
ruby-rdoc-1.8.5-1.el4.centos
ruby-tcltk-1.8.5-1.el4.centos
今回Rubyのバージョンを1.8.6へあげたいと考えておりますが下記の
エラーに遭遇してしまい検索してみた物の./configureが出来ない状
態です。。
【エラー】
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
~続く~
787:786
08/06/11 12:06:09
【config.logを見て該当すると思われる箇所】
gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)
configure:2530: $? = 0
configure:2537: gcc -V >&5
gcc: `-V' option must have argument
configure:2540: $? = 1
configure:2563: checking for C compiler default output file name
configure:2590: gcc conftest.c >&5
/lib/libc.so.6: undefined reference to `_dl_out_of_memory@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
configure:2593: $? = 1
configure:2631: result:
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define USE_BUILTIN_FRAME_ADDRESS 1
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2638: error: C compiler cannot create executables
See `config.log' for more details.
788:786
08/06/11 12:08:41
【gcc関連インストールされている物】
compat-libgcc-296-2.96-132.7.2
compat-gcc-32-3.2.3-47.3
gcc-3.4.6-9
gcc-g77-3.4.6-9
gcc4-c++-4.1.2-14.EL4
gcc-objc-3.4.6-9
gcc-gnat-3.4.6-9
compat-gcc-32-c++-3.2.3-47.3
libgcc-3.4.6-9
gcc-java-3.4.6-9
gcc-c++-3.4.6-9
gcc4-4.1.2-14.EL4
gcc4-gfortran-4.1.2-14.EL4
gcc4-java-4.1.2-14.EL4
2日程格闘中ですが、お手上げ状態に近づいて来ました。。。
RPMで1.8.6があればいいのですが該当するものも無いため
今回tarからrpmをcheckinstallで作成しようと考えてお
ります。。
789:デフォルトの名無しさん
08/06/11 13:28:15
>>787
に書いてあるがな。GNU libcの
`_dl_out_of_memory@GLIBC_PRIVATE'
がないんだろ。glibcを入れ直してldconfigしてみろ
790:786
08/06/11 13:46:57
>>789さん
助言有り難う御座います。glibc関連を弄るのは初めて
なので依存関係でしくじる気が凄くしますが取り敢えず
調べてやってみます。
791:デフォルトの名無しさん
08/06/11 16:56:35
oreilly.co.jp -- Online Catalog: 初めてのRuby
URLリンク(www.oreilly.co.jp)
> 本書を最後まで読めば、「Rubyリファレンスマニュアル」を自在に読みこなし多様なRubyライブラリを活用して、
> 自力で高度なRubyプログラミングを習得するだけの基礎知識が手に入るでしょう。
> Ruby1.8及び1.9に対応しています。
( ^ω^)おっおっおっ
792:デフォルトの名無しさん
08/06/11 17:02:16
夢のような書籍だなw
793:デフォルトの名無しさん
08/06/11 17:14:19
たった224ページじゃ無理だろと思ったら
>他言語でのプログラミング経験を持つ人を対象に
なるほど。エッセンス部分だけ凝縮することに成功すれば
あるいは・・・・・・
794:デフォルトの名無しさん
08/06/11 17:17:59
魚を捕る方法を教える感じでなかなか好感が持てる
現状、9割くらいの人はオンラインのリファレンスマニュアル読んでるからな
というか、リファレンスマニュアル自体にマニュアルの読み方の解説がないというのが情けない
795:デフォルトの名無しさん
08/06/11 17:19:59
まああるいはオライリーの人がフカしてるだけかもしれん
これ目次ね
URLリンク(www.oreilly.co.jp)
796:デフォルトの名無しさん
08/06/11 19:21:21
また安いなw
最近のオライリーはどうなってるんだ,あれこれ安すぎるw
797:デフォルトの名無しさん
08/06/11 19:42:21
自分の部屋の本棚をオライリーで埋め尽くす・・・
そんな風に考えていた時期が僕にもありました・・・
798:デフォルトの名無しさん
08/06/11 19:58:37
2,310円?200ページとはいえ、オライリーにしてはえらく安いな
799:デフォルトの名無しさん
08/06/11 20:58:19
>>796
質が落ちたから
800:デフォルトの名無しさん
08/06/11 22:33:03
Learning Rubyの翻訳かと思ったら別の人が書くのか・・・
当然のようにFlanagan x Matz本出してくるかと思ってたが
マニングのMinimal Perlがオラから出てたりとかなんかカオスだな
801:高野光弘問題
08/06/11 23:58:28
takano32,TAKANO Mitsuhiroこと高野光弘(日立製作所社員、日本UNIXユーザ会幹事)が、
自身の『32nd diary』で公然と日立の機密を開示し、障害者差別発言をしている問題。
1981年11月12日 千葉県のディズニーランドのそばで誕生
2001年4月1日 千葉大学に入学
2005年4月1日 千葉大学大学院へ進学、日本UNIXユーザ会に入会
2007年4月1日 日立製作所に入社、神奈川県秦野市の寮へ
2007年8月22日 「ついに職場で人が倒れた」と公表
2007年11月13日 「情報漏えい」を言う上司に「死んだほうがいいよ」と暴言
2007年12月28日 「社内システムクソうんこ」と発言し、仕組みも暴露
2008年5月23日 機密漏洩問題について一応の謝罪
2008年5月26日 「給料泥棒とかうんぬん言われた」と謝罪を忘れて告白
2008年5月27日 「心バキバキ川田くん」と前日の発言者の名前を公言
2008年5月31日 「キチガイ」と日立のユーザーに障害者差別発言を連発
2006年10月27日(日立製作所に入社前に忠告されたこと)
「日記やコメントの投稿日時から勤務時間に業務外のことをしていることが判明」は
某社の某親会社が 2ch で祭られたように、NG です。
6月も勤務時間中に更新し続ける高野光弘君の『32nd diary』にツッコミをどうぞ
802:デフォルトの名無しさん
08/06/12 04:02:01
で、rubyとどう関係あるのか
まだ訊いてないんだが?
803:デフォルトの名無しさん
08/06/12 04:22:05
Ruby信者はあらゆるスレにRubyの話題を持ち込んでいるのだから、
逆にあらゆる話題がRubyスレに持ち込まれても、身から出た錆だな。
804:デフォルトの名無しさん
08/06/12 06:59:14
RubyってJavaのクラスローダーみたいな仕組みはないのですか?
805:デフォルトの名無しさん
08/06/12 09:46:01
>>804
requireじゃダメなの?
806:デフォルトの名無しさん
08/06/12 10:07:44
「Javaのクラスローダーの○○の仕組み」と限定して欲しいとこだな
807:デフォルトの名無しさん
08/06/12 11:17:08
.jarとか.classとかを実行時に読むのに相当するならrequire、
Classオブジェクトを名前な文字列とかで引っ張ってくるならModule#const_get
808:デフォルトの名無しさん
08/06/12 21:39:27
ネットワーク上からRubyスクリプトを受け取ってそれに記述されているクラスを動的に定義したいんだけど
たとえば
script = URI("URLリンク(host)").read
p script #=>
# class Matz
# def hige
# print "じょりじょり"
# end
# end
eval(script)
Matz.new.hige
こんな感じで実現できるんだけど
もっとスマートな方法は用意されてないの?
ファイルには書き出したくない。
809:デフォルトの名無しさん
08/06/12 21:41:29
Ruby で、現在のプロセス名を得ることはできますか。
やりたいのは、現在のコマンドが /usr/bin/ruby なのか /usr/local/bin/ruby なのか
/usr/local/ruby1.9/bin/ruby なのかを知ることです。
810:デフォルトの名無しさん
08/06/12 21:43:42
ローカルファイルシステム上にないファイルをスクリプトとして読み込みたいとかいう需要に対してスマートも糞もねーよ(w
require の中身は eval だからそれで正しい動作だ
我慢しとけ
811:デフォルトの名無しさん
08/06/12 21:46:53
>>810
> require の中身は eval
それは知らなんだ・・・
812:デフォルトの名無しさん
08/06/12 23:20:56
Rubyで、
メタ・プログラミングやコード・ジェネレーションを学びたいのですが、
その辺を詳しく扱っている書籍やサイトはないのでしょうか?
ピッケル本とか読みましたけど、なでる程度しか載っていないので・・
813:デフォルトの名無しさん
08/06/13 01:55:27
>>812
今は懐かしい256シリーズの無道編でRaccをフィーチャー(というか宣伝)してる。
でも無知な俺は、Raccを本当に活用した例ってRDtoolしか知らない。
Rubyでメタプログラミングなら、強力なevalとmethod_missingで対応するDSLが主流だね。
ActiveRecordなんか、その最たるもの。
Rubyist Magazine -あなたのコードを添削します-
URLリンク(jp.rubyist.net)
DSLについて、一部参考になるかも。
814:デフォルトの名無しさん
08/06/13 02:34:00
これとか。
URLリンク(ola-bini.blogspot.com)
815:デフォルトの名無しさん
08/06/14 18:53:09
プロパティを定義したいのですが、セッターがうまく働きません orz
以下のようにすると、2と表示してほしいのですが、5と表示されてしまいます。
どこが間違っているのでしょうか?
#ruby -Ku
class Calculator
def initialize
@unit = 5
end
def unit=(value)
@unit = value
end
def run
unit = 2
puts @unit
end
end
Calculator.new.run
816:デフォルトの名無しさん
08/06/14 18:55:36
self.unit = 2
817:デフォルトの名無しさん
08/06/14 18:55:59
self.unit = 2
818:デフォルトの名無しさん
08/06/14 18:56:17
self.unit = 2
だとうまくいきました
何だこの違い・・・
ほかの言語のプロパティみたいに使っちゃだめなのか
819:デフォルトの名無しさん
08/06/14 18:59:52
わかるまでは attr_accessor :unit とだけ書け。
820:デフォルトの名無しさん
08/06/14 19:02:42
この挙動はどういうことなんでしょうか?
ドキュメントのどこかに記載などありますでしょうか?
しかし、エラーなどでずに実行されるもんで子一時間悩んでしまいました
>>819
セッターを拡張したいときには使えません
あれは最小限のコードで実際のコードでは、最大値のチェックなどしています。
821:デフォルトの名無しさん
08/06/14 19:04:05
>>819
試しに attr_writerを使ってみましたが、やはりselfがいりますね・・・。
822:デフォルトの名無しさん
08/06/14 19:08:52
ああああ、わかた。
宣言が要らない言語だから、セッターのインスタンス省略すると
ローカル変数への新規代入になるのか orz
823:デフォルトの名無しさん
08/06/14 19:11:24
>>822
Ruby以外はどんな言語を使ってるのか教えてくれまいか
ちょっと興味があるんだ
824:デフォルトの名無しさん
08/06/14 19:17:11
これは筋のよさそうな自称初心者
825:デフォルトの名無しさん
08/06/14 19:33:13
>>823
他にはDelphiを長年つこーてました。
Delphiだと属性でなくてプロパティなんですが、
上記コードのような形で問題なく、
selfなしでクラス内でプロパティに代入できます。
静的な言語のせいもあり、変数は宣言しないと使えないです。
826:デフォルトの名無しさん
08/06/14 20:04:10
なるほど、丁寧にありがとう
今度Delphiのコード見かけたら
そこらへんちょっと気にして読んでみるよ
827:デフォルトの名無しさん
08/06/15 00:03:24
やさしいやりとりだな。いい感じ。
828:デフォルトの名無しさん
08/06/15 00:24:46
これは珍しく建設的なやりとり。
829:デフォルトの名無しさん
08/06/15 00:45:06
初心者側に「ピンと来る力」があれば、話は俄然充実するんだよ。
830:デフォルトの名無しさん
08/06/15 03:02:58
>>820
> ドキュメントのどこかに記載などありますでしょうか?
一応rubyの落とし穴には書いてあるけど見つけにくいね。
URLリンク(www.ruby-lang.org)
attr_xxx もFAQやModuleのリファレンス見ないと分からないし。
まぁリファレンスだからしょうがないか。
入門書ならselfが必要なことも含めてちゃんと書いてあるかも。
831:815
08/06/15 06:40:18
>>830
おお、こんなところに記述が
やはりFAQなのですね。
わざわざありがとうございます。
attr_系の説明やサンプルは大概クラス外部からのアクセスのみかかれてますね。
832:デフォルトの名無しさん
08/06/15 12:41:53
a = [1,1]
a.each{|i|a << a[-1] + a[-2] if a[-1] < 10000}
p a
833:デフォルトの名無しさん
08/06/15 15:21:02
Rubyの入門サイト、書籍などを読んでいると
破壊的なメソッド、非破壊的な~、みたいな表現をよく目にします。
Ruby以前の言語でも同じ概念は存在すると思うのですが、
Rubyにおいて敢えて強調されているのは何故なんでしょうか。
例えば、何か他の言語とは異なった考え方が必要になってくるのでしょうか。
834:デフォルトの名無しさん
08/06/15 15:24:50
>>822
NetBeans使ってると、unitは未使用ということでエディタ上に印が付きますね。
835:デフォルトの名無しさん
08/06/15 16:12:43
>>833
強調するのは、そりゃ、「2種類」あるからだよ
self を変更するかどうかって重要じゃん
puts させただけでそのオブジェクトがそれ以降文字列になったら悲惨じゃん
836:デフォルトの名無しさん
08/06/15 16:16:47
>>834
ねとびんかしこいねねとびん
837:デフォルトの名無しさん
08/06/15 16:20:09
>>835
だから、その2種類の違いを他の言語より強調するのは何故か、という質問だろ。
他の言語がどの言語で、本当にそれよりRubyのほうが強調されているのかは俺はわからんが、
ともあれ比較の質問なら、Rubyの意志を比較で回答しないと納得はできんだろう。
838:デフォルトの名無しさん
08/06/15 16:32:14
例えば、javaでは
メソッドへパラメータを渡すとき
配列とオブジェクトは参照渡し(rubyでいう、非破壊的・・の概念にあたる)
プリミティブ型は値渡し(破壊的・・の概念にあたる)
になってる。
ソースを見たとき、
Rubyのように明確になっているとは、ちょっといえないかもね。
Cだと、ポインタかどうかで判断する。
どうしてRubyはその辺を強調してるかだけど、
自由度が高いからじゃないかな?
上のJavaの例でいうと、参照渡しした元のオブジェクトを呼び出し先から
操作することは、Javaでは出来ない。
Rubyではその辺を任意にできる操作できるようにしたかったから、
出来る場合と出来ない場合を明確に表記して、わかりやすくしたかったのではないかと
推察します。
839:デフォルトの名無しさん
08/06/15 16:38:16
すみません。
>上のJavaの例でいうと、参照渡しした元のオブジェクトを呼び出し先から
>操作することは、Javaでは出来ない。
上のJavaの例でいうと、値渡しした元のプリミティブ型を呼び出し先から
操作することは、Javaでは出来ない。
の間違い。
失礼しました。
参照渡し>>元のオブジェクトのリファレンス(アドレス、ポインタ)を渡す。(破壊的)
値渡し>>元のデータのコピーを渡す。(非破壊的)
です。
混乱させるような、書き込みをしてすみません。
840:デフォルトの名無しさん
08/06/15 16:52:41
>>837
破壊的なのに!とか述語に?をつけるのはschemeからのいただきだろうな。
ただ、単なる慣用だから守ってないライブラリもいっぱいあるし深い意味はないんじゃね?
強いて言えば、識別子に!とか?が使えるってのを強調したかったとか。
C/perl/pythonは出来ないはずだし。
841:デフォルトの名無しさん
08/06/15 17:11:55
>>833
Rubyだから特別強調しているというわけではない。
Rubyに限らず、手続き(Rubyの場合メソッドかProcオブジェクト)を実行すると
きに、その手続きを実行する前から存在していたすべてのオブジェクトについ
て
実行後、状態が変化する可能性がある(から注意して使え)のが「破壊的」
実行後、状態が変わらないことを保証するのが「非破壊的」
うまく説明できないけどこんな感じだ。状態が変わらないというのは「同じ」
ということなんだけど、じゃあ「同じ」とは何かというのがなかなか微妙。
だけどこの話を始めるとなが~くなるから、この辺でやめとくぞ。
>>838,839 はなんか間違って理解してるみたいだぞ
842:デフォルトの名無しさん
08/06/15 17:36:53
>>833
rubyの場合、他言語に比べてメソッドチェインの色合いが強いからじゃなか
他言語では戻り値がvoidになるようなものでも、rubyだとself返したりしてるし
843:デフォルトの名無しさん
08/06/15 17:58:46
でも述語に?を使われると、三項演算子がちょっと見にくくなるよね
a = (isTrue?) ? 12 : 47
844:デフォルトの名無しさん
08/06/15 18:20:21
>>839
とりあえずJavaに参照渡しはない
プリミティブはもちろん値渡しだが
オブジェクトだって値渡し(参照の値渡し、あるいはcall by share)だ
とかいっても>>839は信じてくれないって俺は知ってるんだ
845:デフォルトの名無しさん
08/06/15 18:30:36
(´・ω・`) = (!isTrue?) ? !a.foo? : !b.foo?
846:デフォルトの名無しさん
08/06/15 18:32:53
hamlet = (to?) ? be : !be
847:デフォルトの名無しさん
08/06/15 18:42:35
>>833
単にメソッド名に!が付けられることを自慢したかっただけ。
848:デフォルトの名無しさん
08/06/15 19:15:36
>>833
オブジェクト使い捨てることによって生まれたメソッドチェーン主体の手法と、
従来のインスタンスへの変更を区別するためだろう
か
849:デフォルトの名無しさん
08/06/15 21:30:31
>>847
確かに、そんな気もしなくは無いですね…
850:デフォルトの名無しさん
08/06/15 22:04:22
rubyで日本語の分かち書きがやりたいよん
851:デフォルトの名無しさん
08/06/15 22:17:38
たとえば
mecabを直に叩くか
mecabのrubyライブラリを使うか
mecabのデータだけを使わせてもらって自分でがんばるか
852:デフォルトの名無しさん
08/06/15 23:09:39
>>851
ありがとうございます
(いまさら)環境 ActiveScriptRuby
・mecab for rubyがインストールできなかった
・↓を参考に直叩き
でできました
Windows上のrubyでMeCabをちょっこっと使ってみたい - Programming Must Go On
URLリンク(d.hatena.ne.jp)
853:デフォルトの名無しさん
08/06/16 00:16:14
形態素解析だっけ
yahooにもそんあ機能あったな
854:デフォルトの名無しさん
08/06/16 01:10:10
tiny segmenter なら辞書要らずでお手軽
855:デフォルトの名無しさん
08/06/16 11:08:26
matchdata = /[0-9]+/.match("foo=123;qoo=456;zoo=789")
p matchdata.to_a # => ["123"]
["123", "456", "789"]を期待したんですが["123"]でした。
どうしたら["123", "456", "789"]を得られますか?
856:デフォルトの名無しさん
08/06/16 11:11:34
"foo=123;qoo=456;zoo=789".scan(/\d+/)
857:デフォルトの名無しさん
08/06/16 11:25:49
正規表現は「1回だけ」マッチするのが基本
m = /.+=(\d+);.+=(\d+);.+=(\d+)/.match("foo=123;qoo=456;zoo=789")
puts m[1],m[2],m[3]
結果:
123
456
789
文字列に対して繰り返した結果の配列が欲しい場合は>>856のようにString#scanを使う
scanにブロックを渡した場合は適当に部分マッチ結果が渡る
"foo=123;qoo=456;zoo=789".scan(/\d+/){|m|
puts m
}
結果:
123
456
789
マニュアルのStringとArrayとHashとEnumerableの4つだけは読んでおくといいぞ
858:デフォルトの名無しさん
08/06/16 11:50:32
>>856-857
詳しいところまでありがとうございました。勉強になります。
859:デフォルトの名無しさん
08/06/16 14:58:20
Ruby1.8.6でメール送信フォームを作っています。
次のような流れで、送信する前に確認画面を設けたいのですが―
フォーム送信(Html)
↓
確認用CGI(Ruby)で処理
↓
確認画面の表示・フォーム送信(Html)
↓
送信用CGI(Ruby)で処理
名前やメールアドレスといった文字列データは、
確認画面を経由させるのに問題ありませんが、
ファイルを添付させた場合、tempfileオブジェクトをどのように経由させればよいかわかりません。
今考えているのは、ファイル名だけを経由させ、
送信用ファイルでそのファイルを処理すればよいかと考えていますが、
FireFoxではtempfileのoriginal_files要素を取得してもフルパスを取得することができません。
フルパスを取得する方法、もしくはフォーム送信時の常套句的な方法があれば教えてください。
860:デフォルトの名無しさん
08/06/16 14:59:29
>送信用ファイルでそのファイルを処理すればよいかと考えていますが、
送信用CGIの間違いです。よろしくお願いします。
861:デフォルトの名無しさん
08/06/16 15:19:06
>>859
「確認CGIではファイル名取得だけ行い、送信画面でそのファイル名のファイルを実際に送信する」ということはできない
Webブラウザでは、<input type='file'> を POST する場合にしか、ファイル選択ダイアログとファイル送信はできない実装になっている
だから、入力画面のsubmitを受けたときにファイルは必ず受け取らないといけない(だから、あまり確認の意味がない)
受け取ったファイルをサーバで保持して、確認画面のsubmitが来たらファイルを実際に使用する、という手順にするしかないな
問題のひとつは確認画面でキャンセルされたときのサーバ側に残ったファイルの扱いなんだが、これは適当に消せ
あと、確認画面で戻る押されて別のファイルをアップロードされたときの扱いとかも面倒だな
どちらにしても、Rubyの話ではないので適当なCGI関連のスレで研究してくれ
862:デフォルトの名無しさん
08/06/16 15:31:55
>>861
どうもありがとうございます。
>どちらにしても、Rubyの話ではないので適当なCGI関連のスレで研究してくれ
そういうことでしたら、Perl等、他の言語で書かれたCGIも参考にしてみたいと思います。
助かりました。
863:デフォルトの名無しさん
08/06/17 11:40:57
質問させてください。
現在Ruby on Railsの勉強をしています。
しかし根本的な部分で躓いてしまいました。
練習してみようとtsukaeru.netのシルバープランというVPSサーバーをレンタルいたしました。
しかし、まったくこの上でrubyを用いたホームページを公開する方法がわかりません。
ruby on railsははいっていますか?との質問にサポートは入っています。との解答でした。それ以上のサポートはできないとのことなので
失礼ながらこちらで質問させていただきます。
勉強をしている本は基礎Ruby on RailsというものなのですがこちらはWindowsで導入する方法でしかもローカルで動く方法のみ書いてあったのでそれを一般に
公開するという点では参考になりません。
サーバ構築なども全く初体験なのです。
rubyのプログラムは普通のHPのようにpublic_html直下にindex.htmlをおけば動くといったものではないのですか?
公開するまでの具体的な方法をおしえてください。よろしくおねがいします。
OSはLinux CentOS5(final)のようです。
864:デフォルトの名無しさん
08/06/17 12:05:19
windowsで導入してローカルで動かせばいいじゃないか
865:デフォルトの名無しさん
08/06/17 12:08:55
うむ
866:デフォルトの名無しさん
08/06/17 13:43:28
>>863
まず、その程度の知識でVPSに手を出すのが無謀
組織の命令でやらざるを得ないのなら同情する
ちなみに
% ruby script/server
を実行すれば、適当なポートでHTTPサーバが立ち上がるので
あとは URLリンク(localhost:)(ポート番号)/ にアクセスすれば、サンプルページは見えるはず
よく分からないなら素直にWindows使って練習した方がいい。VPSはその後で
867:デフォルトの名無しさん
08/06/17 15:19:46
まじすか
そんなにハードル高いものだとは・・・orz
Windowsでやるということは、それを公開するには自鯖を立てるしかないのでしょうかね?
自鯖は少し理由があって立てられないのです。
レンタルしているVPSサーバー上でruby script/serverとすると
ruby: No such file or directory -- script/server (LoadError)
と出てしまいます。ruby -vなどとすると正しくバージョンが出ますのでインストールされていることは確かなはずです。
VPS以外で、もっとも簡単にRuby on Railsを公開するにはどうすればよいでしょう。。。
もとからRubyが使えますよ~っと書いてあるレンタルサーバーでもどのようにしてつかえばいいのかさっぱりです。
本でも読んで勉強もしますのでよろしければはじめの一歩でも教えてください。
868:デフォルトの名無しさん
08/06/17 16:06:20
つか、なんで知識無い奴がRoRやってんの?
CGIとHTTPとDBの知識無い奴がRoRなんか触ったって意味ないのに
869:デフォルトの名無しさん
08/06/17 16:15:51
>>867
Rails環境の構築は初心者には難しい
お薦めの手順としては
1.WindowsにRails環境を作って、そこでRailsの基礎を勉強する
基礎Ruby on RailsにもRails環境入りのCDがあるけれど、ここは「InstantRails」を使うべき
2.ある程度Railsアプリケーションをローカル(つまりWin)で作れるようになったらVPSでの公開を検討する
遠回りかもしれないがまずはローカルでRailsを動かしてみよう
学生さんですか?
ここはRubyスレで微妙にスレ違いの話になるので、捨てアドでも晒してくれたら色々と教える事は可能
870:デフォルトの名無しさん
08/06/17 16:19:05
>>867
>ruby script/server
script/serverは、最初にrails generateで作ったディレクトリの中にある
あとは分かるな?
>VPS以外で
自鯖が立てられないならほぼ不可能
CGIスクリプトとして動かす手段もあるにはあるが、たぶん遅すぎて使い物にならない
それでもやりたいなら「dispatch.cgi rails」でググれ
871:デフォルトの名無しさん
08/06/17 16:22:14
>>868
そんな事は無いだろう
DBは必須だがCGIとHTTPの知識が無いRailsエンジニアなんてゾロゾロいるぞ
もちろん誰かが作ってくれた環境上でアプリを作るだけしかできないが
872:デフォルトの名無しさん
08/06/17 16:25:29
>>870
いや、実はRails自体入ってないんじゃないかとオレは思ってるw
867にはrails -vしてみて欲しいところだな
873:デフォルトの名無しさん
08/06/17 16:32:10
>>868
まあ、Railsはどこをどう見ても
「わかってる人間が手早く作るための強力フレームワーク(※ 引き換えにパワー上限あり)」
なんだが、Javaソリューションビジネスで負けた奴らが次点を求めてRoRにツバつけようと群がったもんだから
「あなたにもRoRが簡単にできます」ビジネスの被害者が続出してる
そういう被害者の人たちのフォローをするのも初心者スレの役目だとは思うぜ
874:デフォルトの名無しさん
08/06/17 16:38:38
>>873
Railsはシンプルでわかりやすいけど、それは「ある程度わかっている人」限定の話なんだよなぁ
プログラミング未経験者ならRailsよりもPHPの方が簡単に入れるだろうとは思う
875:デフォルトの名無しさん
08/06/17 17:01:38
Rubyの知識はあるのかなあ
無いんだったら、俺ならダッシュで本屋行ってPHPに鞍替えするね
876:デフォルトの名無しさん
08/06/17 17:19:53
おk
>>867はPHPに乗り換えなさいw
877:デフォルトの名無しさん
08/06/17 18:10:33
皆様ご回答ありがとうございます。
現在の、ローカルのWindows環境では本にしたがい、localhost:3000で動くことはできました。
それを一般に公開するなんて簡単だろうperlのcgiとおなじだろ~っと考えていたらみごとに躓きました。
ご指摘のとおりrails -vしてみたところRails 1.2.2と返ってきたので入ってはいるみたいです。
そしてRoRのソースやらが入っているディレクトリまでcdで移動して再度script/serverを打ってみると
create
File exists - script/server
と帰ってきました。どうやらサーバーがたったようではなさそうな感じですが・・・
あと一歩なんでしょうかorz
ちなみに言語経験はC#とVBを少々でございます。
捨てアドさらせば教えていただけるというとても親切な方がいらっしゃいましたのでアドレスを書いて見ます。
よろしくお願いします。
878:デフォルトの名無しさん
08/06/17 18:38:56
初心者か
879:デフォルトの名無しさん
08/06/17 18:43:32
>>878
まあ、初心者スレだからな
来るのはRubyの初心者だけにして欲しかったもんだが
2ch初心者とかネット初心者とかコミュニケーション初心者とかは正直勘弁
880:デフォルトの名無しさん
08/06/17 18:44:48
つーか>>878とか>>868は上から目線すぎ
誰だって知らない分野はあるだろ
881:デフォルトの名無しさん
08/06/17 18:47:51
lololol
882:デフォルトの名無しさん
08/06/17 18:49:54
>>880
ほいほいメールアドレス晒したり
Windows以外で動作させるための文献検索すらできてなかったりするのは
どうにも擁護できんぞ
「知らない分野」とかそういうレベルではない
883:デフォルトの名無しさん
08/06/17 18:53:29
>>880は「お前には無理だからやめろ」とはっきり言ったほうがいいと仰っておられるのですよ
RoR使うのやめろというレスを全部スルーしてるからな
884:デフォルトの名無しさん
08/06/17 19:10:38
>>882
自分のメールアドレス晒すのは、別に擁護する必要無いだろう。
885:デフォルトの名無しさん
08/06/17 19:12:56
RoR以外の手段を使えというアドバイスですが、一応RoRについての文献をすでに購入してしまったことと
また、RoRを勉強してみたいという意欲のもと始めましたので、別の言語は考えていません。
LinuxにRuby と Railsを入れる方法についてはいろいろと調べまわったつもりなのですが具体的に公開手順を示されているサイトが
みつかりません。メールアドレスを晒したのは>>869さんが親切にあのようにおっしゃってくれたからです。
微妙にすれ違いとの事ですので、失礼しました。
886:デフォルトの名無しさん
08/06/17 20:02:43
Rails云々とは関係なくHTTPとCGIについてよく書けている記事があったので晒してみる
URLリンク(itpro.nikkeibp.co.jp)
これを書いたやつは見込みがあるな
887:デフォルトの名無しさん
08/06/17 20:11:11
そのシリーズはなかなか良質
抽象データのあたりとか、
よくまあ説明が複雑になりがちな概念をここまで平易に
888:デフォルトの名無しさん
08/06/17 20:18:50
タイトルで吹いたw
889:デフォルトの名無しさん
08/06/17 22:58:25
直伝噴いた
890:デフォルトの名無しさん
08/06/17 23:21:08
ここまで言うならぜひ言語を作って欲しい物だ
891:デフォルトの名無しさん
08/06/18 02:07:50
最近読んだ『ハッカーと画家』でrubyの評価が結構高かった。
著者曰くLispに最も漸近しているスクリプト言語とのこと。
892:デフォルトの名無しさん
08/06/18 02:25:08
お前が読んだのは最近かもしれんが、書かれたのは何年も前だぞ
893:デフォルトの名無しさん
08/06/18 02:33:52
原語のほうは公開されてなかったっけ
894:デフォルトの名無しさん
08/06/18 02:54:16
Lispに最も漸近しているって褒め言葉になってないぞw
895:デフォルトの名無しさん
08/06/18 04:17:14
>>891
それ、
『今大人気の言語RubyはLispに一番近い言語なんだよ(知ってた?)
でもさ、だったらLispそのものを使ったほうがいいよね?』
っていうプロパガンダだよ。PGの文章は今から見ると宣伝とか
自己啓発系のものが多いから、半分眉唾で読んだほうがいいよ。
リアルタイムで読んだら興奮するんだけどね。
896:デフォルトの名無しさん
08/06/18 07:54:35
MSが絡むと途端に理性を失うよねこの人
897:デフォルトの名無しさん
08/06/18 15:53:28
ここは初心者が質問するスレじゃなくて性格のねじれた中級者の雑談でよろしいでしょうか?それならば私も混ぜてください
898:デフォルトの名無しさん
08/06/18 15:54:24
>>896
評価するところは評価していたかと
キャッチコピーが技術者のことをよく分かってるって
899:デフォルトの名無しさん
08/06/18 15:58:31
>>897
そういうのは基本的にはアンチ専用スレで
900:デフォルトの名無しさん
08/06/19 00:57:36
Ruby CGIで質問です。
Print文で処理中をあらわす文字列を表示し、
処理が完了したら、次にそのことを知らせる文字列を表示したいのですが、
最初に表示した処理中をあらわす文字列を消すにはどうすればいいのでしょうか?
901:デフォルトの名無しさん
08/06/19 01:08:39
CGIで逐次表示とか考えるな
902:デフォルトの名無しさん
08/06/19 01:10:16
>>900
それは、ボタンをポチッと押すと
「ただいま処理中です」
とかいうメッセージの表示されたhtmlを表示して、
サーバ側の処理が終わったら*自動的*に
「終了しました」
とか書かれたhtmlを表示したいということでしょうか?
903:デフォルトの名無しさん
08/06/19 02:07:05
>>900
Ajaxでどうぞ
904:あぼーん
あぼーん
あぼーん
905:デフォルトの名無しさん
08/06/19 07:19:48
>>901
少なくとも標準あるいは標準の応用でなんとかできるものではないな
RubyやRubyライブラリとしてのサポートはないと思われる
自前でJavaScript書くしかないねえ
906:デフォルトの名無しさん
08/06/19 10:37:36
>>902
そういうことです。
>>901 >>903 >>905
CGIで逐次表示は考えないようにします。
Ajax(JavaScript)で対応したいと思います。
どうもありがとうございました。
907:デフォルトの名無しさん
08/06/20 17:31:54
URLリンク(jp.rubyist.net)
908:デフォルトの名無しさん
08/06/20 18:50:56
爆撃荒らしうぜえ
909:デフォルトの名無しさん
08/06/20 20:37:19
JRubyの質問ってここでいいのでしょうか・・・?
JRuby-1.1.2.zipを dist.codehaus.org から落としてきて
JDK-1.4.2_10の入っているPCに入れてみたけど、
noclassdeffounderror : java/lang/enum と出てjrubyもjirbも
立ち上がりません。
enum型ってJDK-5.0 からのサポートらしいけど、
JRuby-1.1.2ってJDK-5.0でしか動かないのでしょうか?
宜しくお願いします。
910:デフォルトの名無しさん
08/06/21 04:11:42
>>909
READMEに、JRubyのコンパイルにJDK1.5以上が必要って書いてあるからそうなんだろ
911:909
08/06/22 09:47:53
>>910
ネットの記事では1.4.2でも動作するって書いてあったのですが
実際はJDK5.0でないとだめなようですね。
返答ありがとうございました。
912:デフォルトの名無しさん
08/06/22 12:26:13
あるHTMLファイル(何でもいいんですが一般的なWebページの)からリンクしているURLを
取り出そうとしています。ぐぐったらscrapiとかいうので簡単にできたんですがかなり
処理速度が遅いのです。
高速に取り出そうとしたらやはり正規表現で取り出すしかないのでしょうか?
hpricotというのも見つけたのですがいまいちよくわかってません。
robustかつ高速に取得する方法はないものでしょうか?
913:デフォルトの名無しさん
08/06/22 12:43:09
利用者のIT製品に対する基本姿勢は、Microsoftを相手にするときのそれが最も健全であって、
ブーブー言いながら使うのが一番だと思うが、最近は企業ブランド崇拝みたいのができあがっていて、
Apple教団はご愛嬌と思っていたが、何だかこれも同じような感じで、嫌な雰囲気だ。Googleしかり。
特にヘビーユーザーがそういう信者というか、エヴァンジェリストになって
教義に染まない利用者の不満をさえぎる壁になると異様。
そういうのって普及前のファンダムの色が残っているから、と楽観視していたのに。
これだけシェアを拡大しても、いっこうにあらたまらないな。
914:デフォルトの名無しさん
08/06/22 12:46:44
>>912
自力でサイト固有の正規表現考えて抽出してそのサイトの URI に + するのが簡単
正規表現めどいという人に Hpricot
require 'rubygems'
require 'hpricot'
require 'open-uri'
uri = URI.parse('URLリンク(www.ruby-lang.org)')
doc = Hpricot.parse(uri.read)
puts doc.search('a').map{|e| uri + e['href']}.find_all{|e| e.scheme =~ /\Ahttp/}.uniq
実行結果
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
URLリンク(www.ruby-lang.org)
...
915:デフォルトの名無しさん
08/06/22 12:53:43
('a')がAAに見えた
916:912
08/06/22 13:27:20
>>914
ありがとうございます。
scrapiよりは速そうです。scrapiが今使ってるマシンだと動かない(64bitに対応していない?)みたいなので
直接比較はできませんが。でも、robustという意味ではyoutubeのURL入れるとだめっぽいですね
ex : URLリンク(jp.youtube.com)
サイト固有の正規表現を記述するのは一番確実でしょうが一番汚いやり方だと思うので
スマートかつある程度速くできないものかなぁと試行錯誤中です。
917:デフォルトの名無しさん
08/06/22 13:47:32
URLリンク(jp.rubyist.net)
918:デフォルトの名無しさん
08/06/22 13:51:42
>>863
遅レスでもうみてないかもしれないけど。
Railsはともかく・・・
もし、あなたがVPSの管理もする(専用の管理者があなただけ)のなら、VPSを今すぐ解約しよう。
そのうちクラックされて他人に迷惑をかけるだけですよ。
まずは、ローカルで試す(Windowsでもできる)か、ローカルネットワークで外に公開しないサーバーを建てるなどをして知識を十分にしてからでも遅くはないよ。
VPSの場合、RubyとかRailsとかやる前にサーバーの管理の方法も一通り学んでおく必要がある。
919:デフォルトの名無しさん
08/06/22 13:53:02
>>916
それは、httpじゃなくて、ttpだからでは?
920:912
08/06/22 14:14:22
>>919
単純に貼るときに抜いただけです。httpでやってhpricotで例外吐きます。
921:デフォルトの名無しさん
08/06/22 15:34:31
初めまして、
今回ruby on railsを勉強したいと思って、インストールしようとしとして
$ gem install rails --include-dependenciesを実行したんですが、うまくいきません。
だれか、情報があったら教えてください。
C:\ruby>gem install rails --include-dependencies
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you
Bulk updating Gem source index for: URLリンク(gems.rubyforge.org)
Bulk updating Gem source index for: URLリンク(gems.rubyforge.org)
↑の状態で一時間ぐらい止まってます。別にPCは動くので、フリーズとかでもないです。
URLリンク(www.rubylife.jp)のサイトの手順通りにやったんですが…
ちなみに、ruby及びRubyGemsもちゃんとインストールしてあります。
どなたか情報お願いします。
OS: Windows Vista です。
922:デフォルトの名無しさん
08/06/22 16:15:27
>>921
マシンスペックにもよるが、Rails 新規インストール時に数時間返答がないのは普通
1日以上待った例もあるからそのまま放っておけ
923:デフォルトの名無しさん
08/06/22 16:19:26
>>921
Debianの例で悪いけど、回避策もやはりあるみたいよ。
URLリンク(d.hatena.ne.jp)
924:デフォルトの名無しさん
08/06/22 16:36:28
めんどくさいなあ
>>916
どうして例外が起こったかはわかる?
残念だけど、Web のスクレイピングは文字通り例外との戦いだぞ
サイトごとに調整しなければならないと思ってくれていい
HTML や HTTP の知識はあるかな?
たとえば以下の方法だと 142 のリンクが抽出されてるけど、本当に必要なのは数個だろ?
require 'rubygems'
require 'hpricot'
require 'open-uri'
uri = URI.parse('URLリンク(www.ruby-lang.org)')
doc = Hpricot.parse(uri.read)
puts doc.search('a').map{|e| e['href']}.compact.map{|e| uri + e}.find_all{|e| e.scheme =~ /\Ahttp/}.uniq
925:デフォルトの名無しさん
08/06/22 16:46:58
uri が前のままだった
本質的には puts doc.search('a').map{|e| e['href']} だけでいい
でも、それだと相対 URL で書かれているリンクがわけわからなくなるのでわざわざ uri に join してる
http:// と https:// 以外を取得しても意味がないことが多いからわざわざ http:// と https:// 以外を除いてる
で、Youtube では「onclick で JavaScript 起動しかさせないリンク」という href 自体がない <a> タグがあるのでわざわざ href が nil な場合を compact で除いてる
他のサイトでは「欲しいリンクだと思ったら実は画像貼り付けのボタンでPOST」とかにも対処しなければならないかもしれない
require 'rubygems'
require 'hpricot'
require 'open-uri'
uri = URI.parse('URLリンク(jp.youtube.com)')
doc = Hpricot.parse(uri.read)
puts doc.search('a').map{|e| e['href']}.compact.map{|e| uri + e}.find_all{|e| e.scheme =~ /\Ahttp/}.uniq
926:デフォルトの名無しさん
08/06/22 16:58:19
HTML の知識はないとダメだよね
後出しで youtube 出してきたけど、欲しいのは動画ファイルのURLや各種一覧にあるURLだろうし
これからまた絞らないといけないだろうな(おそらくはCSSセレクタとかXPathとかあのへんの知識が要る)
927:デフォルトの名無しさん
08/06/22 17:01:13
リンクされてるURLを抜き出すライブラリを作ってるというならともかく、
無駄にあれこれ悩むよりさっさと正規表現使って抜き出せばいいと漏れは思う。
928:デフォルトの名無しさん
08/06/22 17:03:18
そういう意味では>>914の1行目の時点で回答は出てるんだよな
929:デフォルトの名無しさん
08/06/22 17:32:00
うっかり汎用性を求めてしまうのはRubyスクリプトの悪い癖
初期ではそのノリで標準ライブラリになってしまったりしたが
930:デフォルトの名無しさん
08/06/22 17:33:53
>>921
rubygems 1.2 で劇的に改善されたらしい。
URLリンク(rubyforge.org)
931:930
08/06/22 17:38:48
gem 1.2.0 にしたら、gem が笑っちゃうぐらい高速になったよ。
932:デフォルトの名無しさん
08/06/22 18:19:17
RubyKaigがニコ動うpされまくってるぜ
タグ検索 RubyKaigi2008‐ニコニコ動画(SP1)
URLリンク(www.nicovideo.jp)
933:デフォルトの名無しさん
08/06/22 18:24:58
>>931
メチャメチャ速くなってる気がするwwww
gem updateがさっくりオワタww
934:デフォルトの名無しさん
08/06/22 18:58:55
>>932
お、今年はうpが早いな。
あとで見る。
935:デフォルトの名無しさん
08/06/22 19:27:22
標準の関数的メソッド以外で引数のカッコ省略するのやめようぜ
936:912
08/06/22 21:47:13
>>924-925
遅くなりましたがありがとうございました。
やはり例外との戦いなんですね。参考にします。
>>926
youtubeはたまたまブラウザで開いてるURL全部入れて試しただけです。
youtubeから抜き出したいというわけではなかったのです。
937:デフォルトの名無しさん
08/06/23 14:10:30
gem1.2は爆速w
>>930ありがとう
938:日立バキバキ高野くん祭り
08/06/23 20:00:05
1.日立製作所社員の高野くん(高野光弘)が会社を誹謗中傷して機密も漏洩
2.日立のユーザーにも「キチガイ」との障害者差別発言
3.日立製作所の企業イメージをバキバキにする
4.自身のサイトの『32nd diary』に掲載
5.日立製作所に通報される
6.あせって似顔絵削除
7.火に油を注ぐだけで所属する日本UNIXユーザ会にも通報祭り勃発
8.「給料泥棒」と説教される
9.「殺します」と殺人予告をして警察に事情を聞かれる←イマココ
高野光弘の行動
現在は、過去の記事を閲覧できなくして、「本日の日記はツッコミ数の制限を越えています」としています。
まずは、不愉快な思いをされた方々に謝罪するべきなのではないでしょうか。
高野光弘の発言
「まぁ、どこの団体もそんなにヤワじゃないので、平気なんですけども。
日本UNIXユーザ会が一番対応に慣れてる感じ。」
日本UNIXユーザ会が対応に慣れているか、みなさん確認してみてください。
連絡先
URLリンク(www.net.intap.or.jp)
939:デフォルトの名無しさん
08/06/24 00:00:05
postgresql にdbiを使って接続しようとしたんですが、うまく行きません。
/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:368:in `load_driver':
Could not load driver (no such file to load -- /usr/local/lib/ruby/site_ruby/1.8/dbd/Pg) (DBI::InterfaceError)
というエラーがでてきます。
$ echo 'export PATH=/usr/local/psql/lib:$PATH' >> ~/.bash_profile
でライブラリへのパスは通っていると思うんですが、
解決策をお教えいただければと思います。
940:デフォルトの名無しさん
08/06/24 00:44:50
>>939
/usr/local/lib/ruby/site_ruby/1.8/dbd/Pg.rb
は存在するの?
941:デフォルトの名無しさん
08/06/24 06:51:08
UNIXにおいては、ライブラリパス(というか、soの在処)は
LD_LIBRARY_PATH
あたりで設定すると記憶しているが。
942:デフォルトの名無しさん
08/06/24 14:23:27
linuxではldconfig とかも使う。
943:デフォルトの名無しさん
08/06/24 21:12:24
Solarisならcrleとかね
944:デフォルトの名無しさん
08/06/24 21:14:08
ldd でlib全部リンクできてるか確認するとかね
945:デフォルトの名無しさん
08/06/24 21:35:17
Macならotool -L だな。
946:デフォルトの名無しさん
08/06/24 21:54:40
939です
皆さんご丁寧にありがとうございます。
>>940
/usr/local/lib/ruby/site_ruby/1.8/dbd/Pg.rb は存在しなくて、
/usr/local/lib/ruby/site_ruby/1.8/dbd/Pg/Pg.rb があります。
PATHやLD_LIBRARY_PATHはOKな筈なんですが、うまく行かないです。
こちらの環境は、macなのでotool -L などでもう少し格闘してみます。
947:デフォルトの名無しさん
08/06/24 23:14:53
>>946
ruby-pg はインストールしてる?
ruby -rpg -e0
を実行して何も出なければ入っているって事なんだが。
それにしても分かりにくいエラーメッセージだな>dbi
真の原因を隠すなよ。
948:デフォルトの名無しさん
08/06/25 04:05:46
Rubyでシューティングゲームつくってるんですけど
949:デフォルトの名無しさん
08/06/25 04:08:31
ごめ 途中でカキコしちゃった
Rubyでシューティングゲームつくってるんですけど 弾が当たってゲームオーバーになった時に画面全体を赤っぽくしたいんですけど なにかいい方法ありませんか?
一応予定としては
画面全体を赤で塗る
透過する
って考えているんですけどがんばっていろいろ探ってみてもやり方がわかりませんorz どうかよろしくおねがいします。
950:デフォルトの名無しさん
08/06/25 04:33:13
>>949
手順
1.Rubyをアンインストール
2.HSPをインストール
3.「シューティングゲームビルダー」でぐぐる。
4.HSPをアンインストール
わざわざRubyで作る意味がわからない
951:デフォルトの名無しさん
08/06/25 05:02:34
ん十年前の質問を思い出すなぁ
C言語でゲームを作りたいんですがどうすればいいですか?
しるかーぼけー
952:デフォルトの名無しさん
08/06/25 07:11:46
Rubyかんけえねえw
953:デフォルトの名無しさん
08/06/25 07:12:54
少し質問があるのですが、数値的なシミュレーションをして
結果を分布図(正規分布の図みたいなの)として出力したいのですが、
適したグラフライブラリはどんなものがありますでしょうか?
954:デフォルトの名無しさん
08/06/25 07:20:52
Excelとかw
955:デフォルトの名無しさん
08/06/25 07:35:18
数値だけ出力して、グラフはgnuplotに任せるとかはダメかな?
956:デフォルトの名無しさん
08/06/25 07:59:27
gnuplotのラッパあったよな、確か。
後は
Rubyist Magazine 0006 号
Ruby Library Report 【第 5 回】 数値計算と可視化
URLリンク(jp.rubyist.net)
とか。
957:デフォルトの名無しさん
08/06/25 09:04:23
>>954-956
ありがとうございます。
ああ、gnuplotでもいいか。
GnuplotのRuby用のインターフェースはこれですね。
URLリンク(rgplot.rubyforge.org)
gemにもありました。Windowsでもつかえるかな?
あとは、テキストのとかw
Histogram class for ruby(Kodama's tips page)
URLリンク(www.math.kobe-u.ac.jp)
かっこいいグラフとか、
Gruff Graphs for Ruby | Ruby on Rails for Newbies
URLリンク(nubyonrails.com)
>>956
数値計算のライブラリの詳しい紹介、助かります。
うまく画像化できそうです。一通り試してみようと思います。
ありがとうございました。
958:デフォルトの名無しさん
08/06/25 09:07:44
ちょっとした疑問なのですが、srandとかrandって
何故、クラス化かモジュール化されてないのでしょうか?
徹底的にOOPしているRubyにおいてrandは不思議な存在に思えます。
MLのログなど見てみたのですが、過去にクラス化の議論はされているようで↓
URLリンク(blade.nagaokaut.ac.jp)
パッチが作られていて、1.9で当てられるようなことになっているのですが、
SVNのtrunkや1.9.2とかのソースを見ても当たってないようです???
959:デフォルトの名無しさん
08/06/25 09:22:20
>>949
どんなライブラリを使ってるのかが分からないと、助言のしようがない
960:デフォルトの名無しさん
08/06/25 09:56:07
ArgumentErrorエラーメッセージのことで質問させてください。
wrong number of arguments(1 for 0)
このとき「引数の数が間違えてる」のは文字通りわかるのですが、
(1 for 0)はどう読んだらいいんでしょうか?
引数なし(0)のところに1つ(余計に?)渡してる、みたいなニュアンスでしょうか?
今、あるライブラリを使っていてこのエラーが出ているのですが
引数の数は間違えておらず(関数側にもデフォルト値も設定されている)
原因を探しているところです。
961:デフォルトの名無しさん
08/06/25 10:10:38
>>960
お前英語苦手だろ
962:デフォルトの名無しさん
08/06/25 10:53:50
Rubyの入門書はエラーメッセージに 2~3節割くべきだと思う
>>960
1 for 0 は「0 個の代わりに 1個得た」と読む
日本人にはまだわかりにくいな
(got 1, required 0) とでも書いてくれればわかりやすいんだが
引数総数しか問題にしてない記述で、引数 0個のメソッドなのに引数が 1個渡されてるというエラーだ
このメソッドに引数を渡してはいけないってことだな
irb> 'abc'.downcase('param')
ArgumentError: wrong number of arguments (1 for 0)
963:960
08/06/25 11:03:15
>>962
ありがとうございます。
直接呼び出しているメソッド内から呼ばれていたメソッドで
引っかかっていたようでした。
構文が古いのか(?)マニュアル見て書き直してみたらうまくいきましたm(_ _)m
964:デフォルトの名無しさん
08/06/25 12:14:18
>>958
URLリンク(doc.loveruby.net)
965:デフォルトの名無しさん
08/06/25 12:30:57
>>950 一応Rubyの書き方覚えつつ作ろうかなぁと思ってちまちまつくってます。
ライブラリはSDLとfpstimerはいってます。
966:デフォルトの名無しさん
08/06/25 12:55:07
>>964
んーたぶんそれと違うような。Mersenne Twisterをラップしたのなんだけど・・・
>>965
Rubyでゲーム制作ならこっちのスレの方がよいかと思う
【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
スレリンク(gamedev板)
967:デフォルトの名無しさん
08/06/25 13:03:33
>>966
普通の乱数ジェネレータのオブジェクト化ね。
多分やってない、やる気がないだけだと思うけど。
確か、過去の議論で、うまい名前とうまいAPIがあれば、みたいな
話になってたかな。
968:デフォルトの名無しさん
08/06/25 13:10:11
>>966 スレちソマソ 誘導サンクスー
969:958
08/06/25 13:20:17
MLのその後のRandomパッチの議論を見つけました。
URLリンク(blade.nagaokaut.ac.jp)
なんかグダグダのまま頓挫してますね・・・。