1 名前:デフォルトの名無しさん [2009/06/28(日) 16:29:28 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 前スレに変なのが沸いて流れてしまいましたが、まったりと行きましょう。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 35 pc12.2ch.net/test/read.cgi/tech/1238194350/ 過去スレ・関連スレは >>2-
2 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:31:42 ] Rubyリファレンスマニュアル刷新計画 ttp://doc.loveruby.net/ ライブラリ一覧 ttp://doc.loveruby.net/refm/api/ RubyExtensionProgrammingGuide ttp://i.loveruby.net/w/RubyExtensionProgrammingGuide.html Ruby Hacking Guide ttp://i.loveruby.net/ja/rhg/ Symbol < Stringも止める。 ttp://www.rubyist.net/~matz/20061107.html#p03 クラスローカルインスタンス変数 ttp://www.rubyist.net/~matz/20061117.html#p02 クラス変数 ttp://www.rubyist.net/~matz/20070104.html#p03 ローカル変数 ttp://www.rubyist.net/~matz/20070112.html#p04 可視性メモ ttp://www.rubyist.net/~matz/20070208.html#p04 ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30107 ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30275 YARV without 1.9 ttp://www.rubyist.net/~matz/20070215.html#p01 ttp://www.atdot.net/~ko1/diary/200702.html#d22 ttp://i.loveruby.net/d/20070223.html#p01 JSON ttp://json.rubyforge.org/ ttp://webos-goodies.jp/archives/51019710.html ttp://webos-goodies.jp/archives/51071565.html YAML ttp://www.ruby-lang.org/ja/man/?cmd=view;name=YAML ttp://jp.rubyist.net/magazine/?0009-YAML ttp://www.namikilab.tuat.ac.jp/~sasada/prog/yaml.html
3 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:32:34 ] Ruby/Gtk+ ttp://www.unixuser.org/~haruyama/software/goRua/ ttp://takeposo.sakura.ne.jp/windows/environment/rubygtk.html ttp://ruby-gnome.sourceforge.net/ ttp://ruby-gnome.sourceforge.net/programming/intro.html ttp://ruby-gnome2.sourceforge.jp/ ttp://psux1.kek.jp/thitoshi/ruby/gtk/ ttp://www.rubycgi.org/ruby_gtk_book/ ttp://ruby.gfd-dennou.org/products/cygwin/index-j.html ttp://www.magicianmaster.jp/tdiary/?date=20040912
4 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:33:29 ] Ruby on Rails pc11.2ch.net/test/read.cgi/tech/1191381506/ ttp://jp.rubyist.net/magazine/?0004-RubyOnRails ttp://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html ttp://kyotosanga.com/gaku/archives/2006/01/ruby_on_rails_a.html ttp://blog.hacklife.net/archives/50190377.html ttp://www.metadata.co.jp/web20/ohba/060718_Rails/ ttp://japan.cnet.com/news/ent/story/0,2000056022,20089986,00.htm ttp://japan.cnet.com/interview/story/0,2000055954,20094959,00.htm ttp://journal.mycom.co.jp/articles/2006/07/31/radrails/ ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh29.html ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh30.html ttp://www-06.ibm.com/jp/developerworks/linux/050708/j_l-rubyrails.html ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060209/228940/ ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/
5 名前:デフォルトの名無しさん [2009/06/28(日) 17:00:55 ] >>1-4 Rubyの残念さを象徴するようなわかりづらいテンプレだね >>3 ,4とかもうURL羅列してあるだけで何がなんだか
6 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:07:36 ] 「残念」って流行語なのか? 残念(笑)
7 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:25:19 ] >>1 乙 テンプレは前回と同じじゃんか。 残念だと思ったら自分で整えて「次はこれで」って書き込めばいい。 世の中に不満があるならほかでやれよ。
8 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:02:48 ] 前スレ最後まで必死でワラタw
9 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:18:47 ] このスレタイでよく続くな
10 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:42:29 ] それだけマイナーだし。
11 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:14:49 ] >>7 こんなわかりづらいテンプレに疑問を持たないようなユーザーがRuby使いです
12 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:28:32 ] 実践CommonLispって本で (deftest test-+ () (check (= (+ 1 2) 3) (= (+ 1 2 3) 6))) (deftest test-* () (check (= (* 2 2) 4))) (deftest test-arithmetic () (combine-results (test-+) (test-*))) (deftest math () (test-arithmetic)) って書くと pass ... (MATH TEST-ARITHMETIC TEST-+): (= (+ 1 2) 3) pass ... (MATH TEST-ARITHMETIC TEST-+): (= (+ 1 2 3) 6) pass ... (MATH TEST-ARITHMETIC TEST-*): (= (* 2 2) 4) みたいに関数テストができるユニットテストをつくるってネタがあったんだけど これrubyでかくとどんなかんじになるのかな?
13 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:32:05 ] >>11 文句付けるなら具体的に案を出せば?
14 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:19:54 ] >>12 ? LISPよくわからんが、読める人は逐語的に書けばいいんじゃないの? 単なるユニットテストの超簡易サンプルだろ? てかLISPって知らない人間に取っては暗号以外の何者でもないな。
15 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:36:25 ] >>14 rubyっぽくかくとこんな感じ。 deftest test_plus assert_equal(1+1, 2) ... end deftest test_arithmetic test_plus end deftest test_math test_math end ってかいてtest_mathを呼ぶと pass ... test_math test_arithmetic test_plus : assert_equal(1+1 ,2) みたくテスト内容と階層と結果を自動的に表示してくれるという lispではこれをdeftestとかっていうマクロから書き始めても二十行くらいでかけてびっくりした。 英語版がここに公開されてる gigamonkeys.com/book/practical-building-a-unit-test-framework.html
16 名前:デフォルトの名無しさん [2009/06/28(日) 21:51:00 ] >>15 Lisp向きの処理をわざわざRubyに置き換えても無意味 糞言語がゲロ言語になるだけ
17 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:56:30 ] 糞よりはゲロのほうがとか思ってしまった俺オワタ >>12 まずは自分で書いてみな 置き換えること自体は無意味でも勉強にはなる
18 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:21:09 ] >>12 まず、 > pass ... (MATH TEST-ARITHMETIC TEST 〜〜 この出力が何に由来するものか理解できない俺は、Rubyでのコードもまったく想像できない。 って>>15 のサイト見てたら、それはそれで定義するのかよw # ゴルフネタなのか?それならPerlでもJavaScriptでもなんでも変わらないような以下略 今ひとつピントがわからない俺に易しい解説キボン
19 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:00:58 ] 16bit CRCを求めるライブラリって標準でついてないの?
20 名前:12 mailto:sage [2009/06/29(月) 00:35:55 ] 要するにテストの階層化が簡単にできるって話。 assert_equalに該当するようなcheckっていう関数(マクロ)を作って deftestっていう関数定義のようなものをテスト用に作って deftestで、例えば足し算のテストをする。test_plusっていうのを定義して、 その中でcheck(1+1==2)みたくテストを書く。 で実行すると「test_plusから呼ばれたcheckの1+1==2っていう式は真/偽だったよ」 って教えてくれるわけ。 さらにdeftestでtest_arithmeticを定義してその中でtest_plusを呼ぶと 「test_arithmeticから呼ばれたtest_plusから呼ばれたcheckの1+1==2っていう式は真/偽だったよ」 と教えてくれる。さらにdeftestでtest_mathを定義してその中でtest_arithmeticを呼ぶと…… みたいに階層化することができる。さらにそれぞれの関数ですべてのテストが真だったか/ひとつ以上偽だったか の結果を返すので、 「test_arithmeticから呼ばれたtest_plusから呼ばれたcheckの1+1==2っていう式は真だったよ」 「test_arithmeticから呼ばれたtest_plusから呼ばれたcheckの1+9==10っていう式は真だったよ」 「test_arithmeticから呼ばれたtest_timesから呼ばれたcheckの1*1==1っていう式は真だったよ」 すべてのテストは成功しました。 みたいに関数名とか階層とか評価した式とかをいちいち別に書かなくても表示してくれる。 それでこれと似たようなことをrubyで書けるかなっと少し考えてみたんだけどさっぱり思いつかない。
21 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:48:50 ] >>19 Zlibにあったような気がしたが、CRC32だな。 githubにCRC16が落ちてたからそれで我慢して。
22 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:49:32 ] 階層化とやらの実装はcaller調べりゃすぐ出来る むしろ最終的に実行した式(1+1=2とか)を表示する部分に工夫が必要
23 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 06:23:05 ] そもそもLISPとか括弧だらけで美しくない レベルの低い話をRubyのスレに持ちこまないで
24 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 06:38:33 ] >>20 今ひとつ掴み切れんが、RSpecの階層化で幸せになれる話? context 'arithmetic' do context 'plus' do specify '1+1' do end specify '1+9' do end end context 'times' do specify '1*1' do end end end 実行した式の表示に関しては、Rubyではまず無理だろう その芸当は「手続きも含めてすべてがデータ(リスト)」のLispだからこそだ
25 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 07:46:46 ] 無理やりやるとしたらこんなか?何か気持ち悪いなあ def check(recv, method, *args) expect = args.pop backtrace = raise rescue $@ result = recv.send(method, *args) うんたらかんたら end check(1, :+, 1, 2)
26 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 09:54:34 ] GitHubで、有名じゃないRubyライブラリのプロジェクトをいじって遊んでる 足りないテストがあるので追加してるんだが、 ユーザー指定のわりとレアな組み合わせによっては期待通り動作しないことがわかった ライブラリ側を直せばいいんだが、これを直すと確実に大改造になるし、 ライブラリを利用してる既存スクリプトの動作も下手すると変わってしまうし、 正しく直せたかどうかがいまいち俺にはわからん分野でもある A 現状追認のテストだけ書いて、不動作関連は記述せず、別途報告 B 現状追認のテストだけ書いて、不動作関連は記述せず、報告もしないで見なかったことに C テストを実行するとテスト失敗になるようにしておいて、不動作は別途報告 D テストを実行するとテスト失敗になるようにしておいて、不動作は無視 E 「BUG:本当はテスト失敗になります」と書いて、失敗結果を出すことを成功とみなしてテストは通す どうしましょ
27 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 10:03:41 ] そういや、GitHubでむちゃくちゃ大量にすっごいアドホックなコード追加して 「みんなの見つけてないバグ見つけたのでなおしときましたー」って言ってくる人はいる そんなコミット怖くてマージできんわー そんな怖いコード書くくらいならひとまず現象の報告だけして改正案募ってくれ 「どうすればいいかわからんがとりあえずやるか」といったときのコードはたいていあとで問題を起こす ということで、A
28 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 13:09:37 ] >>24 evalでねじ込めば実現できなくもない・・・・・・
29 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 16:11:54 ] びっくり最小にするためにアグレッシブに進化してるな。 codezine.jp/article/detail/4052
30 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:13:36 ] Pythonのことあんま知らんけど、intとlongの互換性ってどんなんだったん? Rubyの場合、FixnumとBignumはほとんどシームレスだけど
31 名前:デフォルトの名無しさん [2009/06/29(月) 19:19:00 ] なんつーか、Rubyやってる奴ってRubyしかできないんだよな だから>>12 みたいに毛色の違う関数型言語の話題が来ても誰もついていけないという…
32 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:41:20 ] それはまあ言語歴、プログラミング歴によるのでー
33 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:41:22 ] LISP やっているやつはこんなのばっか。
34 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 19:54:54 ] C言語やJavaやってる人間がいきなり>>12 見ても理解不能だろ・・・常識的に考えて
35 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:00:20 ] C#から満を持して飛び込んできましたがサッパリです
36 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:07:29 ] SICP読んだ事があるのに分からんかった。
37 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:08:44 ] 解説いらないなら本書く理由も無いからな
38 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:21:26 ] PL/SQLで頼む
39 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:43:42 ] >>31 そうそう。逆にPHP使える奴はPerlもHaskellも楽勝だったりする。
40 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:49:03 ] 誰にも構ってもらえてないのか?
41 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:49:13 ] >>39 ダウト
42 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:51:36 ] >>39 ×PHP ○Python
43 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:52:14 ] Rubyに限らず他言語を一つでも知ってればlispなんて1日で読めるようになるよ。
44 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:53:39 ] >>42 それは単純にPython厨に古い人が多くてRuby厨に新しい人が多いってだけだろw 古い人は経験豊富なんだから他言語習得するも簡単
45 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 20:56:15 ] PythonはLispのパクリだから親和性が高いのが特徴
46 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:01:19 ] Ruby会議いくやついる? あれって、チケット必要なのね。 とっくに売りきれてたorz.
47 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:02:41 ] RubyにもCommon Lisp成分が入ってると思うが 触ってみると、なるほどご先祖様だと感じられる Matzが参考にしてると言うだけはある
48 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:05:26 ] >>39 それはないだろw
49 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:12:04 ] Ruby も Python も LISP も信者はおかしなのが多い。
50 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:13:46 ] 隔離スレあるんだからいい加減そっち行ったら?
51 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:26:02 ] >>20 実行結果出力例が納得いかないんだが、test-arithmeticの結果、mathの結果、は別途表示されないの? それはともかく、 deftest "test_plus" do check ["1+2", 3], ["1+2+3", 6] end deftest "test_times" do check ["2*2", 4] end deftest "test_arithmetic" do combine_results "test_plus", "test_times" end deftest "math" do test_arithmetic end に対して pass ... (math test_arithmetic test_plus): 1+2 == 3 pass ... (math test_arithmetic test_plus): 1+2+3 == 6 pass ... (math test_arithmetic test_times): 2*2 == 4 と表示させるテストライブラリくらいはあっという間に書けた。
52 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 21:33:00 ] evalかな そうだとすると、違わないんだけどなんか違うようなやっぱり違わないような なんだこの無形の障壁は
53 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:04:34 ] evalです。 作ってみて思ったんだが、>>52 の気持ちはよくわかる、というか、対象式を表示させるために文字列で渡してevalするという発想自体が捻じ曲がってる気はする。
54 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:26:43 ] 構文木を直接書き下すlispはそこんとこ突き抜けてるからな。
55 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:30:23 ] 1年ほど前からスピードランニングやってます。 貧乏なので生活費辛くなってPart9で中断してますが。。 率直な感想を言えば、内容は悪くないと思う。聞きやすいしバックのクラシック音楽も意外に効果的。 ただ、会話がいかにも教材のために作られたという感じの内容なのでつまらなくてすぐに飽きます。 例えば、日本人と外国人が映画に行って、お互いの文化を説明しあったりとか。 価格は高すぎると思う。ちゃんと机で教科書開いて学習する意思がある人ならNHKラジオの英語教材買った方が遥かにお得だし効果的。 1年ぐらいの間暇を見つけてはCD聴いてたわけですが、現時点で英語の映画とか観ても相変わらずほとんど聞き取れない。 効果が出るかは謎。出るにしても時間はかかるんだろうなぁ
56 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 22:31:14 ] ↑誤爆した。すまん
57 名前:12 [2009/06/29(月) 22:31:20 ] >>51 まさにそんなかんじ。すげー でも勉強不足なもんでそのdeftestの実装がどうなってるか よくわからん。 checkは文字列を引数としてあとでevalするのか。なるほど
58 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 01:19:50 ] Proc#to_sあたりでコード片の文字列に戻せたならeval避けられそうなんだけどね 例えばJavaScriptだとユーザー定義の関数は (インデント等の差違はあるけど)Function#toStringでコード片に戻せる rubyの実装だとこういうの難しいんだろうか >>47 Array#cdrあったような気がしてつい探したことがあるw ・・・昔あったんだっけ?
59 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 06:52:46 ] いいかげんウザいよ
60 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 10:25:45 ] お前はなんの話題なら納得するんだ
61 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 12:11:29 ] まぁ、Array#cdrなんて無くても ary[1..-1]で済むからなぁw
62 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 12:33:45 ] >>57 実装はこんな感じ。5分ほどで書いたから汚くてごめん。 class Test @@tests = [] def check(*tests) name = caller[0...-2].reverse.map{|str| str.sub(/\A.*`(.*)'\z/){$1}}.find_all{|m| @@tests.include?(m)}.join(' ') #` tests.flatten.each_slice(2) do |expression, expected| result = eval(expression) == expected puts "#{result ? 'pass' : 'failed'} ... (#{name}): #{expression} == #{expected}" end end def combine_results(*cases) result = true cases.each do |c| result = false unless send c end result end def self.run self.new.__send__ @@tests.last end end def deftest(name, &block) Test.class_eval " define_method(name, block) @@tests.push(name) " end END { Test.run }
63 名前:デフォルトの名無しさん [2009/06/30(火) 13:07:24 ] > 5分ほどで書いたから汚くてごめん。 謝るくらいなら5時間できれいなものを書け
64 名前:デフォルトの名無しさん [2009/06/30(火) 13:28:35 ] 2chのレスのために5時間かけるくらいなら、5分で書いてゴメンするほうを選ぶわな。 みんながみんな、2chに張り付いているわけじゃない。63みたいに。
65 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 13:29:48 ] なんで1円にもならんことに5時間もかけにゃならんのだ。
66 名前:デフォルトの名無しさん [2009/06/30(火) 13:36:37 ] >>64-65 だったら一々言い訳つけて女々しいレスすんな
67 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 13:42:14 ] こいつ前スレの>>971 だろ 酷い劣等感だ
68 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 14:12:26 ] Ruby ユーザの脳味噌の中身は PHP みたいですね
69 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:19:01 ] >>67 そんなわけないだろ。 ちなみに前スレでやり合ってたのもおれじゃない。 監視する価値を感じなくなったからもう書き込むことはないよ。じゃあ
70 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:24:37 ] ここまで我慢してたけど監視する価値でフイタ
71 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:32:29 ] watchの機械翻訳かもな 外国のお客さんは大事にするべきかもよ
72 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:41:49 ] るびまきてるね、編集乙 だが松江Ruby会議と仙台Ruby会議は福岡開催じゃNEEEE
73 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 01:52:16 ] >>72 ワロタwww 広島Ruby会議も栃木で開催されてるよ!
74 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 02:19:50 ] Ruby会議って面白いですか? 「はじめてのRuby」を一通り読んだ程度の人間が行っても場違いでしょうか?
75 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 05:30:43 ] 教祖に有って、誤利益の有るツボとか買いたければ参加してみるのも一興。
76 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 06:54:36 ] >>72-73 普段どういうコードを書いてるか目に浮かぶようだ
77 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 10:11:31 ] Ruby ユーザの質は PHP みたいですね
78 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:12:35 ] >>77 仲の悪い奴らを一緒に語ると、変なのが湧いてくるからやめてくれ。
79 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 14:31:17 ] そもそもperlの再発明だしね。
80 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 15:24:28 ] rubyはperlの…とは良く言われるが、一体rubyのどこがperlな訳? perlオリジナルの機能でrubyが模倣したモノって何よ?
81 名前:デフォルトの名無しさん [2009/07/01(水) 15:25:40 ] >>80 模倣じゃなくて劣化再発明 だからRubyはPerlではないし、Perlの代わりにはならない
82 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 15:40:54 ] やっぱり無いんだ、そもそもperlこそがパクリ言語だもんな そーゆー意味では劣化再発明と言うのは当たってるか
83 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 16:01:39 ] RubyがBlack PerlをパクってZen of Rubyを隠しコマンドに入れたのは超有名
84 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 16:51:33 ] コマンドラインオプションとかif/unless修飾子とかredoとかだってグーグル先生が あとperlが出典かわかんないけど、メソッドだと同じ名前のものが腐るほどあるよな
85 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 18:37:48 ] 他の言語からも取り込みまくってるから、perlと特に似てるって感じではない いろいろな言語のいろいろな特徴・アイデアを取り込んだのがRuby 強いて言えば、主な用途(スクリプティング、文字列処理、Web)がperlと似てるか >>83 詳しく
86 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:57:04 ] perlっぽい使い方を想定してる所は有るね。 松本教祖謹製perlってところか。
87 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:38:09 ] perlパクってるくせに perlからの脱却とか言ってperlの悪口ばかり言ってるのも面白いよね
88 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:47:24 ] >>87 こんなところにまでわざわざご苦労様です
89 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:49:07 ] rubyはawkのパクり。
90 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:54:52 ] とりあえず国産言語だから、という理由で覚えてみてる。 scala見たいな別の言語が出てきたら使いたいなー
91 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:46:08 ] でも国産言語だと世界でメジャーじゃないのがねえ。 主要OSが英語圏で作られてるから、利用環境が充実しない。 plやpyと比べると(ry
92 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:59:57 ] むしろ国産言語じゃ世界的に普及しまっくてる方じゃね?
93 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 01:03:09 ] >>87 だからperlからパクったものをあげてみろって 今んとこ出てるのはif,unless(while,until)修飾子とredoな # 関数名とメソッド名が似通ってるのはUNIX文化から来てるからperlは関係ない どうせperlもrubyも他の言語もロクに使ったこと無いんだろ?
94 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 01:10:03 ] >>92 まがりなりにも世界的に利用者のある国産言語と言われても思いつかない KL/1ぐらい?Prologの世界では有名なのかも分からんが、 とてもメジャーとは言いがたいと思う
95 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 01:18:19 ] お堅い洋書を読んでいてもRubyの名前は当然のように出てくるぞ >>93 pack/unpack, shift/unshiftなんかはPerl起源っぽくない?
96 名前:94 mailto:sage [2009/07/02(木) 01:20:54 ] あああRubyを除いての話
97 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 01:52:35 ] >>94 Lisp 界隈だと KCL (Kyoto Common Lisp) とか ISLISP くらいかねえ まあ、 KCL は言語じゃなくて処理系だし、 ISLISP は ISO 標準のわりにあまり見掛けないけど
98 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 05:02:39 ] >>95 その手の関数はC等で良く使われる手法を、perlでは言語標準にしただけだと思う perlの関数はunix-cやawkの関数がそのまま使われてるし、他の言語もだいたい同じ むしろ同じ機能なのにわざわざ別の名前にされても憶えるのが面倒だし混乱の元だから パクリと言われても同じ名前をつけてくれる方が使う側としてはありがたい
99 名前:デフォルトの名無しさん [2009/07/02(木) 06:00:57 ] Rubyは国産でも日本語対応がいいわけじゃないから何のメリットもないよ > Ruby(ルビー) † > 日本産ではあるが日本語の取り扱いは他の言語と同レベルで、特にRubyとしてのアドバンテージはない。
100 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 06:32:18 ] 標準で日本語の文字コード変換機能を備えてる訳でもないしな。