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


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

Ruby 初心者スレッド Part 31



1 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 17:31:07 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

★注意★ Ruby 1.9.1 は初心者には時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。
   (理由:現時点では多くの有名ライブラリやアプリが 1.9.1 に未対応であるためです。)
 なお 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 で勉強すれば将来スムーズに 1.9 系に移行できるでしょう。

関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の 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を読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

610 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:04:06 ]
>>606
そりゃそういうふうに作られてるからだろ
do のマニュアル読め
わざわざカウントして数値を返してるようなので初心者殺しではある

611 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:10:25 ]
sprintf と pack/unpack は「Ruby らしい」糖衣実装が望まれていながら、
ダラダラと旧来の仕様を引きずってきたんだよな
オタクが他の言語の知識を流用できて便利というただそれだけの理由で

612 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:14:00 ]
>>611
あれは正規表現みたいなサブ言語だと思って諦めるのが吉かと思われます
確かに覚えにくいしなんとかしたほうがいいのは確かなんだけれど
あれをまたまとめて別途組み立ててしまうとそれだけで結構な一覧表に

613 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:17:18 ]
>>610
どもっす。doのマニュアルを探してきます。



614 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:18:04 ]
printf類にrubyらしい実装なんて不要
他の言語と違う動作されたらそれこそ非難の的

615 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:24:33 ]
prntf などの「メジャーな関数」をなくせという話ではないように読めるが

616 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:25:25 ]
>>611
sprintfは別言語でそれやられて大迷惑
>>612も言ってるけどいまさら別に覚えるのも嫌だから
今までと同じでいいよ・・・

617 名前:593 mailto:sage [2009/10/07(水) 19:27:45 ]
>>595
minですね
探し切れてませんでした
ありがとうございます

>>598
なるほど、確かに求めてるのはヒープみたいなものでした
参考になりましたありがとうございます


618 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:32:02 ]
別にみんな自由に書けばいいじゃんw
Obsoleteでもない限り機能として用意されてるんだから使えばいいし
「個人的に嫌い」な人が大半になればそれを使わないのがデファクトスタンダードになるだけだし



619 名前:591 mailto:sage [2009/10/07(水) 19:37:20 ]
どうもありがとうございました >>592

うーん、もうちょっと明示的にスコープの話が書いてあると嬉しいような。
doc.okkez.net/static/187/method/Kernel/m/require.html
doc.okkez.net/static/187/method/Kernel/m/load.html

620 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:56:18 ]
ruby/dbiの公式に行きまして、classデータベースというページがあり
メソッドの説明がしてありました。しかし、記述が少ししかなく。
こういう場合、ソースを読むんでしょうか?

とりあえず、今は目的に必要なことだけをやっていこうと思います。

621 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:06:32 ]
>>597
>rows = dbh.do("INSERT INTO people (name,height)
>VALUES('Wanda',62.5),('Robert',75),('Phillip',71.5),('Sarah',68)")
>printf "%d rows were inserted¥n", rows
>
>ruby/dbiの使い方ページにあるコードの抜粋なんですが、実行すると
>4 rows were insertedと表示されます。
>
>printf "%d " , rowsで、rowsから何かの数字を得ているようなのですが
>どういう動きをしているんでしょうか?

1行目の rows = dbh.do("insert....") で、insertした件数が返されて rows に代入されているだけじゃないかな。
それを printf "%d ", rows で出力している。そんだけ。

622 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:29:41 ]
>>620
ググったら公式じゃないけどこんなページがあったよ
ttp://www.nslabs.jp/book2-dbi.rhtml

623 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:31:28 ]
>>618
選択肢がないという話では

624 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:35:37 ]
>>623
>>602-603がそうはとても見えない

625 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:38:34 ]
>>624
sprintf 使ったことある?

626 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:45:18 ]
>>625
sprintf系まとめて異端だったの?
>>603は「(sprintfはまだしも)String#%は使うな」と言ってるんだと思ってたけど


627 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:51:44 ]
C に由来する sprintf や pack/unpack の書式記号や利用法が Ruby らしくないというツッコミなんじゃ…

628 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:57:52 ]
pack系はともかくsprint系に選択肢ないか?



629 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:02:21 ]
>>603はどう考えてもネタです

630 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:04:49 ]
pack は map で直接書くというコードの動作的にはある意味わかりやすい代替手段が

631 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:27:58 ]
しかしprintfを非難するとはいい度胸だ…これも平成ゆとりが増えたからなのか…

632 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:33:55 ]
packにせよprintfにせよ、DSLは不思議と好き嫌いが分かれる気がする

633 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:34:36 ]
>>631
「わかりにくい」ことは確か
初心忘れると老害と罵られるぞ

634 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:37:58 ]
反printf派に聞きたいんだけど
今より使いやすい(Rubyっぽい)printf構文ってどんなの?

635 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:39:17 ]
とりあえず「詳しくはmanページ読んでね」というのは頂けないな
「正規表現はPerlと同じ物が多いので同じ場合はそちらを」は通用しないのに

636 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:40:14 ]
>>633
packは使ったこともないし使う場面もないから構文すら知らない。
rubyでdef endしちゃうから今後も使うことはないだろう。

637 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:40:50 ]
$と記号1つのグローバル変数(今となっては排除したいらしいが)も、
「Perlといっしょ」で通じなくなってきてるからな…


638 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:42:04 ]
printfを知らないとなると、rubyしか触ったことないってことになるんだがな…
webクリエータはたいてい適当だしそんなもんかw



639 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:43:00 ]
>>636
バイナリファイルのヘッダパースとかどうやってやってるの?

640 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:43:31 ]
>>636
irb1.8> p "ルビー"
"\343\203\253\343\203\223\343\203\274"

これ日本語に戻してー

641 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:44:32 ]
>>638
お前puts使わないだろ

642 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:47:39 ]
>>636
1.8でUnicodeEscapeSequence文字列が欲しいです先生

643 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:49:20 ]
>>640
evalしろ

644 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:50:35 ]
packはまあ・・・・使う時にリファレンスを見てやるしかないな

一方、青木氏はpackで壊れた
>まったくpackの意味不明さときたら、
>「packのテンプレートがわからなくたって悔しくなんかないんだからな! バーカバーカ!」
>と幼児退行してみたくなるほどです。

645 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 21:52:37 ]
>>643
こういう文字列をevalしろとな

646 名前:デフォルトの名無しさん [2009/10/07(水) 22:09:18 ]
青木氏って2chねら?

647 名前:デフォルトの名無しさん [2009/10/07(水) 22:27:52 ]
ttp://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv
このファイルが開けないのですが、どーすれば良いのでしょうか。

648 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:31:52 ]
>>647
中身がタブ区切りのtsvだからです
っていうかファイルの中身確認することくらいしようぜ



649 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:34:21 ]
putsすると日本語でも表示されるよね
sjis問題で文字化けはするけど

650 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:44:34 ]
gets, puts ってのはもろにCだと思うんだが・・・

651 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:55:35 ]
え・・・そうだと思うけどなんか違った・・?

652 名前:デフォルトの名無しさん [2009/10/07(水) 23:28:42 ]
visualstudioみたいにボタンとかを貼り付けて入力フォームが作りたいんですが
ああいうツールは無いんでしょうか?

653 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:32:42 ]
CentOS上でruby1.8.7から1.9にアップデートしたいのですが、
Linuxの知識に乏しいためなかなか手が付けられません。
1.8.7のインストールはネットで調べつつなんとかソースコードから入れました。
一般的にはどのような手段でアップデートするのでしょうか?

654 名前:デフォルトの名無しさん [2009/10/07(水) 23:34:49 ]
>>653
このスレ的には Debian にしろって言われると思うが。

655 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:34:51 ]
> Linuxの知識に乏しいためなかなか手が付けられません。
じゃあ無理だ
諦めろ
あとスレ違い

656 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:39:29 ]
こういう奴は何しにこのスレに張り付いてるんだろうか

657 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:41:38 ]
>>656
わりと適切だと思うが…
Linux使ったことあるか?

658 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:43:45 ]
make がなにやってるか理解しないといかんからなー
それはこのスレの範囲を超える
パッケージがないなら諦めれ



659 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:44:01 ]
貼りついてるw

660 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:44:15 ]
もろスレ違いだと思うが。


661 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:44:52 ]
Ruby公式ページにインストールガイドってリンクあるからみればいいよ

662 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:48:54 ]
教祖も使っているDebian最強

aptitude install ruby

663 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:49:18 ]
Linux上で、しかもLinuxに関する知識がないのなら
パッケージ管理システム(aptやyum)を使え、としか

664 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:54:26 ]
>>662
1.9.1は存在しない(Sid除く)

665 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:58:14 ]
この場合Linuxの知識は無関係だろ

666 名前:デフォルトの名無しさん [2009/10/08(木) 00:38:00 ]
>>653
package application で source または archive の site を追加…
大抵は package gpg key は初期の物が使える筈…
source package で compile install が出来るので在れば source を拾って来て install.

667 名前:デフォルトの名無しさん [2009/10/08(木) 00:50:15 ]
ruby は python を使えれば 使う事ができますか
python と ruby の関数で違う物は在るのでしょうか?

668 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 00:54:47 ]
フィッシングタイムですか?



669 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 00:58:16 ]
邪魔しないでください >>668

670 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 01:05:11 ]
>>667
全体的に大阪弁と東北弁ぐらいの違い

671 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 01:09:16 ]
>>667
片方が使えるなら、もう片方もさほど苦労しない

672 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 01:53:24 ]
gems.rubyforge.orgにgemでアクセスできなくない?

673 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 15:57:30 ]
rubyが司る世界において

数字の1が生まれたら、それは数字クラスに所属していて
数字クラスのメソッドにない動きは出来ないってことですか?



674 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 16:10:39 ]
Rubyには、オブジェクト(インスタンス)ごとにメソッドを定義できる、
特異メソッドという仕組みがあるので、たいていのクラスでは、イン
スタンスごとに振る舞いを変えることができる。
しかしながら、数(Numericおよびサブクラス)にはこれが定義できない
ように制限されている。

なお、数インスタンスが生まれた後に、数クラス自体にインスタンスメ
ソッドを追加した場合、既存の数インスタンスでも使える。


675 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 16:21:33 ]
irb> module One; def one; "one!"; end; end
irb> 1.extend(One)
TypeError: can't define singleton
from (irb):2:in `extend_object'
from (irb):2:in `extend'
from (irb):2
from :0
irb> "1".extend(One).one
"one!"
ああ、わかりやすいエラーだ

676 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 16:26:28 ]
>>673
一般的にはそう
クラスに定義された動作(メソッド)のみが可能
ただし Ruby はオープンクラスだから、自分でクラスを拡張してメソッドを追加変更することができる
ある人の String クラスにあるメソッドが、 別の人の String クラスにもあるとは限らない
ある人の作った String のインスタンスが、別の人の作った String のインスタンスと全く同じ動作をする保証はない
ただ、組み込みクラスのメソッドやライブラリ標準メソッドの上書きは自己責任なので気にしなくてよい

それと整数クラスは>>674の言うように例示にはちょっと不適

677 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 18:34:07 ]
>>675
数字と数の違いか:-p


678 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 11:22:07 ]
M1::C1::C2 というネストしたクラスがあります
あるオブジェクトが M1 を「ネスト構造上含んで」いるかどうかを調べたいです
文字列として正規表現で比較するしかありませんか?

obj.class.to_s =~ /\AM1::/



679 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 11:56:18 ]
>>678
どんな場合にも動作するのは文字列としての比較
Module.nesting が使えることも多いが、特定条件で存在できないモジュールオブジェクトを指定できない

680 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 11:58:02 ]
C → Java → Ruby と勉強してきましたが、次の言語は何がいいと思いますか?
プログラミングは単なる趣味です。

681 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 11:58:52 ]
Haskell

682 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 12:08:49 ]
Lisp系列が足りないな

683 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 14:20:33 ]
>>680
趣味というなら、マイナー言語でもいいよね。
Rubyとは真逆の、静的な関数言語がいいんじゃないかな。
OCamlかHaskellあたり。どちらも日本語での入門書があるし。

684 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:10:41 ]
railsで、webアプリを作るのに
必要な知識ってなんですか?

ruby
rails

正規表現
html,xhtml,xml
javascript
mysqlなどRDMS
apacheなどhttpサーバー

こんなもんでしょうか?

685 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:15:04 ]
>>684
他の言語でフレームワークべったりでないWebアプリケーションを作ることができれば問題なし
なんじゃそりゃって感じだけど、まず間違いない

あとRailsは板違いなので
【Ruby】Ruby on Rails Part8
pc11.2ch.net/test/read.cgi/php/1252842574/
こっち池

686 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:15:17 ]
>>681-683
サンクス。

OCamlかHaskellあたりがお薦めなんですね。
了解しました。


687 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:20:43 ]
>>685
どもっす。半年間精進してダメなら諦めます。

688 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:40:15 ]
rspec 版の testrb コマンドってありませんか?



689 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:48:15 ]
>>688
spec -fs -c spec/


690 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 15:54:54 ]
>>689
1578 examples, 0 failures

っひょー

691 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 16:28:14 ]
>>690
おまえすごいな

692 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 16:32:09 ]
個人でもちょっと規模大きければこんなもんだろ

693 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 17:31:04 ]
俺レベルになるとワンライナーで大企業の基幹システムを作れるようになる

694 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 17:45:04 ]
rspec 使ってるとテストはやたら増える

695 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:08:57 ]
無印のサイトはシェルやワンライナーで作ってる、なんて言ってたけど、
どーりで重いわけだと思ったよ

696 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:44:18 ]
初心者らしい話題

class CArray < Array
end
a = CArray.new
b = CArray.new
c = a + b
p c.class #=> Array

CArrayを返してほしい。

class CString < String
end
a = CString.new("aaa")
b = CString.new("bbb")
c = a + b
p c.class #=> String

CStringを返してほしい。

697 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:17:14 ]
CArray というクラス名に吐いた

class CArray < Array
def +(v); self.class.new(super(v)); end
end


698 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:58:05 ]
a[0..1]みたいなのはちゃんと元のクラスにやってくれるんだよね



699 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 00:22:00 ]
Array や String の(Cで記述した) + メソッドの定義の中で
Array.new や String.new がハードコーディングされてるんだろうな
何らかのシステム的理由があるか、いまさら変更できないか、どっちかだろう
まあ、バグっちゃバグかもしれん

700 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 01:13:02 ]
>>698
むしろそっちのほうの挙動が不思議
Stringクラスの実装はCStringを知らないはずなのに、
どうしてCStringオブジェクトを返せるんだ?

701 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 01:28:37 ]
インスタンスがあればクラスわかるから返せるにきまっとるわい

702 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 02:03:22 ]
superのnew呼び出しでself.class.newってやるのきもくね?

703 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 02:10:19 ]
継承を前提としたクラスならってところ
組み込みでいえばIOとかNumericあたり

というか、otherと絡むときにわざと基本クラス返してる気がするなぁ


704 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 03:07:56 ]
レヴェルの低いインターネッツだな

705 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 03:22:09 ]
組み込みのくみこちゃんをdisるのはやめろ

706 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 07:06:39 ]
>>703
あらゆるクラスは継承で動作可能「でなければならない」
継承したとたん動作しなくなるライブラリはプギャー

707 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 07:26:07 ]
それぞれArrayを継承したFooとBarがあったとして foo + bar がどのクラスを返すべきかとか考えると
>>703の言うようにわざと基本クラスを返すのはありなんじゃないかと思う

708 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 07:31:28 ]
>>707
> foo + bar がどのクラスを返すべきか
変換っぽいメソッドでない限り、通常はレシーバのクラスを返すべき
つまり、foo のクラスを返すべき



709 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 07:54:09 ]
このパッチをあててリビルドすればOK
--- a/array.c
+++ b/array.c
@@ -2657,12 +2657,14 @@ rb_ary_fill(int argc, VALUE *argv, VALUE ary)
VALUE
rb_ary_plus(VALUE x, VALUE y)
{
+ VALUE klass;
VALUE z;
long len;

y = to_ary(y);
len = RARRAY_LEN(x) + RARRAY_LEN(y);
- z = rb_ary_new2(len);
+ klass = rb_obj_class(x);
+ z = ary_new(klass, len);
MEMCPY(RARRAY_PTR(z), RARRAY_PTR(x), VALUE, RARRAY_LEN(x));

710 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 08:07:52 ]
本当にそのほうがいいと思うなら、
redmine.ruby-lang.orgにfeature request投げとけば。

個人的には、両方のクラスが同じときだけにすべきじゃないかと思うが。

あと2chに初出のコードは著作権的に取り込むのは危険なんじゃなかったっけ。






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

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

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