Rubyについて Part 35
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/03/28(土) 07:52:30Ruby Home Page
http://www.ruby-lang.org/ja/
= 前スレ
Rubyについて Part 34
http://pc12.2ch.net/test/read.cgi/tech/1233686068/
過去スレ・関連スレは >>2-
0002デフォルトの名無しさん
2009/03/28(土) 07:54:15http://pc12.2ch.net/test/read.cgi/tech/1235727504/
【ActiveScript】RubyをWindowsで使うスレ【GUI】
http://pc11.2ch.net/test/read.cgi/tech/1155031689/
Rubyの宿題教えてください。2限目
http://pc11.2ch.net/test/read.cgi/tech/1200175247/
Ruby>>>>>Java
http://pc11.2ch.net/test/read.cgi/tech/1158807229/
愛国Ruby
http://pc11.2ch.net/test/read.cgi/tech/1233033091/
【↓アンチ系】
Rubyについて(アンチ専用) Part003
http://pc11.2ch.net/test/read.cgi/tech/1207233348/
Rubyは難しすぎ
http://pc11.2ch.net/test/read.cgi/tech/1156496224/
【カルト】Ruby開発者Matz【モルモン】
http://pc11.2ch.net/test/read.cgi/prog/1148712641/
0003デフォルトの名無しさん
2009/03/28(土) 07:54:58ttp://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
0004デフォルトの名無しさん
2009/03/28(土) 07:55:49ttp://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
0005デフォルトの名無しさん
2009/03/28(土) 07:58:13http://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/
0006デフォルトの名無しさん
2009/03/28(土) 08:00:360007デフォルトの名無しさん
2009/03/28(土) 10:38:400008デフォルトの名無しさん
2009/03/28(土) 10:41:580009デフォルトの名無しさん
2009/03/28(土) 11:43:09marcでruby-list,ruby-devのミラーやってくれないかなぁ
0010デフォルトの名無しさん
2009/03/28(土) 14:57:320011デフォルトの名無しさん
2009/03/28(土) 21:53:47参考にしてるテキストは「初めてのRuby」で、
5.5.1で外部エンコーディングについて、
読み書きしようとする外部リソースのエンコーディングであって、
リソースに文字列データを書き込む際には外部エンコーディングに変換されます。
と説明があります。
しかし、実際に異なるエンコーディングで試してみると以下の(2)のように文字化けします。
これは書き方が悪いのでしょうか、それとも仕様でしょうか
#encoding: Shift_JIS
require 'stringio'
p Encoding.default_internal #=> nil
p Encoding.default_external #=> #<Encoding:Windows-31J>
s = gets() # "日本語"を入力
p '1:'+s #=> 1:日本語
p s.encoding #=> #<Encoding:Windows-31J>
e = s.encode('euc-jp')
p '2:'+e #=> 2:(文字化け)
p e.encoding #=> #<Encoding:EUC-JP>
buffer = "".encode('Shift_JIS')
sio = StringIO.new(buffer)
$stdout = sio
puts '3:'+s #=> 3:日本語
puts '4:'+e #=> 4:日本語 (StringIOを経由するとエンコード変換される)
$stdout = STDOUT
puts buffer
OS: Vista
version: ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mswin32]
0012デフォルトの名無しさん
2009/03/28(土) 22:33:55Encoding.default_external は
「外部から File.open などでファイルを読み込むときにとりあえず使われるファイルのエンコーディング」だ
EUC-JP な文字列を SHIFT_JIS に自動変換して表示するご利益はない
0013デフォルトの名無しさん
2009/03/28(土) 22:46:55ありがとう、了解です
では、本の説明にある
「文字列データを書き出すときには外部エンコーディングに変換されます。」
の説明自体が適切でない、のか、執筆時点で仕様がゆれてたか、ということで理解しておきます
0014デフォルトの名無しさん
2009/03/28(土) 22:54:58$stdout と $stderr は IO の仲間だが、特別に external_encoding (や、ruby -E)の影響を受けない
画面表示時に自動変換されてしまうと困るから、このへんだけ意図的に仲間外れになってる
Ruby 1.9.2 では違ったことになるかもしれないけどね
すくなくとも 1.9.1 では、画面表示するときは従来のように文字コードを変換しておくれ
これ以外の IO オブジェクト(のようなもの)は Encoding.default_external と同じものが設定される
0015デフォルトの名無しさん
2009/03/28(土) 23:02:31> すくなくとも 1.9.1 では、画面表示するときは従来のように文字コードを変換しておくれ
$stdout.set_encoding(Encoding.default_external)
$stderr.set_encoding(Encoding.default_external)
とすることで、お望みのことはできる
これが自動で行われないのが 1.9.1
ただ、これはグローバルな変更なので、ほかのライブラリに悪影響を及ぼす可能性はあるので注意
(実際的な悪影響は無いとは思う)
001611
2009/03/28(土) 23:34:34追加の情報ありがとうございます
どうしても自動変換したいというわけでもなくて、
Yuguiさんの本は嘘が少ないと聞いていたので、本の説明と実際の
挙動が違うように見えたのが気持ち悪くて質問しました
で、1.9.1の挙動詳細と標準入出力だけが特別扱いされてることが分かったので、
スッキリしました
ありがとうございました
0017デフォルトの名無しさん
2009/03/31(火) 21:21:570018デフォルトの名無しさん
2009/04/01(水) 02:38:01http://redmine.ruby-lang.org/issues/show/1332
これ?
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45911
0019デフォルトの名無しさん
2009/04/01(水) 19:10:56Ruby の資格試験ができると、ウソをついたけど。
Ruby技術者認定試験 公式ガイド (単行本(ソフトカバー))
伊藤忠テクノソリューションズ (著), ITpro (編集), Rubyアソシエーション (監修)
価格: ¥ 2,100
単行本(ソフトカバー): 256ページ
出版社: 日経BP社; A5版 (2009/3/25)
ttp://www.amazon.co.jp/dp/4822234304/
0020デフォルトの名無しさん
2009/04/02(木) 14:16:00Twitterは「Rubyで手早く作る→高速で繁盛する→Rubyの壁にぶち当たる→じっくり置き換える」の成功例
0021デフォルトの名無しさん
2009/04/02(木) 19:18:55あれ?この間松江でやってたのはなんだったの?
0022デフォルトの名無しさん
2009/04/03(金) 16:17:010023デフォルトの名無しさん
2009/04/03(金) 17:32:520024デフォルトの名無しさん
2009/04/03(金) 22:31:260025デフォルトの名無しさん
2009/04/05(日) 16:44:06WIN32でmake通りませんよ?
0026デフォルトの名無しさん
2009/04/05(日) 19:18:170027デフォルトの名無しさん
2009/04/05(日) 21:46:23ttp://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23136
次のスナップショットでは直ってるはず
0028デフォルトの名無しさん
2009/04/05(日) 22:20:2425程度の件はMLやredmineに書き込む価値はないよ
0029デフォルトの名無しさん
2009/04/05(日) 23:11:560030デフォルトの名無しさん
2009/04/06(月) 09:29:290031デフォルトの名無しさん
2009/04/06(月) 09:36:11開発者も常駐してリアルタイムに見てくれる
0032デフォルトの名無しさん
2009/04/06(月) 09:51:08いや、IRCがイッパンに対して気軽だった時代なんてついぞ来なかったが…
0033デフォルトの名無しさん
2009/04/06(月) 09:57:25そもそもRubyのチャンネルがIRCNetにあるのかどうかが問題だが。
0034デフォルトの名無しさん
2009/04/06(月) 10:58:43IRCなら #ruby:*.jp
0035デフォルトの名無しさん
2009/04/06(月) 11:03:42・LimeChatを入れる
・ircnetに繋ぐ
・#ruby:*.jpに入る
他に煩雑な手順ってあったっけ?
0036デフォルトの名無しさん
2009/04/06(月) 11:25:24redmineに登録すればMLにも流れるんだが…って逆か。
MLの方が敷居が低いなら、Subjectの頭に[BUG:1.9]ってつけてruby-devに投げればいいよ。
0037デフォルトの名無しさん
2009/04/06(月) 11:44:06Rubyist@2chマンセー
0038デフォルトの名無しさん
2009/04/06(月) 11:57:210039デフォルトの名無しさん
2009/04/06(月) 12:33:080040デフォルトの名無しさん
2009/04/06(月) 14:17:030041デフォルトの名無しさん
2009/04/06(月) 14:23:570042デフォルトの名無しさん
2009/04/06(月) 15:58:520043デフォルトの名無しさん
2009/04/06(月) 19:04:43#ruby:*.jp って今もありますか?
ChatZilla で ruby で検索しても見当たらないのですが。
0044デフォルトの名無しさん
2009/04/06(月) 20:43:35IRCNetではチャンネル検索できない(しようとすると切れる)ので注意。
チャンネルは今まさに生きている(つかなぜこれが終了してるなどと思ってるのかがわからんが)ので、
そのまま入っちゃってOKです。
0045デフォルトの名無しさん
2009/04/06(月) 20:44:54あとChatZillaのデフォルトではUTF-8になっててIRCNetでは文字化けするので、ISO-2022-JPに変えてください。
0046デフォルトの名無しさん
2009/04/07(火) 00:13:44ネチケット(死語)にやたらとうるさい古参がいたりとかしない?
0047デフォルトの名無しさん
2009/04/07(火) 00:15:330048デフォルトの名無しさん
2009/04/07(火) 09:26:21態度が悪い奴はどこへ言っても嫌われるが、常識の範囲内であれば文句は言われない。
0049デフォルトの名無しさん
2009/04/08(水) 01:03:300050デフォルトの名無しさん
2009/04/08(水) 14:30:04> 式の一部になれないのが文だっけ?
( ) で囲めばなんでも式の一部 (primary) になる。
0051デフォルトの名無しさん
2009/04/08(水) 14:49:12あくまで「ifを文と呼ぶのが間違い」という主張を否定してる。
厳密に言えば文の返値を利用した時点で全体が文になり
文だった部分は式に成り下がるだろうから
「返値を持つ文」は存在し得ないかもしれない。
ただそれでも概念としては式⊂文。
用語重要なのは同意。文章書く側に「if式と書け」と言うのもわかる。
でも読み手に対して「文は返値を持たない」と言い切ってしまうのはよろしくないかと。
一般論的にも「文」にそこまで明確な定義はないはず・・・ないよね?
0052デフォルトの名無しさん
2009/04/08(水) 15:01:20このへんは誰かが定義したものを採用して使ってる状態
0053デフォルトの名無しさん
2009/04/08(水) 15:01:590054デフォルトの名無しさん
2009/04/08(水) 15:04:30Rubyにおいて、何が文で何が式かという定義は、
parse.y で stmt になってるものが文で、expr になってるものが式、
としか言いようがない。確かRHGの頃と今とでは結構変わってた
気がするけど。
0055デフォルトの名無しさん
2009/04/08(水) 15:23:350056デフォルトの名無しさん
2009/04/08(水) 16:57:590057デフォルトの名無しさん
2009/04/08(水) 16:58:390058デフォルトの名無しさん
2009/04/10(金) 20:32:01Twitter、Ruby on RailsからScalaへ
http://slashdot.jp/developers/09/04/10/0421223.shtml
0059デフォルトの名無しさん
2009/04/10(金) 20:53:530060デフォルトの名無しさん
2009/04/10(金) 21:13:26Railsを完全駆逐するわけでもないみたいだよ。
0061デフォルトの名無しさん
2009/04/10(金) 21:34:210062デフォルトの名無しさん
2009/04/10(金) 21:38:340063デフォルトの名無しさん
2009/04/12(日) 12:11:080064デフォルトの名無しさん
2009/04/12(日) 12:15:520065デフォルトの名無しさん
2009/04/13(月) 13:41:10Ruby落ちすぎワロタ
PHPならこんなことはありえない
0066デフォルトの名無しさん
2009/04/13(月) 13:48:120067デフォルトの名無しさん
2009/04/13(月) 14:11:14挨拶する暇があれば本題を言え、っていう空気
0068デフォルトの名無しさん
2009/04/13(月) 14:13:580069デフォルトの名無しさん
2009/04/13(月) 14:16:29いや全然
というかあのプギャーの本質わかってなかったのか?
0070デフォルトの名無しさん
2009/04/13(月) 14:20:210071デフォルトの名無しさん
2009/04/13(月) 20:09:131.8.5でSEGVは出したことないな
何をやってそうなったのか見てみたいけどソースないの?
0072デフォルトの名無しさん
2009/04/15(水) 08:57:24ttp://pc12.2ch.net/test/read.cgi/tech/1238632943/421-
0073デフォルトの名無しさん
2009/04/16(木) 08:27:430074デフォルトの名無しさん
2009/04/16(木) 15:12:59公式サイトのは3年以上放置されてるし、
新しい奴もRDのままでしかもファイル多杉、chmとかいらないし、
普通のHTML形式も無いのかよ
あと新しい奴のテーブル状のレイアウト正直見にくい
長いメソッド定義折り返されてごちゃごちゃになる
ダメダメだろ
0075デフォルトの名無しさん
2009/04/16(木) 15:31:240076デフォルトの名無しさん
2009/04/16(木) 15:44:37出ないかも
というかナニがダメでナニがネックになってるのかの調査すらないからな
「俺ら」は使わないからかなりひどい状態だ
0077デフォルトの名無しさん
2009/04/16(木) 17:19:37すぐ Programming Ruby の方しか見なくなった
0078デフォルトの名無しさん
2009/04/16(木) 18:10:13> 普通のHTML形式も無いのかよ
ttp://doc.loveruby.net/refm/api/view/index これは?
0079デフォルトの名無しさん
2009/04/16(木) 18:12:32ローカルに落としてPDAで見たかったんだ
wgetで落としたらすげえ時間がかかった…
0080デフォルトの名無しさん
2009/04/16(木) 18:15:130081デフォルトの名無しさん
2009/04/16(木) 18:52:18BitClustのToDoに入ってるんだよな。
0082デフォルトの名無しさん
2009/04/16(木) 19:31:59http://www.itmedia.co.jp/news/articles/0904/16/news055.html
0083デフォルトの名無しさん
2009/04/16(木) 20:54:04Ruby Core Reference
http://www.ruby-doc.org/core/
Ruby Standard Library Documentation
http://www.ruby-doc.org/stdlib/
0084デフォルトの名無しさん
2009/04/16(木) 21:06:57「Classes」をクリックしても「Methods」が変わらないよな
0085デフォルトの名無しさん
2009/04/16(木) 21:24:30クラスのメソッド一覧は Classes からクラスを選択したときに
当のクラスのページ頭にある
0086デフォルトの名無しさん
2009/04/16(木) 21:28:46クリックしたクラスの持つメソッドが一覧になるとかか
んな洒落た機能はねえ
0087デフォルトの名無しさん
2009/04/16(木) 21:36:50と思ったら、こっち(ttp://www.ruby-doc.org/stdlib/)は
左メニューでボールドになってるやつが
素敵にメソッドが絞り込まれるな。
ソースが見られるのは秀逸。
0088デフォルトの名無しさん
2009/04/16(木) 22:00:02俺もそれに激しく違和感を感じる。
普通、あのレイアウトになってりゃ、Smalltalkのそれと同じようになっていると
期待するもんだろ?
0089デフォルトの名無しさん
2009/04/16(木) 22:10:110090デフォルトの名無しさん
2009/04/16(木) 22:21:24時代は Darkfish-RDoc
ttp://rdoc.rubyforge.org/RDoc/Generator/Darkfish.html
小奇麗なCSSとJavaScriptで読む気にさせてくれてソース表示とクリックしたメソッドを強調表示し
ドキュメントを書いてないメソッドに至っては赤枠で目立たせて ( N o t D o c u m e n t e d ) と煽ってくれる親切機能つき
rdoc の実行ファイルのバージョンが古いと rdoc -f darkfish hoge.rb したときに
uninitialized constant RDoc::Error (NameError) で落ちることがあるので
その場合は 2.x の rdoc (/usr/bin/rdoc とかにあるはず)を明示的に使ってくれ
0091デフォルトの名無しさん
2009/04/16(木) 22:31:14全メソッドの一覧がないのが致命的だから使う気になれん
0092デフォルトの名無しさん
2009/04/16(木) 22:34:420093デフォルトの名無しさん
2009/04/16(木) 22:36:56http://wiki.github.com/mislav/hanna
http://gitrdoc.com/mislav/will_paginate/tree/master
0094デフォルトの名無しさん
2009/04/17(金) 10:42:25lib/finalize.rb なんてまだドキュメント化しようとしてるのかよ。
あることすら忘れてた。
0095デフォルトの名無しさん
2009/04/17(金) 19:34:02これいいな
綺麗だし探しやすいし、RDoc標準とほぼ同じ感覚で使える
0096デフォルトの名無しさん
2009/04/17(金) 21:27:460097デフォルトの名無しさん
2009/04/17(金) 21:46:32その心は
009896
2009/04/18(土) 01:11:170099デフォルトの名無しさん
2009/04/18(土) 01:12:19え。
そうなの?
よければkwsk
実は俺、ささださんファンだったんだ・・・
0100デフォルトの名無しさん
2009/04/18(土) 01:13:190101デフォルトの名無しさん
2009/04/18(土) 01:19:120102デフォルトの名無しさん
2009/04/18(土) 01:23:560103デフォルトの名無しさん
2009/04/18(土) 01:27:56それならいいんだが(?)、>>98はガセでおk?
0104デフォルトの名無しさん
2009/04/18(土) 01:38:10Mon Jan 1 00:00:00 2007 Koichi Sasada <[email protected]>
* Merge YARV
当時は、狙ってコミットしやがったなとツッコミまくりだった。
0105デフォルトの名無しさん
2009/04/18(土) 09:26:24Pythonみたいに.rbcファイルが作られるとか、そういうのを期待していた?
予定は無くは無いらしいが。
0106デフォルトの名無しさん
2009/04/18(土) 10:01:490107デフォルトの名無しさん
2009/04/18(土) 11:09:42あとはごく小さなツールとかの起動が早くなるのも期待できる
0108デフォルトの名無しさん
2009/04/18(土) 11:22:27遅くて使い物にならない。
0109デフォルトの名無しさん
2009/04/18(土) 12:15:40Rubyスクリプトは(まあ、最近はRubyに限らないんだけど)大量のライブラリファイルを読み込んでるのがちょっとイヤ
インストール時にライブラリ1ファイルとかにまとめてくれればいいのに
まとめたファイルは require 'hoge' で、個々のファイルだけでいいときには require 'hoge/foo' とかさー
0110デフォルトの名無しさん
2009/04/18(土) 12:33:25やみくもに柔軟性追うんじゃなく即時実行もできるけど基本コンパイルを前提にして
記述性と動作速度を両立しつつも後者寄りな言語がそろそろ出てきて欲しい。
IDEとの親和性がよくないことのデメリットももっと強調されるべき。
初プログラミングがEclipse/Visutal Studio/Xcodeでemacs/vimどっぷりじゃない若い人に期待。
0111デフォルトの名無しさん
2009/04/18(土) 12:42:390112デフォルトの名無しさん
2009/04/18(土) 12:46:34あとは、オプショナルな型指定で動作速度を補強するというと、
まあCommon Lispとか?
0113デフォルトの名無しさん
2009/04/18(土) 12:56:01IDEの文脈補完がEmacs並に速ければ世界はまた違うと思う
PCの処理速度に関係なく一定に遅いとかなんなの
0114デフォルトの名無しさん
2009/04/18(土) 13:00:55CPU1個の人はプログラミング禁止とかになんねーかなーと思うことはある
開発したい人はCPU2個以上必須
CPU1個のマシンは実行専用機
なんかもう富豪的に超スゴイんだけど並のマシンでは全く動きゃしねえというプログラミング環境が欲しい
PCゲームだって推奨PCがあるんだし、プログラミング推奨PCとかあってもよくね
0115デフォルトの名無しさん
2009/04/18(土) 13:16:49デュアルじゃなくてもいいけど、とにかく「2画面分」欲しい
Alt+Tabとかで画面切り替えるとかもうありえん
0116デフォルトの名無しさん
2009/04/18(土) 13:20:01Rubyとはもはや関係ないし
0117デフォルトの名無しさん
2009/04/18(土) 13:41:35無駄なもの読み込むか、それを嫌って結局一つずつ読み込むことになりそうだけど
>>114
昔のgemみたいに低スペックマシンでまともに動かないものができあがるぞw
0118デフォルトの名無しさん
2009/04/18(土) 13:51:50俺も静的型付が好み。
Booにちょっと期待。
0119デフォルトの名無しさん
2009/04/18(土) 14:34:210120デフォルトの名無しさん
2009/04/18(土) 14:38:03http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/03/02.html
林氏:Cyanを着想したのは高校1年の春です。本当は高校1年のときにU-20 プロコンに応募しようと思ったのですが、
完成が間に合いませんでした。Cyanの開発言語はC#ですが、高校1年の夏休みの間はJavaで書いていました。
0121デフォルトの名無しさん
2009/04/18(土) 14:44:52コンピュータ界で3番目に遅いと称されるファイル読み書きの回数が減ることはいいことだと思う
ちなみに2番目が画面出力で、1番遅いのが人間の入力
0122デフォルトの名無しさん
2009/04/18(土) 14:53:24最後の行が「GUIじゃないと死んじゃう若い人に期待」とも読める件
0123デフォルトの名無しさん
2009/04/18(土) 14:55:29これが混ざったら世界がマジで変わるパラダイムシフトだ
0124デフォルトの名無しさん
2009/04/18(土) 16:46:13昨今はどこもかしこも開発端末と実行端末が別々でも問題ない状態にあると思う。
0125デフォルトの名無しさん
2009/04/18(土) 16:54:35俺はF#かな
Rubyでちょっと大きめのツール書いたとき動的の限界を感じた
遅いところを見つけては拡張ライブラリ化…を繰り返してると
不毛な気分になってくる
>>110の飽きた、という気持ちもなんとなく分かる
0126デフォルトの名無しさん
2009/04/18(土) 17:33:54http://redmine.ruby-lang.org/issues/show/1350
#1163のパッチ当ててほしいな。
activesupport-2.3.2のvendor.rbで
gem 'memcache-client', '>= 1.6.5'
とか書いてあるところが軒並アウト。
0127デフォルトの名無しさん
2009/04/18(土) 18:21:45お前は何のためにRubyを学んだのかと小一時間
0128デフォルトの名無しさん
2009/04/18(土) 19:08:06memcache-client以外は ~> だからとりあえずセーフだな。
0129デフォルトの名無しさん
2009/04/18(土) 19:11:40ファンだったってなんで過去形なの?
0130デフォルトの名無しさん
2009/04/18(土) 19:23:36日本語勉強中?
「そうだったのか!それは知らなかった」
この「だった」と同じ用法だけど、ニュアンス分かる?
0131デフォルトの名無しさん
2009/04/18(土) 19:26:300132デフォルトの名無しさん
2009/04/18(土) 19:29:380133デフォルトの名無しさん
2009/04/18(土) 20:00:02「た」は過去・完了・確認・存続の4つに分けられることになっているらしい。
「Ruby 1.9.1って安定版だったよね?」
これは確認の助動詞としての「った」だ。
0134デフォルトの名無しさん
2009/04/18(土) 20:42:360135デフォルトの名無しさん
2009/04/18(土) 20:49:12そう思うのはあなたが年をとって忘れっぽくなって昔を思い出せないだけ
0136デフォルトの名無しさん
2009/04/18(土) 21:10:250137デフォルトの名無しさん
2009/04/18(土) 21:19:230138デフォルトの名無しさん
2009/04/18(土) 21:47:30効果:ほかの呪文を連続でかけられるようになる
0139デフォルトの名無しさん
2009/04/19(日) 15:05:34r23208 でなかださんが当ててくれたっぽ。
0140デフォルトの名無しさん
2009/04/21(火) 13:51:42mona@2ch:~$ irb
irb(main):001:0> help "String"
NameError: undefined method `execute' for module `IRB::ExtendCommand::Help'
from (eval):4:in `instance_method'
from (eval):4:in `irb_help'
from (irb):1
from /home/mona/app/bin/irb:12:in `<main>'
irb(main):002:0>
0141デフォルトの名無しさん
2009/04/21(火) 13:58:22irb> help "String"
TypeError: invalid subclass
from /usr/lib/ruby/1.8/yaml.rb:133:in `transfer'
from /usr/lib/ruby/1.8/yaml.rb:133:in `node_import'
from /usr/lib/ruby/1.8/yaml.rb:133:in `load'
from /usr/lib/ruby/1.8/yaml.rb:133:in `load'
from /usr/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:72:in `deserialize'
from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:54:in `get_class'
from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:54:in `open'
from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:54:in `get_class'
from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in `each'
from /usr/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in `get_class'
from /usr/lib/ruby/1.8/rdoc/ri/ri_driver.rb:68:in `report_class_stuff'
from /usr/lib/ruby/1.8/rdoc/ri/ri_driver.rb:104:in `get_info_for'
from (eval):3:in `irb_help'
from (eval):9:in `send'
from (eval):9:in `help'
from (irb):1
from :0irb>
ぬう
0142デフォルトの名無しさん
2009/04/24(金) 17:23:580143デフォルトの名無しさん
2009/04/24(金) 17:55:480144デフォルトの名無しさん
2009/04/24(金) 18:18:070145デフォルトの名無しさん
2009/04/25(土) 10:50:38「くぬぎ」かと思った。
0146デフォルトの名無しさん
2009/04/28(火) 21:03:530147デフォルトの名無しさん
2009/04/28(火) 21:18:410148デフォルトの名無しさん
2009/04/29(水) 10:40:010149デフォルトの名無しさん
2009/04/29(水) 11:13:28あとは最近のruby-listのアーカイブを参照。
0150デフォルトの名無しさん
2009/04/30(木) 22:18:00ターゲットは脱初心者〜中級者ぐらいまでだろうと思われる
デザインパターンの概略・Rubyの基礎から始まり、GoFの一部をRuby流に解説、
その後Ruby特有のパターンについて
さすがピアソンだけあって悪くない
読んだ限りでは良解説で、変なことは書いてなかったと思う
ただ、もしかしたら上級者の方は物足りないと感じるかもしれない
0151デフォルトの名無しさん
2009/04/30(木) 22:30:13久しぶりに買ってみようかな
Amazonで見る限り、純粋なRubyのGoF本ってわけじゃないのだろうか
0152デフォルトの名無しさん
2009/05/01(金) 13:57:180153デフォルトの名無しさん
2009/05/01(金) 16:45:17どういまいちなの?
0154デフォルトの名無しさん
2009/05/01(金) 16:50:37Rubyで純粋なGoFって無駄多すぎじゃない?
0155デフォルトの名無しさん
2009/05/01(金) 17:03:190156デフォルトの名無しさん
2009/05/01(金) 17:13:20そうなんだけど、
「GoFにそってコーディングするとこうなるけど、
Rubyの機能(Singletonとかイテレーターとか)を使うとこうなります」
みたいな感じのもいいかなと思って。
Rubyのよさもわかるし、コーティングするのはRubyだけとは限らないし。
まあGoFをやりたかったら、Javaの本でも読めと言われればそうなんだが。
0157デフォルトの名無しさん
2009/05/01(金) 17:38:40余力があれば、Ruby 向けに書き直すのもよし。
0158デフォルトの名無しさん
2009/05/09(土) 18:03:41http://www.computerworld.jp/topics/osst/144809-2.html
0159デフォルトの名無しさん
2009/05/10(日) 08:55:54(旧リファレンスのような一括表示になってる)
るりまチームの人お疲れ様です
0160デフォルトの名無しさん
2009/05/12(火) 13:04:17end
を
if a <- foo
end
って書ける様にしてくれ。
イコールで代入とか全国の数学者が混乱するだろ。
0161デフォルトの名無しさん
2009/05/12(火) 13:08:130162デフォルトの名無しさん
2009/05/12(火) 13:32:320163デフォルトの名無しさん
2009/05/12(火) 14:24:35そういう文法の言語をお前が作れ
0164デフォルトの名無しさん
2009/05/12(火) 14:34:230165デフォルトの名無しさん
2009/05/12(火) 14:50:09その記法、俺には foo が a を参照している、という状態を表しているように見え、
代入という操作を表現しているようには見えない。
0166デフォルトの名無しさん
2009/05/12(火) 14:53:45a := foo
でいいよもう
0167デフォルトの名無しさん
2009/05/12(火) 15:01:17> イコールで代入とか全国の数学者が混乱するだろ。
だとしたら、この世に存在する殆ど全ての言語を作り直す必要が発生するね。
Cもそうだしネ!
ここは寧ろ混乱して困っている数学者氏にご登場願いたいくらいだ。
0168デフォルトの名無しさん
2009/05/12(火) 15:21:590169デフォルトの名無しさん
2009/05/12(火) 15:33:170170デフォルトの名無しさん
2009/05/12(火) 15:34:36四色定理の証明とか
0171デフォルトの名無しさん
2009/05/12(火) 15:53:04数学者は、むしろ適応早いと思うんだが
0172デフォルトの名無しさん
2009/05/12(火) 16:20:05なんでこんな無駄なこと書いてるんだ?
0173デフォルトの名無しさん
2009/05/12(火) 16:33:14自分の成功体験で「若し変数 a に foo を代入した結果が nil でないならば」と読み下せるからだろう
なんでわざわざ新しい言語を覚えようと思ったのかが理解不能だ
0174デフォルトの名無しさん
2009/05/12(火) 17:04:28if文ブロック内で、aがそのまま使えるからじゃね
0175デフォルトの名無しさん
2009/05/12(火) 18:03:110176デフォルトの名無しさん
2009/05/12(火) 18:28:160177デフォルトの名無しさん
2009/05/12(火) 18:31:57unless (a = foo).nil
は気持ち悪い
0178デフォルトの名無しさん
2009/05/12(火) 18:33:49と
if a == nil
を区別したいんだろ
0179デフォルトの名無しさん
2009/05/12(火) 18:41:31どう見ても素人まるだし
!= nil
== nil
Rubyでこんなこと書くやつはそうそういない
0180デフォルトの名無しさん
2009/05/12(火) 18:42:560181デフォルトの名無しさん
2009/05/12(火) 18:43:570182デフォルトの名無しさん
2009/05/12(火) 18:44:33RubyなんてPerlとかからの移行が多いんだから、普通に一杯いるだろ
0183デフォルトの名無しさん
2009/05/12(火) 18:44:450184デフォルトの名無しさん
2009/05/12(火) 18:51:32レスした奴まで素人扱いかよw
というか、その程度のことで素人認定するお前はRubyしか知らない素人なんじゃねーの?
0185デフォルトの名無しさん
2009/05/12(火) 19:12:010186デフォルトの名無しさん
2009/05/12(火) 20:20:11はまれに使うな
0187デフォルトの名無しさん
2009/05/12(火) 21:18:11ソースは言葉よりはるかに雄弁
あとやたら「w」つけるやつで優秀な奴はまずいない(おれ個人の経験則だが)
0188デフォルトの名無しさん
2009/05/12(火) 22:17:420189デフォルトの名無しさん
2009/05/13(水) 01:54:170190デフォルトの名無しさん
2009/05/14(木) 16:35:24fixtures :product
で product.yml でデータを products テーブルに投入しますが、
*_spec.rb を単発で実行するときはテストが通るけど、
rake test 等でまとめて実行するとき、Aという機能のspecファイルで :product を投入し、
次に Bという機能の specファイルで、:product というシンボル名だけど別のディレクトリにある product.yml を
投入したいのですが、名前が同じだと2回目は読んでくれないようです。
言い方を変えると、describe ごとに fixtures で入れたデータをロールバックしてほしい
spec_helper.rb で
config.use_transactional_fixtures = true
を falseにすると、ロールバックされるようになったが、逆にテストメソッドの中で実行した insert や delete は
コミットされるようになってしまった
0191デフォルトの名無しさん
2009/05/15(金) 17:00:04別のディレクトリにあるproduct.ymlっていうのがよくわからない。
AとBで読み込んでるfixtureは同じじゃないのか?
とりあえずfixtureを読み直してくれないという意味で捕えるけど
データベースエンジンがMySQLのMyISAMだったらロールバックしない。
InnoDBだったらロールバックするよ。
fixtureを読み直したりはしてないんじゃないかね。
ロールバックよりは遅そうだし。
0192デフォルトの名無しさん
2009/05/15(金) 18:29:38> 別のディレクトリにあるproduct.ymlっていうのがよくわからない。
> AとBで読み込んでるfixtureは同じじゃないのか?
たとえば Rails で二つコントローラがあって、
RAILS_ROOT/app/controllers/foo_controller.rb
RAILS_ROOT/app/controllers/bar_controller.rb
それぞれの spec ファイルは以下の通り。
RAILS_ROOT/spec/controllers/foo_controller_spec.rb
RAILS_ROOT/spec/controllers/bar_controller_spec.rb
それぞれの spec で異なるテストデータを使いたいので、以下のようにfixtureのymlファイルを配置し、
RAILS_ROOT/spec/fixtures/controllers/foo/product.yml
RAILS_ROOT/spec/fixtures/controllers/bar/product.yml
それぞれのスペックファイルの describe の先頭で、以下のようにやっています。
self.fixture_path = RAILS_ROOT + '/spec/fixtures/controllers/foo/'
fixtures :product
0193192の続き
2009/05/15(金) 18:30:02> データベースエンジンがMySQLのMyISAMだったらロールバックしない。
> InnoDBだったらロールバックするよ。
こちらでも MySQL を使っていて、InnoDBです。
で、テストを動かす前にテーブルの中身を全て truncate した後、テストを動かして、
もう一度テーブルの中身を覗くと、fixture でいれたデータが残っている。
自分のビジネスロジックで insert したり delete したトランザクションはロールバックされるようです。
spec_helper.rb では以下のようにしています。
config.use_transactional_fixtures = true
config.use_instantiated_fixtures = false
私が思うに、fixtures :product のシンボル名でキャッシュするようで、
foo_controller_spec.rb が動いた後、 bar_controller_spec.rb が動くときに、
bar_controller_spec.rb で指定した fixture :product が再読込されないようです。
だから spec コマンドで foo_controller_spec.rb や bar_controller_spec.rb を
単発で動かすときはきちんとテストが通るけど、rake spec してテストを全て実行した場合、
bar_controller_spec.rb のテストが失敗する。これを何とかしたい。
lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/fixtures.rb に
reset_cache というクラスメソッドを見つけたが、*_spec.rb の中に
Fixtures.reset_cache と書いてもうまくいかなかった。
みなさんは、rake spec して全部のテストを通すとき、全ての spec ファイルで
整合性がとれるような fixture のテストデータを用意しているのでしょうか?
0194デフォルトの名無しさん
2009/05/16(土) 12:36:460195デフォルトの名無しさん
2009/05/16(土) 13:06:080196デフォルトの名無しさん
2009/05/17(日) 20:48:00だせえなあ
0197デフォルトの名無しさん
2009/05/17(日) 22:18:52漏れはPerl使ってたら、研究室の先生にRubyを猛プッシュされたからなんだけど。
ちょうどPerlになんか嫌気がさしてたころだったし。
0198デフォルトの名無しさん
2009/05/17(日) 22:56:32キモかったので渋々使うようになりました。
0199デフォルトの名無しさん
2009/05/17(日) 23:00:11ないもんかなーと思いはじめた頃にPerl5が登場して、似非OOできるように
なった。少し遅れてPythonを知り習得。selfのウザさとスコープの貧弱さに
面倒を感じはじめた頃にRubyがfjで発表され、飛びついた。
0200デフォルトの名無しさん
2009/05/17(日) 23:35:43仕事ならまあ仕方ないんだろうけど。
>>199さんはRubyへの飛びつきはええw
0201デフォルトの名無しさん
2009/05/17(日) 23:46:010202デフォルトの名無しさん
2009/05/18(月) 00:27:11Perl4->Perl5->Ruby
0203デフォルトの名無しさん
2009/05/18(月) 19:22:37かなり俺の心に深い傷となって残ったようだ。
0204デフォルトの名無しさん
2009/05/19(火) 11:17:200205デフォルトの名無しさん
2009/05/19(火) 13:00:330206デフォルトの名無しさん
2009/05/19(火) 13:11:15他にすることもあるだろうしRubyコミュニティにかまけてばかりでもなかんべ
0207デフォルトの名無しさん
2009/05/19(火) 15:34:540208デフォルトの名無しさん
2009/05/19(火) 21:30:19http://www.amazon.co.jp/exec/obidos/ASIN/4822234312/
この表紙Matzはどう思ったかなw
0209デフォルトの名無しさん
2009/05/19(火) 21:33:070210デフォルトの名無しさん
2009/05/19(火) 21:36:110211デフォルトの名無しさん
2009/05/19(火) 22:03:07http://twitter.com/yukihiro_matz/status/1834174414
0212デフォルトの名無しさん
2009/05/19(火) 23:12:31よく言えば、やり手の経営立て直し屋だな
0213デフォルトの名無しさん
2009/05/20(水) 00:48:50なんでですかね?
0214デフォルトの名無しさん
2009/05/20(水) 00:51:14「タプルしたい」とは?
「できない」とは?
タプルという言葉はわかる。
0215デフォルトの名無しさん
2009/05/20(水) 00:58:19h = {'a'=>'aaa', 'b'=>'bbb'}
h.each do |t|
p t #=> ['a', 'aaa'] ...
end
こういうこと?違うならkwsk
0216デフォルトの名無しさん
2009/05/20(水) 09:15:19それだとキーだけじゃないだろ。
Hash#keysじゃないかとESP。
0217デフォルトの名無しさん
2009/05/20(水) 15:06:120218デフォルトの名無しさん
2009/05/20(水) 16:35:45推測で言うと100年経っても付かない方に10**20 ZWD。
…と思ったら今流通してないのか、ZWD。
0219デフォルトの名無しさん
2009/05/21(木) 09:04:07最初の1つを除いた残りを配列作らずにイテレーションしたい場合、
どう書いたらいいですか
Lisp の cdr 的な何かというか
drop(1) の Enumerator 版? でも enum_for(:drop, 1) はダメだし、
each_cons(2) {|_, i| ... } とかかなあ
0220デフォルトの名無しさん
2009/05/21(木) 09:38:550221デフォルトの名無しさん
2009/05/21(木) 09:41:210222デフォルトの名無しさん
2009/05/21(木) 13:14:540223デフォルトの名無しさん
2009/05/21(木) 17:15:00今どこがまともじゃなくて、どうなるとまともになるの?
0224デフォルトの名無しさん
2009/05/21(木) 18:41:03何を提供されてもまともなものなんて一つも作れない
0225デフォルトの名無しさん
2009/05/21(木) 19:54:42Rubyユーザーがあんまり計算量のこと考えてないのはわかった
>>220
それは違うだろ
Enumerable#first は配列でなくても使えるわけで
しかしEnumerableのメソッドってブロックの有無で
イテレートor配列返す、イテレートorEnumerator返す、ブロック無視して値を返す
とバラバラなんだな…
0226デフォルトの名無しさん
2009/05/21(木) 20:19:19どのように計算量的に良いのか説明してもらおうか。
0227デフォルトの名無しさん
2009/05/21(木) 20:19:22IFで分岐させるなり読み飛ばすなりするのはコストが高いと考えてるのか?
0228デフォルトの名無しさん
2009/05/21(木) 20:30:150229デフォルトの名無しさん
2009/05/21(木) 20:41:49そんだけ回せるのかどうかは置いておいて・・
全部やっちゃって最初の1回を捨てろよw
0230デフォルトの名無しさん
2009/05/21(木) 21:00:23http://www.amazon.co.jp/gp/product/4863540221/
0231デフォルトの名無しさん
2009/05/21(木) 21:28:450232デフォルトの名無しさん
2009/05/21(木) 21:34:540233デフォルトの名無しさん
2009/05/21(木) 21:55:24試してみたの?この手のコストなんて、
ネットワークやディスクアクセス(特にランダムアクセス)に比べたら無視できる程度だよ。
あと描画もコストが高いね。3Dに比べれば2Dは低いけど、それでも相当。
0234デフォルトの名無しさん
2009/05/21(木) 21:55:39puts begin_time = Time.now
increase = 0
1.upto(100000000) do |index|
#if index == 1 then
# puts 'start'
#else
increase += 1
#end
end
puts "result:#{increase}"
puts end_time = Time.now
puts (end_time - begin_time)
コメントなしはIFあり、コメントありはIF文なしになる
0235デフォルトの名無しさん
2009/05/21(木) 21:56:01■IF文あり
2009-05-21 21:39:23 +0900
start
result:99999999
2009-05-21 21:39:31 +0900
8.213671268 ***** ここ *****
2009-05-21 21:39:33 +0900
start
result:99999999
2009-05-21 21:39:41 +0900
8.093124567 ***** ここ *****
2009-05-21 21:39:43 +0900
start
result:99999999
2009-05-21 21:39:51 +0900
7.639575222 ***** ここ *****
2009-05-21 21:39:53 +0900
start
result:99999999
2009-05-21 21:40:01 +0900
7.589390724 ***** ここ *****
2009-05-21 21:40:06 +0900
start
result:99999999
2009-05-21 21:40:13 +0900
7.058708883 ***** ここ *****
0236デフォルトの名無しさん
2009/05/21(木) 21:56:132009-05-21 21:40:33 +0900
result:100000000
2009-05-21 21:40:40 +0900
7.123794219 ***** ここ *****
2009-05-21 21:40:43 +0900
result:100000000
2009-05-21 21:40:50 +0900
7.459420084 ***** ここ *****
2009-05-21 21:40:53 +0900
result:100000000
2009-05-21 21:40:59 +0900
6.4174587 ***** ここ *****
2009-05-21 21:41:04 +0900
result:100000000
2009-05-21 21:41:11 +0900
6.222126519 ***** ここ *****
2009-05-21 21:41:13 +0900
result:100000000
2009-05-21 21:41:19 +0900
5.950009081 ***** ここ *****
0237デフォルトの名無しさん
2009/05/21(木) 21:57:061億ループでIF文あるなしは、1秒ほど差が出る
(おれ環境では。メモリ1G割り当てのVirtualBoxでCentOS利用。Ruby1.9.1。別件でEclipseも立ち上げてた)
これが許容できなかったらRubyはやめた方がいい。
3000万ループとかコンピュータにとってはそれほど大したことないから。
3000万がものすごいっていうのは日常の感覚だから、感覚を修正した方がいいよ。
0238デフォルトの名無しさん
2009/05/21(木) 22:02:050239デフォルトの名無しさん
2009/05/21(木) 22:04:113000万ってどっから出てきたんだ?
0240デフォルトの名無しさん
2009/05/21(木) 22:09:29おっと、すまん。「億回」かよ。
「億」にするなら「兆」にしてくれ。
それならRubyを使うことの方がおかしいと思う。
0241デフォルトの名無しさん
2009/05/21(木) 22:21:43今調べた。便利なものを教えてもらった。サンクス
0242デフォルトの名無しさん
2009/05/21(木) 22:27:551日で86400秒なのに分散処理したとしてもどんだけかかんのよw
0243デフォルトの名無しさん
2009/05/21(木) 22:30:44秒って
0244デフォルトの名無しさん
2009/05/21(木) 22:32:300245デフォルトの名無しさん
2009/05/21(木) 22:36:36むしろ、それだけループさせるデータの、最初の特別な一つに
なりうる何かに非常に興味がある。
0246デフォルトの名無しさん
2009/05/21(木) 22:45:04enum.inject {|_, x| ... }
というのを思いついた
0247デフォルトの名無しさん
2009/05/21(木) 23:06:530248デフォルトの名無しさん
2009/05/21(木) 23:47:23それはCSVファイルでタイトル行とかだろ
0249デフォルトの名無しさん
2009/05/21(木) 23:51:15スクリプト言語って効率気にしたら負けだから、
仮にそうなら open('|sed 1d < hoge') とかしちゃいそうな俺。
0250デフォルトの名無しさん
2009/05/22(金) 00:01:02一レコード10byteとして、30PBのCSVファイルとか
おそらくいままで存在したこと無いと思う
俺の世界が狭いのか
0251デフォルトの名無しさん
2009/05/22(金) 00:03:29RISCとかCISCとかはもう死語か。ボトルネックとかも死語かもな
クロック数だけならPen4系のCeleronでも最新のマシンと遜色ないな
0252デフォルトの名無しさん
2009/05/22(金) 00:05:49じゃないことは皆知ってるはずだが。時間で測るのが一番信頼できる。
0253デフォルトの名無しさん
2009/05/22(金) 00:17:46最初レスしたやつはさくっと「next if 〜」とかやって寝てるんだろうな
0254デフォルトの名無しさん
2009/05/22(金) 00:25:50> でも enum_for(:drop, 1) はダメだし、
ダメってどういう意味で?
0255デフォルトの名無しさん
2009/05/22(金) 00:32:350256デフォルトの名無しさん
2009/05/22(金) 01:48:240257デフォルトの名無しさん
2009/05/22(金) 01:51:090258デフォルトの名無しさん
2009/05/22(金) 03:47:52メソッドが増えて行ってるような気がしないでもない
>>254
drop(1) がイテレータメソッドじゃないからかと。
実際に (1..10).enum_for(:drop, 1).to_a とかやってみればわかる。
つか、Enumerable にブロックつき slice があればいいんじゃね?
0259デフォルトの名無しさん
2009/05/22(金) 23:54:10これでOK?
a = (1..10**8).map
#if index == 1 then
# a.next
#end
increase = 0
puts begin_time = Time.now
begin
while a.next
increase += 1
end
rescue
puts end_time = Time.now
puts (end_time - begin_time)
puts "result:#{increase}"
end
0260デフォルトの名無しさん
2009/05/23(土) 00:59:56遅そうだなと思って試したら2分ほどかかるね。こうした意味はなんなの?
0261デフォルトの名無しさん
2009/05/23(土) 15:34:21http://tsushima.2ch.net/test/read.cgi/newsplus/1243005492/1
(´・ω・) カワイソス
0262デフォルトの名無しさん
2009/05/23(土) 15:38:22意味不明
Rubyとその島根?っていう県は関係ないだろ
Ruby関係でその島根っていう県のことを聞いた記憶は全くない
0263デフォルトの名無しさん
2009/05/23(土) 15:42:12島根? とかいらん
島根だ
0264デフォルトの名無しさん
2009/05/23(土) 15:43:41思いますので、勉強をお勧めいたします。
0265デフォルトの名無しさん
2009/05/23(土) 15:49:13島根の自演乙
特に>>264は他人に島根を強制する前に日本語を学べ
0266デフォルトの名無しさん
2009/05/23(土) 15:53:390267デフォルトの名無しさん
2009/05/23(土) 16:01:440268デフォルトの名無しさん
2009/05/23(土) 16:04:12> 他人に島根を強制
美しい日本語乙w
0269デフォルトの名無しさん
2009/05/23(土) 17:45:20覚えてないやつの方が異常。
0270デフォルトの名無しさん
2009/05/23(土) 17:50:140271デフォルトの名無しさん
2009/05/23(土) 17:52:070272デフォルトの名無しさん
2009/05/23(土) 17:58:260273デフォルトの名無しさん
2009/05/23(土) 18:00:140274デフォルトの名無しさん
2009/05/23(土) 18:01:480275デフォルトの名無しさん
2009/05/23(土) 18:23:070276デフォルトの名無しさん
2009/05/23(土) 18:30:35えらく高度なネタだと思うが、本当に世代のせいだけか?w
0277デフォルトの名無しさん
2009/05/23(土) 18:42:04結局あれどうなったんだ
0278デフォルトの名無しさん
2009/05/23(土) 18:56:08うへえおっかねえ
0279デフォルトの名無しさん
2009/05/23(土) 19:02:170280デフォルトの名無しさん
2009/05/23(土) 19:06:380281デフォルトの名無しさん
2009/05/23(土) 19:07:58確かどっちかが作者の出身県でどっちかが住んでる県でどっちかが自治体で推進してるんだったはず
0282デフォルトの名無しさん
2009/05/23(土) 20:30:23鳥取と島根、荻原と萩原は、どっちで呼んでも、
正しいってことにしました。
0283デフォルトの名無しさん
2009/05/23(土) 20:57:130284デフォルトの名無しさん
2009/05/23(土) 21:00:34出雲大社とか宍道湖とか玉造温泉とか加茂岩倉遺跡とか石見銀山とかある方が島根で、
・・・えーっと、梨とか西瓜とかで有名なのが鳥取だからなw
0285デフォルトの名無しさん
2009/05/23(土) 21:32:560286デフォルトの名無しさん
2009/05/23(土) 21:50:060287デフォルトの名無しさん
2009/05/23(土) 21:55:30口をきこうな>島根
0288デフォルトの名無しさん
2009/05/23(土) 21:58:24はい、この話題は終わり。
0289デフォルトの名無しさん
2009/05/24(日) 00:02:30Ruby使って何か面白いことできないかな
0290デフォルトの名無しさん
2009/05/24(日) 03:59:07map じゃなくて each の間違いかな
0291デフォルトの名無しさん
2009/05/26(火) 00:16:560292デフォルトの名無しさん
2009/05/26(火) 12:09:31ww
Linusみたいな自伝書くしか
0293デフォルトの名無しさん
2009/05/26(火) 16:08:46CGI 用途舐めると痛い目見るよシュッシュだよシュッシュ
0294デフォルトの名無しさん
2009/05/26(火) 16:15:27報告あったのずいぶん昔だし 1.0.0 で直ってんじゃねえの
0295デフォルトの名無しさん
2009/05/26(火) 20:43:300296デフォルトの名無しさん
2009/05/26(火) 20:45:130297デフォルトの名無しさん
2009/05/26(火) 20:52:280298デフォルトの名無しさん
2009/05/26(火) 20:53:58http://www.oreilly.co.jp/community/blog/2009/05/changes-on-ruby-1-9.html
1.9を実用してる人って今、この宇宙のどこかに一人でもいるんだろうか?
0299デフォルトの名無しさん
2009/05/26(火) 20:57:16そのままじゃないか?
0300デフォルトの名無しさん
2009/05/26(火) 20:58:190301デフォルトの名無しさん
2009/05/26(火) 20:59:510302デフォルトの名無しさん
2009/05/26(火) 21:02:00100.times{
x = 100
}
p x
これが 100 で
100.times{
x = 100
}
p x
これが NameError (つまり x 未定義)なのがヘボいってことだろうな
0303デフォルトの名無しさん
2009/05/26(火) 21:11:290304デフォルトの名無しさん
2009/05/26(火) 21:24:52NameErrorにならん方が気持ち悪いと思うんだが。
スコープを理解してないだけじゃねえの?
0305デフォルトの名無しさん
2009/05/26(火) 21:26:550306デフォルトの名無しさん
2009/05/26(火) 21:30:010307デフォルトの名無しさん
2009/05/26(火) 21:43:23これは実装上の都合なの?
実装的にはどっちも簡単に出来るけど
仕様はこうあるべきという判断でこの挙動になってるの?
0308デフォルトの名無しさん
2009/05/26(火) 21:46:05わからなけりゃCのスコープ勉強しろって。
0309デフォルトの名無しさん
2009/05/26(火) 21:46:06たまにこのNameErrorでハマることはあるし、不満ではあるけど
これって何かいい解決方法あるの?
(まだCとRubyしか触ったことないから、他の言語がどうやってるのかよく知らないんだが)
0310デフォルトの名無しさん
2009/05/26(火) 21:48:030311デフォルトの名無しさん
2009/05/26(火) 21:50:54勘違いしたって素直に言えばいいのに
0312デフォルトの名無しさん
2009/05/26(火) 21:51:36外側の環境にその名前を束縛しておくこと、つまり>>302の前者が一番無難
0313デフォルトの名無しさん
2009/05/26(火) 21:54:43・ 前者は100を返し、後者も100を返す
やっぱどっちかで統一されてたほうが見た目わかりやすいよな
0314デフォルトの名無しさん
2009/05/26(火) 21:58:30片付けられる、みたいなイメージを後者からは受ける
ので NameError がいい
0315デフォルトの名無しさん
2009/05/26(火) 22:12:07前者が100になるってやっぱりおかしいだろ
素直にメソッド作れって話ではあるんだけどさ
0316デフォルトの名無しさん
2009/05/26(火) 22:16:56ブロック内でブロック外と同名のローカル変数を定義した場合の動作が変ということであって、
そのへんを下手にいじると
h = Hash.new
data.each do |e|
h[e] = make_value(e)
end
このタイプの処理ができなくなるぞ
0317デフォルトの名無しさん
2009/05/26(火) 22:19:42x = 0
100.times{|; x|
x = 100
}
p x #=> 0
1.9でその辺が直された。
0318デフォルトの名無しさん
2009/05/26(火) 22:19:43Rubyが有名になり始めたころに海外で議論されてたような気がする
0319デフォルトの名無しさん
2009/05/26(火) 22:20:540320デフォルトの名無しさん
2009/05/26(火) 22:21:57ブロックがサブルーチンのように使われてることもあるってことじゃね
0321デフォルトの名無しさん
2009/05/26(火) 22:27:49>>298
> グローバル変数を置こうとするともうダメ。
> これまではオブジェクトの属性に代入できたり、配列のスライスを呼び出せたのも、できなくなりました。
こういうのをブロックパラメータでどうにかするって具体的にどんな処理?
0322デフォルトの名無しさん
2009/05/26(火) 22:42:301..10 | %{ $a += $_ }
$a
55
やっぱこれが直感的かつ自然だな
0323デフォルトの名無しさん
2009/05/26(火) 23:45:46一緒くたに扱ってしまうのが、統一感もあって一番いいんじゃないだろうか
つまり>>313でいう
>・ 前者は100を返し、後者も100を返す
の動作
ブロックローカルなスコープがないと困る場合って、どんな場合があるだろう
0324デフォルトの名無しさん
2009/05/26(火) 23:51:020325デフォルトの名無しさん
2009/05/27(水) 00:04:11普段どんなコード書いてるんだ?と勘ぐってしまう。
0326デフォルトの名無しさん
2009/05/27(水) 00:11:30並列に動かそうとすると悲惨なことになりそうだ
0327デフォルトの名無しさん
2009/05/27(水) 00:36:53こんなの
require 'optparse'
require 'ostruct'
opt = OptionParser.new
opt.on('-v') {|$verbose| }
o = OpenStruct.new
opt.on('-f') {|o.force| }
0328デフォルトの名無しさん
2009/05/27(水) 01:28:570329デフォルトの名無しさん
2009/05/27(水) 04:58:24吐いた
0330デフォルトの名無しさん
2009/05/27(水) 05:08:230331デフォルトの名無しさん
2009/05/27(水) 05:52:57$ cat public_html/cgi-bin/test.cgi
#!/usr/local/bin/ruby -Ku
# -*- mode: ruby; coding: utf-8 -*-
require 'rubygems'
require 'sinatra'
Rack::Handler.register 'Webrick', 'Rack::Handler::WEBrick' # damn
set(:run => false, :environment => :cgi)
get '' do
"hello!"
end
Rack::Handler::CGI.run Sinatra::Application
$ w3m http://localhost/~my/cgi-bin/test.cgi
$ sudo tail -n 2 /var/log/apache2/error.log
Errno::ESPIPE - Illegal seek:
/home/my/public_html/cgi-bin/test.cgi:14127.0.0.1 - - [27/May/2009 05:47:25] "GET HTTP/1.0" 500 30 0.0072
0332デフォルトの名無しさん
2009/05/27(水) 06:43:25ブロックローカルな変数って、(ブロックパラメータ以外で)そんなに必要になることある?
>>325
別に忌み嫌ってはないし、今でもそれほど困っているわけではない
でも統一感がないように感じるのは確か
覚えたての頃にはよくハマったしな
0333デフォルトの名無しさん
2009/05/27(水) 08:06:44クロージャにならないじゃんw
そんなことしたらブロック付き呼び出しっていう Ruby の利点が
完全に死ぬだろ
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?Closure
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3
0334333
2009/05/27(水) 08:08:24そんなこと=ブロックが外側のローカル変数を参照することを禁止しちゃう
0335デフォルトの名無しさん
2009/05/27(水) 08:25:36何を見てこの結論になったの?
0336デフォルトの名無しさん
2009/05/27(水) 08:31:28Rack1.0.0 のほうでは直したって言ってるけど、 Rack1.0.0 を利用するライブラリ経由では直ってないってとこらしいな
0337デフォルトの名無しさん
2009/05/27(水) 12:31:28作業用の一時変数
0338デフォルトの名無しさん
2009/05/27(水) 18:13:490339デフォルトの名無しさん
2009/05/27(水) 18:26:210340デフォルトの名無しさん
2009/05/27(水) 18:36:47変数のスコープ制限なんていらんよ、そりゃあね
0341デフォルトの名無しさん
2009/05/27(水) 18:42:080342デフォルトの名無しさん
2009/05/27(水) 20:00:29../x
ですべて解決
0343デフォルトの名無しさん
2009/05/27(水) 20:36:220344デフォルトの名無しさん
2009/05/27(水) 21:04:400345デフォルトの名無しさん
2009/05/27(水) 21:08:00ブロックを深くした場合はすべて ../ を追加してくのか?
というかruby-coreあたりで散々あきるほど議論された話で、
>>342に類するものも当然出ている。
文法論議をしたいならruby-devとruby-core位は全読してから出直せってことだ。
0346デフォルトの名無しさん
2009/05/27(水) 21:20:120347デフォルトの名無しさん
2009/05/27(水) 21:45:37ハードル高けーよ。
0348デフォルトの名無しさん
2009/05/27(水) 23:01:310349デフォルトの名無しさん
2009/05/27(水) 23:07:520350デフォルトの名無しさん
2009/05/27(水) 23:08:43例外はCOBOLとかBASICとか?
0351デフォルトの名無しさん
2009/05/27(水) 23:13:41javascriptも関数ローカルまでしか実装してないはず。
0352デフォルトの名無しさん
2009/05/27(水) 23:17:520353デフォルトの名無しさん
2009/05/28(木) 07:54:160354デフォルトの名無しさん
2009/05/28(木) 10:20:32「驚き最小の法則に反する」と断言して問題ない珍しい例だ。
0355デフォルトの名無しさん
2009/05/28(木) 10:45:39ただ、ブロック外にある変数と同じ名前の場合はそれが再利用されるだけ
a = 0
[1,2,3].each{|a| a}
p a #=> 3
[1,2,3].each{|b| b}
p b #=> NameError
これが適用されない「独立した」スコープになるendつき構造はメソッド定義とクラス定義くらい
メソッド定義とクラス定義(とモジュール定義)の終端は end 以外にしたほうが
スコープ区別的によかったんじゃねーかという話は思い出したように聞く
0356デフォルトの名無しさん
2009/05/28(木) 10:55:21(あえて、forの一時変数$aの my を省略してみた場合)
んで、Rubyでこれをすると具合が悪いのだろうか。
詳しい人解説してくれたら嬉しい
#! perl
use strict;
use warnings;
my $a = 'a';
my $b = 'b';
for $a (1..10){ # ← ここの$aがよくわからん(自動的にmy?)
print $a, "\n"; #=> 1, 2, 3, ...
print $b, "\n"; #=> 'b'
}
print $a, "\n"; #=> 'a'
print $b, "\n"; #=> 'b'
0357デフォルトの名無しさん
2009/05/28(木) 11:07:13ブロックの外の変数が読め、つまりはブロック内変数が共有されるが、ブロック内スコープは作らない(if)
ブロックに見かけが似ているがブロックではないのでブロック外は読めずブロック内スコープのみ(def)
まあめんどくさいっちゃめんどくさい
0358デフォルトの名無しさん
2009/05/28(木) 11:12:29何十年前からの使者か知らんが
ttp://www.geocities.jp/KY_webid/c/022.html
0359デフォルトの名無しさん
2009/05/28(木) 11:15:510360デフォルトの名無しさん
2009/05/28(木) 11:18:05これこそ完璧な驚愕最小の仕様!と言い張るから絡まれるだけという気がしてきた。
問答無用で覚えろ。とだけ言っておけばいいんだよ。
0361デフォルトの名無しさん
2009/05/28(木) 11:18:57「従来言語の○○に見えるが実は全く違う××で実装されておりそれゆえ挙動も微妙に違う」
というのがどうにも多い
最初からフェイスフルオープンで教えられれば違うものの擬態だと認識できるのかもしれないけど
「いわゆる○○ですよー」と教えた後で「でも実はちょっと違います」というのはまあ若干卑怯っぽくもあり
0362デフォルトの名無しさん
2009/05/28(木) 11:20:12驚き最小うんちゃらーは物凄く昔に破棄された概念です
0363デフォルトの名無しさん
2009/05/28(木) 12:23:310364デフォルトの名無しさん
2009/05/28(木) 12:25:180365デフォルトの名無しさん
2009/05/28(木) 13:09:44それも破棄された?
0366デフォルトの名無しさん
2009/05/28(木) 19:54:25話が噛み合なくて当然。
0367デフォルトの名無しさん
2009/05/28(木) 21:17:07ttp://d.hatena.ne.jp/elm200/20071006/1191661248 を実行してセルの内容を
取得しようとしていますがエラーになります(下記)。
C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require':
no such file to load -- win32/clipboard (LoadError)
from C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
目的は、上記HPにあるように
a\tb\r\n
c\t\d\r\n
の形での(タブ区切りか何かの形での)取得です。 ※特にHPの記述に拘りません。
現在のところ、下記の方法で列の取得は成功しております。
require 'win32ole'
xl = WIN32OLE.new('Excel.Application')
fso = WIN32OLE.new('Scripting.FileSystemObject')
book = xl.Workbooks.Open(fso.GetAbsolutePathName("Book1.xls"))
sheet = book.Worksheets(1)
cells = sheet.Range("A1:A5") # セルA1〜A5を取得
cells.each {|cell|
puts cell.Value
}
0368デフォルトの名無しさん
2009/05/28(木) 21:36:29あと初心者スレっぽいです。
Ruby 初心者スレッド Part 28
http://pc12.2ch.net/test/read.cgi/tech/1242436010/
0369デフォルトの名無しさん
2009/05/28(木) 21:54:13Thx
0370デフォルトの名無しさん
2009/05/28(木) 22:15:380371デフォルトの名無しさん
2009/05/28(木) 22:39:380372デフォルトの名無しさん
2009/05/28(木) 22:47:56そうか。外人にはnokogiriは覚えにくいのかw
0373デフォルトの名無しさん
2009/05/28(木) 23:02:44nokogiriが憶えられないってこともあるまいに
きっと趣味だろ。そのうち萌えキャラになるに違いない
0374デフォルトの名無しさん
2009/05/28(木) 23:18:54いめーじきゃら?
ttp://www.h4.dion.ne.jp/~acetone/display%20kotonoha.html
0375デフォルトの名無しさん
2009/05/29(金) 01:05:240376デフォルトの名無しさん
2009/05/29(金) 05:34:13ぶっちゃけnokogiriもこれでいいんじゃないか?
0377デフォルトの名無しさん
2009/05/29(金) 08:57:31日本のnokogiriだという紹介が一般的になりまくればそう思ってもらえるはず
(子音+母音)+(子音+母音)+(子音+母音)+(子音+母音) だからこれもしかして日本語なんじゃね、
という推測ができるのはマニアだけ
0378デフォルトの名無しさん
2009/05/29(金) 09:54:51日本語とか関係ないし(むしろ日本人のほうがよく間違える)
0379デフォルトの名無しさん
2009/05/29(金) 10:00:210380デフォルトの名無しさん
2009/05/29(金) 11:10:54前にどこかで見て ??? だった記憶がある
0381デフォルトの名無しさん
2009/05/29(金) 11:41:58ほんとに nokogiri って読みにくいし、言いにくいみたいだぞ
証拠映像(1:40〜を参照)
http://www.youtube.com/watch?v=4OCm8eBvEPU
0382デフォルトの名無しさん
2009/05/29(金) 11:58:20フランク・シナトラが出てくるSinatraよりはマシだが
0383デフォルトの名無しさん
2009/05/29(金) 12:01:33RubiとかRubieとかShimaneとかの実在しないようなものにすればよかったのに
0384デフォルトの名無しさん
2009/05/29(金) 12:56:590385デフォルトの名無しさん
2009/05/29(金) 13:00:190386デフォルトの名無しさん
2009/05/29(金) 13:03:06http://groups.google.co.jp/group/ruby-talk-google/browse_thread/thread/bb844b018c126ca8
しっかり漢字で書いてる。
まぁ中国語と思われたり、そもそも漢字と認識できてなかったりというのも多そうだが。
0387デフォルトの名無しさん
2009/05/29(金) 13:10:27いやNokogiri作者が日本語をカタコトで知っているのは知ってるし
MLに誰も望んでなゲフ折に触れたメールを作者が流してるのも知ってる
Nokogiriを使う人がNokogiriを日本語だと思ってないんじゃねーかなーという話だ
0388デフォルトの名無しさん
2009/05/29(金) 13:10:540389デフォルトの名無しさん
2009/05/29(金) 13:12:17そういや米子だったな。
あらかじめいっとくと、米子は鳥取県で鳥取は島根の右、兵庫の左、岡山の上だ
0390デフォルトの名無しさん
2009/05/29(金) 13:24:25島根じゃないのが鳥取と覚えておくだけで十分。
0391デフォルトの名無しさん
2009/05/29(金) 13:32:48山陰ワールドの中では米子とか津山は、トーキョー、ニューヨーク並みの
大都会だから。
0392デフォルトの名無しさん
2009/05/29(金) 13:44:120393デフォルトの名無しさん
2009/05/29(金) 14:09:53お前は俺か
0394デフォルトの名無しさん
2009/05/29(金) 15:47:44たぶん津山の人は山陰扱いされるのを嫌がると思う。
どう見ても山陽ではないけど。
0395デフォルトの名無しさん
2009/05/29(金) 16:11:40普通入ってない。外国人が大勢いる対都市圏のネットカフェなら結構入ってる。
0396デフォルトの名無しさん
2009/05/29(金) 16:14:18ノコギリなのか、ノコジリなのかわかんなかったんじゃないかな。
0397デフォルトの名無しさん
2009/05/29(金) 18:09:29山間だろ
0398デフォルトの名無しさん
2009/05/29(金) 23:00:43↑のサイトに自動でID、パスワードを入力して
ログインする処理を行いたいのですが、どうすれば
よいのでしょうか?色々検索してhttpclientやopen-uriで
試行錯誤してみたのですが、ダメでした。
やりたいこととしては、みんなの就職活動日記という
サイトから書き込みを検索&抽出をしたいです。
しかしそのためには上記のサイトにログインしなければ
いけないのです・・・
0399デフォルトの名無しさん
2009/05/29(金) 23:12:18HTTPのBASIC認証ならopen-uriで
:http_basic_authentication = [ user, password ]
オプションを付けるのが簡単。
ログインフォームなら、要求されているパラメータを付けてセッションクッキーを得るなどする。
HTTPSだが、ホスト証明書を検証するためには、
OpenSSL::X509::DEFAULT_CERT_FILE
で指されるパスにルート証明書を一式置いておく。
0400デフォルトの名無しさん
2009/05/29(金) 23:15:310401デフォルトの名無しさん
2009/05/29(金) 23:19:52すいません確認不足でした。
BASIC認証ではありません。
例えば、
http://www.nicovideo.jp/にアクセスしてログインしたあとで、マイページに
アクセスしてHTMLソースコードを取得するといったことがしたいです。
0402デフォルトの名無しさん
2009/05/29(金) 23:21:23FirefoxのLive HTTP Headersとかでブラウザと鯖のやりとりを見て真似すればいい
0403デフォルトの名無しさん
2009/05/29(金) 23:21:470404デフォルトの名無しさん
2009/05/29(金) 23:28:22Mechanize検索してみましたがなかなか良さそうですね
ためしてみます!
0405デフォルトの名無しさん
2009/05/30(土) 00:02:050406デフォルトの名無しさん
2009/05/30(土) 00:19:30テレ朝系が見れるのは、DAIGOのじっちゃのおかげだって、
ばっちゃが言ってた。
0407デフォルトの名無しさん
2009/05/30(土) 00:26:05Darkfish嫌いの俺としては非常に哀しい
やっぱり人気あるのかな、あれ
0408デフォルトの名無しさん
2009/05/30(土) 00:53:170409404
2009/05/30(土) 01:35:43require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
page = agent.get('https://www.nikki.ne.jp/?action=login')
p page.root
とかって色々試してみたけどドキュメントが取れない・・
誰か助けてください
0410デフォルトの名無しさん
2009/05/30(土) 02:18:400411デフォルトの名無しさん
2009/05/30(土) 02:28:50Railsのが一つだけ?
これでは汎用エロ動画収集スクリプトの名が泣くじゃないか
0412デフォルトの名無しさん
2009/05/30(土) 02:32:050413デフォルトの名無しさん
2009/05/30(土) 02:32:32ニコニコやgoogleで試した限りではできたのですが、
このサイトだけはできなかったんです。
問題を削っていった結果、>>409のagent.getの時点で取得出来ていないことが分かりました。
0414デフォルトの名無しさん
2009/05/30(土) 02:38:49これないと普通のブラウザでもはじかれるのだが。
0415デフォルトの名無しさん
2009/05/30(土) 03:25:45エロ画像ダウンローダを自作していて覚えたぞ。
気がついたら、超パフォーマンスの悪い HTML パーサーができあがっていた。
0416デフォルトの名無しさん
2009/05/30(土) 04:01:35それはエロパーサーだw
0417デフォルトの名無しさん
2009/05/30(土) 05:35:35動作のログを元に何かしようとして wget のログを読もうとするものの
読む方法がそもそもわからんなにこれというのもデフォだ
0418デフォルトの名無しさん
2009/05/30(土) 06:37:10WWW::Mechanizeは日本語の処理がうんこなので勧めたくないなあ
ASCII以外は基本化けるとかいつの時代のライブラリだよ
0419デフォルトの名無しさん
2009/05/30(土) 11:12:45代替があるなら教えてほしいのだが。
0420デフォルトの名無しさん
2009/05/30(土) 15:33:340421デフォルトの名無しさん
2009/05/30(土) 15:39:08全く導入してないなら個人ででも導入お勧め
0422デフォルトの名無しさん
2009/05/30(土) 16:28:260423デフォルトの名無しさん
2009/05/30(土) 16:40:09* プラットフォームは?
Debian以外は、いくつかテストが通らなくても構わないと明言されている。
0424デフォルトの名無しさん
2009/05/30(土) 16:50:250425デフォルトの名無しさん
2009/05/30(土) 21:44:24こちらの環境ではSERVICE_IDはあってもなくても関係ないようです。。
IEコンポーネントを用いて目的の機能は達成したものの、mechanizeの
便利さに感動したのでなんとかこれを使って目標を達成してみたい。。
0426デフォルトの名無しさん
2009/05/30(土) 22:03:41ttp://d.hatena.ne.jp/kitamomonga/20090307/ruby_mwchanize_0_9_2_out
HTML が内部で UTF-8 に勝手に変換されてるのを全く考慮せずに HTML パーサが動いてる
get や click や post した直後に毎回 agent.page.encoding="utf-8" しろ
次のバージョンの Mechanize では誤動作の原因になるが、ライブラリ作者が悪いと割り切っとけ
0427デフォルトの名無しさん
2009/05/30(土) 22:31:03なんか、その記事読んでたら使うのをちょっとためらうな。
まあHTTPヘッダのエンコード指定さえあれば問題なさそうに見えるけど
その次の記事の冒頭がイカしてる
(RubyのWWW::Mechanizeの次バージョン0.9.3とcharset)
> 迷走しまくって使用に支障があるレベル(穏当な表現)だった、Ruby の
> WWW::Mechanize ライブラリの charset と encoding の問題が解決に向かいます。
かなり入れこんでたんだなあw
0428デフォルトの名無しさん
2009/05/30(土) 22:42:04現状NKF.guess以外に選択肢は無いのか?
思ったよりこの辺進んでないのな
0429デフォルトの名無しさん
2009/05/30(土) 22:59:32数多あるエンコーディングから推測するのは無茶じゃなかろうか。
0430デフォルトの名無しさん
2009/05/31(日) 05:50:42> HTTPヘッダのエンコード指定さえあれば問題なさそう
つまり使い物にならないってことだな
0431デフォルトの名無しさん
2009/05/31(日) 06:26:21「クライアントは、HTML について文字エンコードの手がかりが何もないときは iso-8859-1 として処理をする」
というクライアントの仕事を
「サーバーは、charset トークンが空のときはとりあえず iso-8859-1 にセットして HTML を送出する」
というサーバの仕事に置き換えてしまった
とか言っていまどき charset を空にしてると XSS で引っかかるからなんか書け死ぬぞという話もあったな
めんどいのー
0432デフォルトの名無しさん
2009/05/31(日) 11:04:340433デフォルトの名無しさん
2009/05/31(日) 12:40:25The "charset" parameter is used with some media types to define the
character set (section 3.4) of the data. When no explicit charset
parameter is provided by the sender, media subtypes of the "text"
type are defined to have a default charset value of "ISO-8859-1" when
received via HTTP. Data in character sets other than "ISO-8859-1" or
its subsets MUST be labeled with an appropriate charset value.
charsetが無いときは、ISO-8859-1として扱う。
Some HTTP/1.0 software has interpreted a Content-Type header without
charset parameter incorrectly to mean "recipient should guess."
Senders wishing to defeat this behavior MAY include a charset
parameter even when the charset is ISO-8859-1 and SHOULD do so when
it is known that it will not confuse the recipient.
charsetが無いときにエンコーディングを推測する不正な動きをしてしまう
ソフトウェアに対抗するために、本来必要じゃなくてもISO-8859-1を
指定してもよいし、混乱がないならばそうすべきだ。
Apacheはこのへんの挙動やデフォルトを変更することやMultiviewsなんかの
対応もちゃんとできているので、非難される謂われはないよ。
0434デフォルトの名無しさん
2009/05/31(日) 13:08:290435デフォルトの名無しさん
2009/05/31(日) 13:12:06わかってる人に説明してもらえるんだからいいことだよ
0436デフォルトの名無しさん
2009/05/31(日) 16:36:470437デフォルトの名無しさん
2009/05/31(日) 16:47:33どのRFCがいつどこでどう上書きされてるかとか却下されてるかとかちょっと見ただけではよくわからんし
0438デフォルトの名無しさん
2009/05/31(日) 17:37:33ちょっと釣りっぽく書けばお人好しのアホが答えてくれるしw
0439デフォルトの名無しさん
2009/05/31(日) 17:39:38釣りっぽく書けばアホが答えてくれるというのは否定しないが
0440デフォルトの名無しさん
2009/05/31(日) 17:45:57それが2ch
0441デフォルトの名無しさん
2009/05/31(日) 17:48:27疑問があるってことはそもそもがよく知らなかったってことだし、
経緯は酷くても最終的に知見が増えるなら世界は少しだけ賢くなると思う
0442デフォルトの名無しさん
2009/06/01(月) 00:03:430443デフォルトの名無しさん
2009/06/01(月) 14:14:22Range#each が
ttp://rdoc.sourceforge.net/doc/classes/Range.html#M000006
じゃなくて
rdoc.sourceforge.net/doc/classes/Range.html#each
のように傍目にわかりやすいアンカーになるような実装ってないかしらん?
0444デフォルトの名無しさん
2009/06/01(月) 16:34:11あれはただのメソッドだ
0445デフォルトの名無しさん
2009/06/01(月) 16:45:00でも
attr_reader 10個くらい
attr_accessor 10個くらい
とか書くと、あーこれプロパティだな、と思うことがないわけでもない
これが30個全部メソッドとしてマニュアルで分解記述されたらたぶん吐く
どっちかというと、「変数アクセスメソッド」というカテゴリを追加する記述がないのがダメなんだと思う
def value=(v) # :writer:
@v = if v then v else 0 end
end
と書いたら Attributes に value [w] として追加されるとかそういうの
0446デフォルトの名無しさん
2009/06/01(月) 16:59:160447デフォルトの名無しさん
2009/06/01(月) 17:05:550448デフォルトの名無しさん
2009/06/01(月) 17:07:34なぜ"ぅ"なのか自分でも謎
0449デフォルトの名無しさん
2009/06/01(月) 17:17:08あたー あくせさー
どうでもいいけど、
char → 「ちゃー」
varchar →「 ばーちゃー」
「ばーきゃら」という人も多いね
C言語でも、char は「ちゃー型」
0450デフォルトの名無しさん
2009/06/01(月) 17:21:280451デフォルトの名無しさん
2009/06/01(月) 17:42:23先生に褒められていたのを最近はずっと忘れていた。
そうか、初心に返ってコードを読むときも気持ちを込めなくては。
りた〜ん りざるとでりーとぬるじょいんたぶ! えんどえんど。
0452デフォルトの名無しさん
2009/06/01(月) 19:20:220453デフォルトの名無しさん
2009/06/01(月) 19:22:090454デフォルトの名無しさん
2009/06/01(月) 19:41:590455デフォルトの名無しさん
2009/06/01(月) 19:51:59char だからとしか言いようがない
0456デフォルトの名無しさん
2009/06/01(月) 19:55:57とりあえず「キャラと読め」派は無視してよさそうだ
0457デフォルトの名無しさん
2009/06/01(月) 20:18:20もとの単語の発音おもいっきり無視じゃん。
別にRoRみたいに頭文字を組み合わせたとかでもないのに。
0458デフォルトの名無しさん
2009/06/01(月) 20:22:350459デフォルトの名無しさん
2009/06/01(月) 20:29:14http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=charset+%E3%83%81%E3%83%A3%E3%83%BC%E3%82%BB%E3%83%83%E3%83%88&num=50
0460デフォルトの名無しさん
2009/06/01(月) 20:30:500461デフォルトの名無しさん
2009/06/01(月) 20:34:530462デフォルトの名無しさん
2009/06/01(月) 20:42:50それは首尾一貫していないよ。
charaならともかくaが抜けたcharまでキャラと読みうるのは、元の
characterという単語の発音に従っているからでしょう。
であればinteのみならずintだってintegerの発音に従って「インテ」
と読むべきでしょ。
元の単語の発音に忠実であるべきならキャラ・インテ。
単に表記のアルファベットの並びに従うならチャー・イント。
0463デフォルトの名無しさん
2009/06/01(月) 20:49:400464デフォルトの名無しさん
2009/06/01(月) 20:53:290465デフォルトの名無しさん
2009/06/01(月) 20:56:42【char】変な読み方するな その3【ちゃー】
http://pc11.2ch.net/test/read.cgi/prog/1242268027/
0466デフォルトの名無しさん
2009/06/01(月) 20:58:31頭の発音が同じなら省略されても割とわかる。
全く違う発音になるとcharはもう慣れたが普通わからない。
言葉は意思疎通ができるかどうかが重要であって、それゆえ多くのルールや例外がある。
それにchaを「ちゃ」と読むのはローマ字の発音だしね。
0467デフォルトの名無しさん
2009/06/01(月) 21:10:10うん。目的が意思疎通なのだから、要はその発音がどれだけ
共通認識として普及しているかが問題。
ちゃ〜は十分普及の域に入っていると思うよ。問題なし。
>それにchaを「ちゃ」と読むのはローマ字の発音だしね。
色々あるけど、例えばchartは?
末尾のtを外せば殆どそのまま「ちゃ〜」だよ。
0468デフォルトの名無しさん
2009/06/01(月) 21:17:090469デフォルトの名無しさん
2009/06/01(月) 21:23:16朝まで覚えていたのに帰って風呂は言ったらすっかり頭から抜け落ちていたわ。
0470デフォルトの名無しさん
2009/06/01(月) 21:28:120471デフォルトの名無しさん
2009/06/01(月) 21:30:540472デフォルトの名無しさん
2009/06/01(月) 21:32:18http://twitter.com/kakutani/status/1990589711
0473デフォルトの名無しさん
2009/06/01(月) 21:38:200474デフォルトの名無しさん
2009/06/01(月) 22:23:04ustはあるよね?
0475デフォルトの名無しさん
2009/06/01(月) 22:31:00http://rubykaigi.tdiary.net/20090601.html#p03
フィード登録しとけ。
0476デフォルトの名無しさん
2009/06/02(火) 00:32:00きゃら → 日本語脳
ちゃー → 英語脳
0477デフォルトの名無しさん
2009/06/02(火) 00:49:590478デフォルトの名無しさん
2009/06/02(火) 01:03:420479デフォルトの名無しさん
2009/06/02(火) 01:08:130480デフォルトの名無しさん
2009/06/02(火) 01:15:010481デフォルトの名無しさん
2009/06/02(火) 01:26:050482デフォルトの名無しさん
2009/06/02(火) 01:27:460483デフォルトの名無しさん
2009/06/02(火) 01:28:290484デフォルトの名無しさん
2009/06/02(火) 04:14:58話題がないから仕方ないよ。
住人の10割が1.9には金輪際触れない、1.8と心中するって決心しちゃったことだし。
0485デフォルトの名無しさん
2009/06/02(火) 06:03:54ただ初心者スレもそうだけど書き込むとからまれるから書かないだけで
0486デフォルトの名無しさん
2009/06/02(火) 06:12:090487デフォルトの名無しさん
2009/06/02(火) 06:19:13カ、キャ発音の方がまれと言えばまれ。
0488デフォルトの名無しさん
2009/06/02(火) 07:27:300489デフォルトの名無しさん
2009/06/02(火) 07:48:430490デフォルトの名無しさん
2009/06/02(火) 07:58:01そりゃそうなんだけど。「キャ」で行こうとすると、最後に母音つけないと発音しにくいがそうすると
今度はcharというスペルとの間に違和感が生じる。強いて説明するとすればそんな感じ。
というわけで俺もチャーと言ってしまう。
0491デフォルトの名無しさん
2009/06/02(火) 08:00:57逆だろ普通w
0492デフォルトの名無しさん
2009/06/02(火) 08:52:10>>478
0493デフォルトの名無しさん
2009/06/02(火) 10:39:470494デフォルトの名無しさん
2009/06/02(火) 11:35:550495デフォルトの名無しさん
2009/06/02(火) 11:41:35脳細胞が死滅してくると幼児化が進んでくるってことなのか。
後何年か経つと笑点眺めてゲラゲラ笑う能力を獲得できそうだ。
0497デフォルトの名無しさん
2009/06/02(火) 15:16:37個別でそんなこと言ってきりがないの分からないの?バカなの?
はっきり言って気持ち悪い
0498デフォルトの名無しさん
2009/06/02(火) 19:14:420499デフォルトの名無しさん
2009/06/02(火) 20:35:34irb> p Nokogiri::HTML.parse('<html></html>', nil, 'ISO-8859-1').encoding
nil
これって意図した挙動?
引数で文字エンコーディングを陽に指定した場合は
その値が Nokogiri::XML::Document#encoding で返るべきだと思うんだけどどうだろ。
0500デフォルトの名無しさん
2009/06/02(火) 21:49:140501デフォルトの名無しさん
2009/06/02(火) 21:56:58RubyForgeに共通のBTSがない時点で開発参加には興味がない
0502デフォルトの名無しさん
2009/06/02(火) 22:01:57http://github.com/tenderlove/nokogiri/issues
0503デフォルトの名無しさん
2009/06/02(火) 22:02:04IRCとGitHubによるブランチどさーチャットどわーコミットどばーマージもさーの開発にはちょう不適
0504デフォルトの名無しさん
2009/06/02(火) 22:06:03仕方なくソースみても確実にCの部分にぶつかる
RubyForgeに降ろすときくらいはマニュアル整備して欲しいなと思う
0505デフォルトの名無しさん
2009/06/02(火) 22:06:45報告はここで大丈夫だよ。
0506デフォルトの名無しさん
2009/06/02(火) 22:09:52,,.r,:-‐'''"""~~`ヽ、:;:;:\
r"r ゝ、:;:ヽ
r‐-、 ,...,, |;;;;| ,,.-‐-:、 ヾ;:;ゝ
:i! i! |: : i! ヾ| r'"~~` :;: ::;",,-‐‐- `r'^!
! i!. | ;| l| ''"~~ 、 i' |
i! ヽ | | | ,.:'" 、ヽ、 !,ノ
ゝ `-! :| i! .:;: '~~ー~~'" ゙ヾ : : ::|
r'"~`ヾ、 i! i! ,,-ェェI二エフフ : : :::ノ~|`T <イエーイ tenderlove 見てるー?
,.ゝ、 r'""`ヽ、i! `:、 ー - '" :: : :/ ,/
!、 `ヽ、ー、 ヽ‐''"`ヾ、.....,,,,_,,,,.-‐'",..-'"
| \ i:" ) | ~`'''ー---―''"~
ヽ `'" ノ
0507デフォルトの名無しさん
2009/06/02(火) 22:14:52外人は見ないだろw ・・・たぶん
0508デフォルトの名無しさん
2009/06/02(火) 22:18:08http://www.rubyist.net/~matz/20090523.html#p02
0509デフォルトの名無しさん
2009/06/02(火) 22:22:280510デフォルトの名無しさん
2009/06/02(火) 22:24:21書き込めなくてもアクセスだけならできるはずだし
0511デフォルトの名無しさん
2009/06/03(水) 00:26:32「Rubyでつくる検索エンジン」ってものすごいクソ本だな。
ソースコードをプリントアウトして本にしたみたいな感じ。
タイトルが面白そうだったから、
あやうく中身を確認しないでAmazonでぽちっとするところだったぜ。
あぶね〜
0512デフォルトの名無しさん
2009/06/03(水) 00:30:260513デフォルトの名無しさん
2009/06/03(水) 01:14:09興味があったので、買ってみたよ。
とりあえずサンプルが動く環境を整えたところまでやったけど、
ソースの中身はまだ見てない。
この本の内容がそのまま実用になるとは思わないので、
実際に検索エンジン作ろうとするなら、
クロールの戦略とテーブル構成とかを参考にしつつ
自分でアレンジする方向になるんだろうね。
0514デフォルトの名無しさん
2009/06/03(水) 05:45:41オープンソースらしいから落としてみれば?
ttp://hoshizawa.no-ip.com/suzaku/index.html
0515デフォルトの名無しさん
2009/06/03(水) 06:30:13データは自前で持ってて検索API/CGIだけ提供するタイプじゃないのか
0516デフォルトの名無しさん
2009/06/03(水) 07:30:22著者はドアホだなw
0517デフォルトの名無しさん
2009/06/03(水) 07:59:54def token()
# コメントおよび空白文字をスキップ
# 最初の文字が'<'か?
n = @buf.getc()
if n == nil
return false
end
c = n.chr
if c == '<'
@str = c
# 最初の文字が'<'の場合
# '>'が見つかるまで、読み込みを続ける
# 最初の文字が'<'ではない場合
# '<'が見つかるまで、読み込みを続ける
end
# Log : ログクラス
class Log
# Url : URL解析クラス
# URLを host, port, abs_path, query, fragment に分解する
# "http:" "//" host [ ":" port ] [ abs_path ] [ "?" query ] [ "#" fragment ]
…そ、そっから全部作るのかよ手作りかよ
0518デフォルトの名無しさん
2009/06/03(水) 08:12:01書籍に載ってるバージョンはきちんと既存ライブラリを活用したものになってるはず
ttp://book.mycom.co.jp/MYCOM/html/book/978-4-8399-3149-0/index/978-4-8399-3149-0.html
> 5-3 ロボットを実現するクラス(1)
> Rubyでのネットワークプログラミング
> Httpクラスの実装
> おもなレスポンスコード一覧
> Urlクラス
> FileConvertクラス
> Logクラス
> 5-4 ロボットを実現するクラス(2)
> Perserクラスの概要
> Bufferクラス
> Parserクラスのコンストラクタと初期設定メソッド
> Parserクラスの処理内容
> WebDBクラス
そうでもなかった
0519デフォルトの名無しさん
2009/06/03(水) 10:25:19まあ理論面や実践面でいいこと書いてあるかもしれないしさー
0520デフォルトの名無しさん
2009/06/03(水) 11:06:250521デフォルトの名無しさん
2009/06/03(水) 12:35:07ならありじゃね
0522デフォルトの名無しさん
2009/06/03(水) 12:49:33今回に限って言えば回り道してるようにしか見えない
0523デフォルトの名無しさん
2009/06/03(水) 12:59:22実アプリなら標準添付ライブラリを使え、でいい
0524デフォルトの名無しさん
2009/06/03(水) 13:06:25ごく普通には、悪
Rubyのコンセプトから言っても、既存ライブラリ同等のフルスクラッチは完全に悪
初心者への教育上は、もうみなぎる感じに悪
初心者に教えるべきなのはクラスの作り方ではなくクラスの探し方と使い方
メジャーなライブラリがないとき、機能が足りないときに新規クラスを作る
そんな機会はウンコのごとく大量に訪れるのに、わざわざ既存クラスで勉強させる理由はない
「URLを操作するクラスを作ってみましょう」は不可
そこはとっととURIライブラリを使うべきで、たとえば、その次の、
「URLへのアクセス情報を保存管理するクラスを URIライブラリを利用して作ってみましょう」
みたいなものに労力を割くべき。そっちのほうが Ruby の勉強になる
0525デフォルトの名無しさん
2009/06/03(水) 13:12:16それを同時に勉強させるという観点なら悪くないかも。
と思ったが、それをRFCも引かずに中途半端にやるくらいなら、
きっちりやってるライブラリを使い、「これくらいきっちりやるもんだよ」って
いうのを最初に印象づける方がよりいいかも知れない、とも思う。
0526デフォルトの名無しさん
2009/06/03(水) 13:12:39完全にゼロから Log クラスを考え付いて実装したならともかく、
なんらかのテキストからお着せで渡されても学習効果はゼロかもしれない
0527デフォルトの名無しさん
2009/06/03(水) 13:18:23が、それを人に渡した時点で、それは勉強にまったく役立たない
0528デフォルトの名無しさん
2009/06/03(水) 13:24:49結局同じくらい文句言ってただろうけどなw
0529デフォルトの名無しさん
2009/06/03(水) 14:29:09そんなわけねーだろ
0530デフォルトの名無しさん
2009/06/03(水) 15:10:29ろくに説明もなく黙々と作者が作ったプログラムと同じものを打ち込むだけだもん。
検索エンジンを作るのに必要な技術とか考え方とか背景とか、
そういうのが詰まってるものを期待したのだが。
あれはRuby関連に限らず今年最低の技術書になると思う。ひどすぎ。
0531デフォルトの名無しさん
2009/06/03(水) 15:13:52「誰が入れたんだこんな本」と思ったものだったが
0532デフォルトの名無しさん
2009/06/03(水) 15:38:59っていうか編集の人とか何やってんの
文字としての誤植のチェックしかしないの
0533デフォルトの名無しさん
2009/06/03(水) 15:40:080534デフォルトの名無しさん
2009/06/03(水) 16:14:27傍から眺める限りでは、誰も嬉しくない状態に陥ってるという感じに見える
0535デフォルトの名無しさん
2009/06/03(水) 21:19:150536デフォルトの名無しさん
2009/06/04(木) 09:10:19expexted: "ほげらほげらほげらむげむげ", got: "ほげらほげらほげらむげらむげ"
という1行詰め込み式から
expexted: "ほげらほげらほげらむげむげ",
got: "ほげらほげらほげらむげらむげ"
という複数行に変わってるな
ステキだ
0537デフォルトの名無しさん
2009/06/04(木) 09:22:280538デフォルトの名無しさん
2009/06/04(木) 14:48:10なにこれ激烈に重い
閲覧だけプレーンなHTMLでできるとかそういうのないの
これをこんだけキラキラさせる意味ってなんかあんの
0539デフォルトの名無しさん
2009/06/04(木) 15:04:27w3mでそのページ見たら噴いた
0540デフォルトの名無しさん
2009/06/04(木) 19:55:020541デフォルトの名無しさん
2009/06/04(木) 20:05:43時代はweb2.0なんだよ
スタバでMacBookを開いてSafariを使ってない非ギョーカイ人はgithub使うな
0542デフォルトの名無しさん
2009/06/04(木) 20:07:130543デフォルトの名無しさん
2009/06/04(木) 20:14:150544デフォルトの名無しさん
2009/06/04(木) 23:07:22わいたので読んでみた。この本にのってるソフトにはちょっと
驚いた。
net/http、MySQL、Chasenなどを使って書かれているが、
それ以外の部分はクローラーなんか、全部いちから
コーディングされていて、ブラックボックス的な部分が
まるでない。
それなのに、ダウンロードしたプログラムのライン数を
カウントしてみると、全部合計してもたったの5500行ほど
しかない(コメント込みで)。
こんな小さな規模のプログラムで、検索エンジンが動くとは
予想外。基本的なものなら、思ったよりも簡単に作れる
もんなんだ。
0545デフォルトの名無しさん
2009/06/04(木) 23:17:320546デフォルトの名無しさん
2009/06/05(金) 05:42:22そんなに小さくもなくね?
使ってるライブラリの行数は入ってないだろうし。
0547デフォルトの名無しさん
2009/06/05(金) 06:11:000548デフォルトの名無しさん
2009/06/05(金) 06:25:05この形にまとめたのはいいことだが、これを小さいと評価するのはなんか違う
0549デフォルトの名無しさん
2009/06/05(金) 07:56:340550デフォルトの名無しさん
2009/06/05(金) 08:01:00別に必須じゃないぞ
0551550
2009/06/05(金) 08:02:110552デフォルトの名無しさん
2009/06/05(金) 08:08:32ttp://blog.livedoor.jp/dankogai/archives/51220619.html
nil? を if の条件判断で使ってくれてれば楽しかったのにな、とはちらっと思わんでもない
class Array
def nil? ; self.empty? ; end
end
puts "EMPTY!" unless Array.new
EMPTY!
0553デフォルトの名無しさん
2009/06/05(金) 09:17:25これならNグラムでインデックスを全部なめて、
最新のページを表示させるだけの方がマシな気がする。
スコアなるものがあるようだが、どういう計算だ?
0554デフォルトの名無しさん
2009/06/05(金) 22:26:44アプリケーションのソースコードって初めてみたけど。
5500行ほどのRubyのプログラムのうち、全文検索のフロントエンド
(検索用の画面)が600行、管理者用の画面が意外とあって2300行、
画面用の共通ルーチンが300行。でも、これらは所詮よくあるCGIの
プログラムで、本質的なものではない。
本当の検索エンジンのコア部分は、クローラーが1200行、全文検索
エンジンが600行、それらの共通ルーチンが500行。随分とコンパクト
に思えたが、そうでもない?
テキストデータの処理ってRubyの得意分野だからと思ったのだが。
0555デフォルトの名無しさん
2009/06/06(土) 10:58:58それともLibXML2のバージョン固有の問題とかそういうので放置?
0556デフォルトの名無しさん
2009/06/06(土) 11:05:04そういうのやだなあ…
複数バージョンのサポートもめんどくさいだろうなとは思うんだけどね
0557デフォルトの名無しさん
2009/06/06(土) 11:14:15ここの部分の解説サイトとかない?
0558デフォルトの名無しさん
2009/06/06(土) 12:05:48githubの?
英語の動画だけど
http://github.com/blog/411-github-issue-tracker
0559デフォルトの名無しさん
2009/06/07(日) 01:25:13v1.9.9の後はv1.9.10と言う手もあるし、
v1.9.99の後はv1.9.100もあるわな。
構造化なんとか、なんてのは30年くらい昔からあるんだが、完成しない。
ソフトのバージョン上げても、金物の処理が追いつかないからね。
マーフィーの法則も怪しくなって久しいし。
でもまぁ、1.9はちょっと良さそう。
加減乗除の比較はまだだけど、代入はとても速くなった。
頭が大文字の、定数なんて、とても速くなった。(前の(v1.8.7)が遅すぎ)
でも(1.9でも)、速いのが良い人は、0とか0.0とかをコードに埋め込んだのが良いみたい。
変数名は短いのが良い。
0560デフォルトの名無しさん
2009/06/07(日) 12:09:290561デフォルトの名無しさん
2009/06/07(日) 12:44:20何を言ってるか理解できない。
0562デフォルトの名無しさん
2009/06/07(日) 14:23:520563デフォルトの名無しさん
2009/06/07(日) 14:35:200564デフォルトの名無しさん
2009/06/07(日) 14:41:310565デフォルトの名無しさん
2009/06/07(日) 17:56:592.0のベータが1.99になることが多いような気がする。
まあ、共通のルールがあるわけじゃないから、メンテナの気分次第だが。
0566デフォルトの名無しさん
2009/06/07(日) 18:01:370567デフォルトの名無しさん
2009/06/07(日) 18:08:34毎年+1.0するくらいの方が勢いが感じられるよ。
0568デフォルトの名無しさん
2009/06/07(日) 18:46:09「2.0」はそれまでのRubyの欠点を補いかつさらに進歩した、
すばらしいものでなければならない!みたいな
0569デフォルトの名無しさん
2009/06/07(日) 19:01:07ttp://d.hatena.ne.jp/rubikitch/20090213/1234471677
0570デフォルトの名無しさん
2009/06/07(日) 19:17:510571デフォルトの名無しさん
2009/06/07(日) 21:19:36一桁を越えるとソートがうまくいかなくなるので
番号は大切に使いたいらしい
0572デフォルトの名無しさん
2009/06/07(日) 22:24:430573デフォルトの名無しさん
2009/06/08(月) 00:56:010574デフォルトの名無しさん
2009/06/08(月) 01:49:52マーケティングアドバイザーがRubyコミュニティに必要だと痛感する今日この頃。
0575559
2009/06/08(月) 02:11:48うけてくれて、ありがとう。
マーフィーは別のやつだった。
>>559 は変数の代入をン万回して、その Process.timesをン百個集めて、
分散分析とクラスカル・ウォリス分析をした結果です。
Bartlett による等分散の検定で棄却されるので、
クラスカル・ウォリス分析すると、それでも有意な差があると出ました。
検定の多重性については、よそでやってね。
linuxと比べると、winは何故か分散が大きい。
今日は、Rのpnormを移植するのに忙しくて、他は何もしていない。
うちのqnormはpnormに依存してるのだが、やってみるとqnormの精度があがってない。
来週は、qnormの移植かと。
やだ。
0576デフォルトの名無しさん
2009/06/08(月) 14:45:55>今日は、Rのpnormを移植するのに忙しくて、他は何もしていない。
エーッ、Ruby で統計数学が使えるようになるのか
wktk
0577デフォルトの名無しさん
2009/06/09(火) 07:48:360578デフォルトの名無しさん
2009/06/09(火) 14:19:25聞いたことないけど、きっと要望としてはあがってると思う。
0579デフォルトの名無しさん
2009/06/09(火) 14:27:47オリジナルのスクリプトから何種類もの言語のhtmlを生成できる必要はあんめえ
オリジナルは英語のRDocで、jaファイルやjaディレクトリに日本語マニュアルが書いてあって、
rdoc -lang ja とすると通常の代わりに ja のマニュアルが使われる(足りないところはオリジナルを参照)みたいな感じ
0580デフォルトの名無しさん
2009/06/09(火) 18:41:47自分はソースから入れる派だから使わないけど
0581デフォルトの名無しさん
2009/06/09(火) 21:40:20特定のファイルやディレクトリを特別扱いにするのは
後々面倒なことになりそうな気がする(ja/foo.rbとか)。
代わりに複数の言語を併記するのではだめかな。
# @ja ほげほげ
# @en hogehoge
みたいな。
0582デフォルトの名無しさん
2009/06/09(火) 22:14:200583デフォルトの名無しさん
2009/06/10(水) 13:03:25ひとつのメソッドに対して何種類もの言語のマニュアルコメントがつく状態を避けたいんだよ
スクリプトソース本体のマニュアルコメントは英語、または作成者の母国語(日本語とか)
class Foo
# do hoge and returns hage
def hoge
...
で、どっかのファイルに
Foo => ...
:"#hoge" =>
:ja => "hoge します。hage が返ります。" ,
:cn => "アイヤーhogeアルネソシテhageアルヨ"
こんな感じで書いてあって、rdoc --lang ja を指定すると
"do hoge and returns hage" の代わりに "hoge します。hage が返ります。" が使われるとかさー
0584デフォルトの名無しさん
2009/06/10(水) 13:08:010585デフォルトの名無しさん
2009/06/10(水) 13:15:42ドキュメント書く人は自分の言語でスクリプト内にマニュアルコメントを書けばいい
マニュアルファイルへの登録とマージは(言語指定をした)コマンドがやってくれる
なんというか、国別マニュアルがライブラリごとにデータベースになってて、rdoc でHTML等を生成するときに
クラス名&メソッド名と希望言語をキーにしてマニュアル文字列を大量に取ってくる形になるとかそんな感じ
0586デフォルトの名無しさん
2009/06/10(水) 13:23:51でも、RDoc が メソッド => マニュアル文字列 の対応をどこでつけてるのか俺の実力ではよくわからなくてやめた
RDoc のマニュアルがわかりにくいって本末転倒のアホっぽくていいよね
0587デフォルトの名無しさん
2009/06/10(水) 13:26:220588デフォルトの名無しさん
2009/06/10(水) 13:35:06JavaDocでも複数言語での記述はできなかったはず。
0589デフォルトの名無しさん
2009/06/10(水) 19:10:33映画を見て見なさい。宇宙人もみな英語を話しています。
というsolution
0590デフォルトの名無しさん
2009/06/10(水) 19:20:10オラの映画みたら、インディアンっぽいのが日本語しゃべってた。
でもおっぱいに気をとられて台詞は聞いてなかった。
0591デフォルトの名無しさん
2009/06/10(水) 23:28:09こういう言語を発明できる人は、すごいなw
0592デフォルトの名無しさん
2009/06/11(木) 00:02:34いやいや、1冊読んだくらいで洗脳されちゃダメだってw
そうやって簡単に「Rubyすげえ Matzすげえ」とか思い込んじゃう人が
的外れな他言語批判とか始めて結果迷惑だったりするので一応釘刺し。
0593デフォルトの名無しさん
2009/06/11(木) 00:10:28結構あれでなに。まぁ、発展途中なんだろうけどね。
というか公開されてから、もう10年以上たってんだなー
0594デフォルトの名無しさん
2009/06/11(木) 00:41:57まあ確かに、多重代入の辺りとかは怖くて触れないけど
0595デフォルトの名無しさん
2009/06/11(木) 00:56:590596デフォルトの名無しさん
2009/06/11(木) 01:04:09Matzは英語圏で活躍すべきだった
0597デフォルトの名無しさん
2009/06/11(木) 02:48:38おまえ読むの早いな。1ページ2分くらいで読むのか。
0598デフォルトの名無しさん
2009/06/11(木) 03:15:17本読むだけでなく、実際に書かないと。
0599デフォルトの名無しさん
2009/06/11(木) 07:53:100600デフォルトの名無しさん
2009/06/11(木) 13:48:37どこに仕様なんてもんがあるんだ?
0601デフォルトの名無しさん
2009/06/11(木) 14:36:130602デフォルトの名無しさん
2009/06/11(木) 14:59:28でも的外れなRuby批判と、本当のPythonユーザが喜ばないPython礼賛は許されている不思議
0603デフォルトの名無しさん
2009/06/11(木) 18:13:39「的外れなRuby批判」って言うけど、間違ってることを言わない限りは
批判は常に歓迎されるもんだろう。
たまにキチガイも沸くけど、病気は許す許さないじゃなくて受け入れる
しかないしな。
Python礼賛はよその話だから知ったこっちゃねえ。
0604デフォルトの名無しさん
2009/06/11(木) 18:58:22>本当のPythonユーザが喜ばないPython礼賛は許されている不思議
kwsk
0605デフォルトの名無しさん
2009/06/11(木) 19:34:20どうしてもやりたいなら他でやってくれ
0606デフォルトの名無しさん
2009/06/11(木) 20:44:56これは何処のスレでも、普遍の法則w
0607デフォルトの名無しさん
2009/06/11(木) 22:44:59こっちまで荒らしにくるなよ
0608デフォルトの名無しさん
2009/06/11(木) 22:57:340609デフォルトの名無しさん
2009/06/11(木) 23:15:59今の言語は覚えること多いけど。
0610デフォルトの名無しさん
2009/06/11(木) 23:35:33上の方の人は、知能にふさわしい知識と知性があるからあんまり問題に
ならんことが多いんだろけど、私ら中流以下はとりあえず知識か根性が
多少あればなんとかなるので、そこにいろいろな人種がいるわけです。
0611デフォルトの名無しさん
2009/06/11(木) 23:36:03あっても機能的な面で考えると完成度が低かったり。
XoopsくらいのCMSがあればうれしいのだが、なんかないかな?
もうPHPやりたくないんだけど、結局PHPをやっちゃってる。
EC系のプラグインとかあるやつだとうれしいのだが。
0612デフォルトの名無しさん
2009/06/11(木) 23:40:23というか、未だにMySQLやSQLiteのドライバが定着・安定せずうんちゃらかんちゃら
言ってるような言語でお手軽CMSは不可能だと思う。
0613デフォルトの名無しさん
2009/06/12(金) 00:02:11サンクス。やはりtDiaryになるのか。さびしいなあ。
0614デフォルトの名無しさん
2009/06/12(金) 05:05:42別言語の大規模ソフトウェアをサポートするようなプログラムってRubyで作れませんかね
0615デフォルトの名無しさん
2009/06/12(金) 05:38:49プログラマとしては正しい。他人がつくったものを無料で利用してるくせに、
使いこなせないときはブーブー豚みたいにわめくってのは・・・いやいや、世の中は豚だらけだから仕方ないか
0616デフォルトの名無しさん
2009/06/12(金) 05:51:32漠然としすぎてイメージがわかないのだが
0617デフォルトの名無しさん
2009/06/12(金) 06:00:03何をもって大規模といってるのかわからん。
どんなターゲットを想定してるのかもわからん。
こんな漠然とした定義で「向かないというのはもう共通認識でいい」って、あんたバカ?
0618デフォルトの名無しさん
2009/06/12(金) 06:45:340619デフォルトの名無しさん
2009/06/12(金) 06:52:52結局は作ってるやつらの腕次第だろ。
負荷的にJavaじゃないとさばけないというのなら分かるが。
0620デフォルトの名無しさん
2009/06/12(金) 07:03:40つまり、大規模開発が破綻する例はどの言語でも非0である、
だから言語そのものの大規模開発に対する向き不向きはすべて等価なのだ、
という意見?
0621550
2009/06/12(金) 07:07:51Rubyで大規模開発が難しかったとしても、大規模アプリが難しい理由にはならん
さらに言うと「タイプセーフでないと大規模開発が困難」って節からしてかなり怪しい
0622デフォルトの名無しさん
2009/06/12(金) 07:08:42開発人数なのか
画面数なのか
機能数なのか
利用者数なのか
分野によって大規模の意味が全然違うだろ。
0623デフォルトの名無しさん
2009/06/12(金) 07:12:04とりあえず、そのどれについてもRubyは向いてないな。
0624デフォルトの名無しさん
2009/06/12(金) 07:12:290625デフォルトの名無しさん
2009/06/12(金) 07:20:03有効なソフトウェアを作るためのものではないから
作るという作業においてどう不向きだって別にいいんだよ
0626デフォルトの名無しさん
2009/06/12(金) 07:20:21開発人数→柔軟すぎるRubyは大人数だと厳しいかも
画面数→問題なし
機能数→素早く追加できるので、むしろRuby有利
利用者数→?
分野→速度が非常に重要なアプリや、GUIアプリは厳しい。それ以外ならおおよそOK
0627デフォルトの名無しさん
2009/06/12(金) 07:24:33全然よくない
言語の魅力は、有効なソフトウェアが作れてこそのものだろう(教育用言語などを除けば)
Rubyの価値は「楽しく、しかも有効なソフトウェアが作れる」ところにある
0628デフォルトの名無しさん
2009/06/12(金) 07:28:44>>619の一行目の詭弁を剥がしただけでしょ。
「バグだらけで火を噴いてるJavaプロジェクトは山ほどある」
これは、アメリカは日本より凶悪犯罪に出会いやすい、という話をしている時に、
「日本でも凶悪犯罪に巻き込まれた人は山ほどいる」
って返すようなもの。
最も少ない部類に属していても十分「山ほど」と言えてしまう「何か」があって、
その上でその「何か」の程度の違いについて語っているとき、
「あっちにだって山ほどあるぞ!」という返しには何の意味ないわけ。
0629デフォルトの名無しさん
2009/06/12(金) 07:32:52という事は、Rubyで同時接続数や速度の面も立派にスケールできている。と言える。
俺も難点は開発者数が100人以上のときに問題になる、Rubyの記述の柔軟性だけだと思う。
0630デフォルトの名無しさん
2009/06/12(金) 07:34:06どうでもいいけど普通に多いから
PHPやRubyは工数がでかいプロジェクトにあまり採用されないから比べられないだろ
0631デフォルトの名無しさん
2009/06/12(金) 07:41:390632デフォルトの名無しさん
2009/06/12(金) 07:45:300633デフォルトの名無しさん
2009/06/12(金) 08:05:53朝からワロタw
0634デフォルトの名無しさん
2009/06/12(金) 08:16:230635デフォルトの名無しさん
2009/06/12(金) 09:21:25仕事でやるならそういう話題も大切だよ。
ひたすらプログラムを打ち込むだけじゃないし。
0636デフォルトの名無しさん
2009/06/12(金) 10:48:12www.ruby-lang.orgが使ってるRadiantがあるじゃない。
0637デフォルトの名無しさん
2009/06/12(金) 11:45:23>「バグだらけで火を噴いてるJavaプロジェクトは山ほどある」
やー、これはほんとだろ。
Javaは型があるから大規模開発に向くといわれても、これだけJavaのプロジェクトで失敗しているものが多いと、
型があったところで大規模プロジェクトには関係ないんじゃないのと思う。
Javaの失敗プロジェクトに関わった経験からそう思う。
型の効果がないわけじゃないんだけどさ、なんつーの、車持ってたらモテる!ぐらいの効果しかない。
0638デフォルトの名無しさん
2009/06/12(金) 12:01:58でかい案件だから上流工程で失敗していることも多い
→要件定義がいつになっても終わらない
→仕様がどんどんふくらむ、設計が終わらない
など。
あと、大規模 → Spring + Hibernate とか ibatis を使う
→ フレームワーク知らないけど Java 経験ありと履歴書に書かれたスキルの低い要員が集められる
→ アーキテクトが綺麗な方式を作っても、業務側が使いこなせない
→ よれる
というのはあるかな。
0639デフォルトの名無しさん
2009/06/12(金) 13:40:120640デフォルトの名無しさん
2009/06/12(金) 14:03:41利用者数が多いのは大規模プロジェクトなんて呼ぶかね?
秀丸の利用者数は半端無いけど、大規模プロジェクトとは呼ばんだろ
で、開発人数が多ければ技術レベルはピンキリになるわけで
開発環境が支援しやすいタイプセーフな言語が選択されるのは明らか
あと、プロジェクトレベルで失敗するなんてのは言語じゃなくて
>>638みたいな設計とか組織とか人間関係とかの方に問題があるんだと思う
0641デフォルトの名無しさん
2009/06/12(金) 14:19:16x.火の噴きやすさ - y.火の噴きやすさ
の値が、火を噴くという現象全体にとってどれくらい大きい(あるいは小さい)のか、
という各人の経験と皮膚感覚についての話題だよな、つまりこれ。
0642デフォルトの名無しさん
2009/06/12(金) 14:38:010643デフォルトの名無しさん
2009/06/12(金) 14:41:47「Javaは大規模開発に向く」とかいってるのがおもしろおかしいよねという話。
型がある・ないってのは、プロジェクトが成功するかどうかに大した影響はもたない。
車があってもキモオタはモテないし、車がなくてもイケメンやさわやか君はモテる。
ほんとに大事なポイントには触れず、些細なことを一生懸命議論しているのがかわいい。
0644デフォルトの名無しさん
2009/06/12(金) 14:44:10Rubyは大規模開発には向かないし
Javaは大規模開発にも耐えうるという現実は変わらないんだけどね。
0645デフォルトの名無しさん
2009/06/12(金) 15:15:340646デフォルトの名無しさん
2009/06/12(金) 15:16:45> うん、だから大規模開発で本当に問題なことをおざなりのままにして、
> 「Javaは大規模開発に向く」とかいってるのがおもしろおかしいよねという話。
別にそこはおもしろおかしくないよ。だってここ言語スレだもの。
大規模開発を語るスレ、なんて名前のスレがあって、そこでこの話題が延々続いているなら、
そりゃー確かに「もっと重要な物事を差し置いて、言語ばかり語ってもなぁ」って感想になるけれども、
そうじゃなくて、さてRubyの話をしよう、今のお題は何だ? なるほど「大規模開発」か、って状況なわけね。
大規模開発における言語の差の意味の大小が、話題の成立・不成立に関わることは無い。
> ほんとに大事なポイントには触れず、
ほんとに大事なポイントはRubyだから、「大規模開発において真に重要なのは・・・」云々の理屈で
言語ごとの差に一所懸命触れまいとする人のほうが「かわいい」と思う。
よっぽど言語の差の話を進めて出てくるであろう結論を見たくないのかな、とか、色々想像しちゃうよね。
0647デフォルトの名無しさん
2009/06/12(金) 15:51:18「色々想像しちゃうね」とか妄想がどんどんひどくなっていくな。
0648デフォルトの名無しさん
2009/06/12(金) 16:01:400649デフォルトの名無しさん
2009/06/12(金) 16:06:200650デフォルトの名無しさん
2009/06/12(金) 16:14:01まさか、他の誰かであると認定されたとでも思ってるのか?
もしそうなら、そういうのを「妄想がひどい」っていうんだよ。
他人が自覚的に想像してるのを妄想と言い換えて煽る前に、
自分の無自覚な、ほんまもんの妄想を何とかしたほうがいい。もしそうなら、ね。
0651デフォルトの名無しさん
2009/06/12(金) 17:01:380652デフォルトの名無しさん
2009/06/12(金) 17:12:240653デフォルトの名無しさん
2009/06/12(金) 17:27:200654デフォルトの名無しさん
2009/06/12(金) 17:36:38何言ってるのかわかんないんだけど、大規模プロジェクトが成功する要因として型の有無はあんまし関係ないという事実がスレによって変わるのか。
>よっぽど言語の差の話を進めて出てくるであろう結論を見たくないのかな
その結論は知りたいねえ。ぜひ語ってくれたまえ。スレ違いとか気にするな。
スレのみんなも、ちょっとばかりすれ違いになるかもしれんが、許してあげてくれ。
0655デフォルトの名無しさん
2009/06/12(金) 17:38:11URL貼り付けりゃ見に行ってやるから。
0656デフォルトの名無しさん
2009/06/12(金) 17:49:100657デフォルトの名無しさん
2009/06/12(金) 17:53:20> 何言ってるのかわかんないんだけど、
何言ってるかわかんない人が無理して絡まなくていいのでは。
> 大規模プロジェクトが成功する要因として型の有無はあんまし関係ないという事実が
> スレによって変わるのか。
どのくらいの割合の人が、何を事実だということにしたいのか、がスレによって変わるのでは。
> その結論は知りたいねえ。ぜひ語ってくれたまえ。
会話の結論は、会話を続行しなくては辿り着けないし、会話は一人でするものではないから、
ろくに物を言わず他力本願で待ちモードに入るのは違うのでは。
0658デフォルトの名無しさん
2009/06/12(金) 18:20:560659デフォルトの名無しさん
2009/06/12(金) 19:43:47大規模開発よりも
中小規模開発の方がずっとパイがでかい訳だが(´∀` )9im プゲラッチョwwwwwwww
0660デフォルトの名無しさん
2009/06/12(金) 20:02:31わかりにくい文を書いたのはそちらなんだが。
自分でわかりにくい文を書いておきながら、読み手を非難されてもなあ。
>会話の結論は、会話を続行しなくては辿り着けないし、会話は一人でするものではないから、
>ろくに物を言わず他力本願で待ちモードに入るのは違うのでは。
いやだから、型があってもプロジェクトの成否にはあんまり関係ないよと言ったでしょ。
なんでろくに言わずとなるんだろうか。
きみがいう "言語の差の話を進めて出てくるであろう結論" というのが知りたいからぜひ語ってくれとお願いしただけなんだな。
場所も用意したし、思う存分語ってくれたまえ。
0661デフォルトの名無しさん
2009/06/12(金) 20:04:35わらうとこなのか?
中小規模開発がどんなに多くても、数×金額で考えれば、大規模開発のほうが合計金額は大きいだろうよ。
それに、数が多いことはここじゃ別に重要じゃないだろ。
0662デフォルトの名無しさん
2009/06/12(金) 20:35:16お前ら暇だったらこれがなんなのか推理しよーぜ
http://www.atdot.net/fp_store/f.i7zxkk/file.%2596%25B3%2591%25E8.png
0663デフォルトの名無しさん
2009/06/12(金) 20:52:11パイを=金額と解釈するゆとり
0664デフォルトの名無しさん
2009/06/12(金) 20:53:170665デフォルトの名無しさん
2009/06/12(金) 21:04:05大量にメモリを喰うベンチマークを走らせた時の、メモリ消費内訳か何か?
以前に、「Rubyのメモリ戦略では、なかなかメモリを解放しない!」
とか問題になってた記憶が
0666デフォルトの名無しさん
2009/06/12(金) 21:11:50いや、横軸のgc.cのオブジェクトってのはすぐわかるんだが
問題は縦軸だろ・・・
0667デフォルトの名無しさん
2009/06/12(金) 21:12:37そんなの、サッカーでホームラン打ってみろやって言う様な物
適材適所って言葉しらんのかね?
ゆとり乙
0668デフォルトの名無しさん
2009/06/12(金) 21:12:55成熟した知的な大人なら、おっぱいのことだとすぐわかるはずだよな。
0669デフォルトの名無しさん
2009/06/12(金) 21:15:28> 適材適所って言葉しらんのかね?
Rubyは大規模開発に向かないっていう適材適所の話なんだから、
知らんのかねも何も、むしろ適材適所の概念を強調したいレスでしょ。
0670デフォルトの名無しさん
2009/06/12(金) 21:31:08(最近は数百万行級のプロジェクトもあるという噂だが)
言語仕様として、Rubyが大規模開発を支援しようとしているようには見えない
しかしRubyのメリットってのも確かにあるわけで、
それがどう相互作用するかは「やってみないと分からない」に近いと思うんだが
0671デフォルトの名無しさん
2009/06/12(金) 23:35:310672デフォルトの名無しさん
2009/06/12(金) 23:44:210673デフォルトの名無しさん
2009/06/12(金) 23:47:280674デフォルトの名無しさん
2009/06/13(土) 00:08:020675デフォルトの名無しさん
2009/06/13(土) 00:12:020676デフォルトの名無しさん
2009/06/13(土) 00:15:160677デフォルトの名無しさん
2009/06/13(土) 08:33:23固定観念を破壊します。
0678デフォルトの名無しさん
2009/06/13(土) 11:33:450679デフォルトの名無しさん
2009/06/13(土) 17:42:500680デフォルトの名無しさん
2009/06/13(土) 18:36:51妄想ならちらしの裏にでも書いとけ
ハイ次の方
0681デフォルトの名無しさん
2009/06/13(土) 21:43:17http://www.google.co.jp/trends?q=Ruby%2C%E3%82%AC%E3%83%B3%E3%83%80%E3%83%A0
0682デフォルトの名無しさん
2009/06/13(土) 22:40:27PMBOK風に言えば、主にTime、Cost、Quality面で、
当初の目標を達成できない場合の方が多いんじゃないだろうか。
目標を大きく下回った時点でプロジェクトとしては失敗と言っていいと思う。
たとえばリリースできても金がかかり過ぎて、最悪赤字だったり、
リリースがものすごく延期になったりしたらとても成功とは言えない。品質面もしかり。
失敗の率は8割を超えるように思う。ものすごく適当だが。
Scopeは大抵譲れないから、そこだけは死守するんだけどね。
0683デフォルトの名無しさん
2009/06/14(日) 01:09:080684デフォルトの名無しさん
2009/06/14(日) 01:18:240685デフォルトの名無しさん
2009/06/14(日) 01:54:300686デフォルトの名無しさん
2009/06/14(日) 02:40:48PHPみたいに「とりあえず0ということにする」みたいなことはない
Javaみたいに目の前のコンビニに行きたいだけなのに、
近所をぐるっと回らされるようなのも嫌だ
0687デフォルトの名無しさん
2009/06/14(日) 04:21:12Python=タケコプター
0688デフォルトの名無しさん
2009/06/14(日) 04:29:34それは、Pythonの方が高性能ってこと?
rubyがなんか楽とういか庶民的に読めるけど…
0689デフォルトの名無しさん
2009/06/14(日) 04:39:390690デフォルトの名無しさん
2009/06/14(日) 04:44:12pythonがタケコプターならrubyもタケコプターだ
どっちで作っても同じ動作をする成果物は作れる、実装の仕方が違うだけ
あー、rubyは少し動作が遅いかもしれん
0691デフォルトの名無しさん
2009/06/14(日) 05:05:46って、rubyってそんな遅いの?
もうちょっとこう、PHP程度にドキュメント充実してほしいな。
0692デフォルトの名無しさん
2009/06/14(日) 06:10:18他のスクリプト言語と比べて、言われてるほどには遅くない
ソフトウェアの種類にもよるが、遅過ぎて死ぬようなことはそうそうないはず
0693デフォルトの名無しさん
2009/06/14(日) 09:25:41Cを逐語訳したようなのは概して遅い
0694デフォルトの名無しさん
2009/06/14(日) 10:12:39カウントする処理をRubyとPerlで書いてみた。
-- Ruby --
s = Time.now
count = 0
File.open(ARGV[0]){|f|
while(line = f.gets)
line.chomp!
if line =~ /Googlebot/
count += 1
end
end
}
e = Time.now
puts "count=#{count} (#{e - s}sec)"
0695694
2009/06/14(日) 10:13:30use strict;
use warnings;
my $s = time();
my $count = 0;
open(LOG, $ARGV[0]);
while(my $line = <LOG>) {
chomp($line);
if($line =~ /Googlebot/) {
$count++;
}
}
close(LOG);
my $e = time();
printf("count=%d (%fsec)\n", $count, $e - $s);
0696694
2009/06/14(日) 10:14:21Perl :count=52948 (0.000000sec)
Ruby:count=52948 (0.422137sec)
案の定、Rubyのほうが遅いけど、
気になるほど、遅くはないかなと個人的には思う。
0697デフォルトの名無しさん
2009/06/14(日) 10:36:42もしWinなら"rb"で開くだけで全然違うんじゃないかと
それとPerlの方、0secだとあれなんで適当にループさせてみてほしいな
0698デフォルトの名無しさん
2009/06/14(日) 10:39:26経過時間が0ミリ秒という時点で何かおかしいと思って欲しい
0699デフォルトの名無しさん
2009/06/14(日) 10:41:42面白いな。
Rubyはもっと簡潔に書けるけど。つかchompいらんだろ。
count = 0
File.open(ARGV[0]){|f|
while(line = f.gets)
count += 1 if line =~ /Googlebot/
end
}
Enumerable のメソッドを使えばさらに簡潔に。
count = nil
File.open(ARGV[0]) do |f|
count = f.count {|line| line =~ /Googlebot/ } # 1.8
#count = f.each_line.count {|line| line =~ /Googlebot/ } #.19
end
0700デフォルトの名無しさん
2009/06/14(日) 10:44:12count = File.open(ARGV[0]) do |f|
f.count {|line| line =~ /Googlebot/ } # 1.8
#f.each_line.count {|line| line =~ /Googlebot/ } # 1.9
end
すみませんすみませんすみません
0701694
2009/06/14(日) 10:51:28sleep(1);
my $e = time();
printf("count=%d (%fsec)\n", $count, $e - $s);
こうすると、ちゃんと1秒と表示されるから単純に処理が早いのではないか?と考えてる
count=52948 (1.000000sec)
time()の精度が秒単位なんだろうな。
Perl久しぶりに触ったからこのへんよく分からない。
ミリ秒単位で速度図るようにちょっと修正してみる。
0702694
2009/06/14(日) 10:54:58Ruby 1.8.7-p72
Perl 5.8.8
Redhat 5.3 (64bit)
CPU Core(TM)2 Duo CPU T8100 2.10GHz
メモリ 4GB
0703デフォルトの名無しさん
2009/06/14(日) 10:56:11sleep(0.0001)
とかしてみたら?それで0.0になるようならtimeの精度じゃないかな
0704デフォルトの名無しさん
2009/06/14(日) 11:01:38後1.9も試して欲しいな
0705694
2009/06/14(日) 11:06:52timeの精度のようです。
とりあえず、
use Time::HiRes qw(time);
としたら、ミリ秒単位で取れるようになった。
再実行結果
Perl count=52948 (0.343007sec)
Ruby count=52948 (0.479245sec)
0706デフォルトの名無しさん
2009/06/14(日) 11:07:340707694
2009/06/14(日) 11:08:391.9か。しばらく使う予定ないけど、とりあえずコンパイルして入れてみる。
0708デフォルトの名無しさん
2009/06/14(日) 11:08:39ガツンと一括読み込み
↓
改行コードでスプリット
↓
ループ
の方が圧倒的に速いわけだが、
Rubyは内部的にそれをやってくれてるのか?
差を試してみたいがいま死んでてできん。
余裕があったら試してほしいな。
0709デフォルトの名無しさん
2009/06/14(日) 11:12:16たぶん1.9のほうが遅くなるんじゃないかな。
理由は、このスクリプトならIO処理と正規表現がメインだから。
0710デフォルトの名無しさん
2009/06/14(日) 11:16:29やってないというか、それをやらないとRubyは遅い
メモリを潤沢に使うことでCPU時間を減らすのがRuby
よって、
s = Time.now
count = 0
File.open(ARGV[0]).readlines do |line|
count += 1 if line =~ /Googlebot/
end
e = Time.now
puts "count=#{count} (#{e - s}sec)"
が Ruby では妥当
0711694
2009/06/14(日) 11:17:51とりあえず、実行しました。
>>709の予想通りになってますね。
Ruby1.8.7-p72 0.491655sec
Ruby1.9.1-p129 0.600195sec
Perl 5.8.8 0.345018sec
0712694
2009/06/14(日) 11:20:06たしかに早くなった。
Ruby1.8.7-p72 0.367141sec
Ruby1.9.1-p126 0.378081sec
0713デフォルトの名無しさん
2009/06/14(日) 11:29:36ここまでわかりやすいと泣けてくる
ネイティブスレッドの関係だっけ?
0714デフォルトの名無しさん
2009/06/14(日) 11:45:44Rubyに限らず大抵の言語で共通じゃないかな?
逐次データを取ってくるのが遅いのは、ディスクIOの問題だから。
おれがこのやり方を覚えたのは10年くらい前にVBをやってた頃だし。
>>711
サンクス参考になった。想像したより差が出ないなあ。
データが多いほど差が顕著になるのだが、今のコンピュータは速いな。
正規表現は遅いというイメージがあるのだが、
include?とかの方が高速というのはないのかね。さりげなく要求して申し訳ないのだが。。。
0715デフォルトの名無しさん
2009/06/14(日) 11:51:32include?というのは、
if line.include?("Googlebot")という事?
1.8.7-p72 0.631488sec
1.9.1-p129 0.706928sec
さらに遅くなった・・・
>>710のソースでも
1.8.7-p72 0.360617sec
1.9.1-p129 0.393522sec
0716デフォルトの名無しさん
2009/06/14(日) 11:59:04たびたびサンクス。
鬼車速いなあ。
シーケンシャルアクセスの方は速度低下が顕著だけど、
スプリットさせてる方はほとんど変わらないから、
なんかあるのかもね。
ではおれは心置きなく死に続けることにするよ。
Excelで開発とかさっぱりわからん。全然進まない・・・
0717デフォルトの名無しさん
2009/06/14(日) 12:29:38>やってないというか、それをやらないとRubyは遅い
んなわけない。思い込みよくない。
>が Ruby では妥当
んなことない。readlines使うなら
File.open(ARGV[0]).readlines.count {|line =~ /Googlebot/ }
が妥当。
0718デフォルトの名無しさん
2009/06/14(日) 12:30:31700のソースでもやってみて。
0719デフォルトの名無しさん
2009/06/14(日) 12:44:02せめて動く状態で貼り付けてほしい
Invalid char `\343' in expression
Invalid char `\200' in expression
Invalid char `\200' in expression
Invalid char `\343' in expression
Invalid char `\200' in expression
Invalid char `\200' in expression
0720デフォルトの名無しさん
2009/06/14(日) 12:46:03ヒント:全角空白
0721デフォルトの名無しさん
2009/06/14(日) 12:48:06了解。ちょっと試してみる
0722デフォルトの名無しさん
2009/06/14(日) 12:50:321.8.7-p72 0.645904sec
1.9.1-p129 0.580029sec
面倒なので、どちらも#1.8の行の処理で試した。
f.count {|line| line =~ /Googlebot/ } # 1.8
#f.each_line.count {|line| line =~ /Googlebot/ } # 1.9
0723デフォルトの名無しさん
2009/06/14(日) 12:51:42アハハハハハハ
初心者にはこのエラーメッセージじゃわからないんだ。気をつけよう。
0725デフォルトの名無しさん
2009/06/14(日) 12:56:53初心者で申し訳ない。
しかし、大笑いされるほどの事なのか?
0726デフォルトの名無しさん
2009/06/14(日) 13:13:02頭おかしいんじゃねーか?
0727デフォルトの名無しさん
2009/06/14(日) 13:54:232chってホワイトスペースの変換処理してないから、HTML仕様に則って1つにまとめられるんだ
だからコードの読みやすさ優先で、スレに貼り付けるときに
わざとインデントを全角スペースにすることはけっこう一般的
つまり誰のミスかと言えば、コード貼った人ではなくてスレからコピペした人
0728デフォルトの名無しさん
2009/06/14(日) 13:55:400729デフォルトの名無しさん
2009/06/14(日) 13:57:08>せめて動く状態で貼り付けてほしい
なんて書いてるんだから、笑われてもしょうがない
0730デフォルトの名無しさん
2009/06/14(日) 13:58:03count = File.open(ARGV[0]) do |f|
f.count {|line| line =~ /Googlebot/ } # 1.8
#f.each_line.count {|line| line =~ /Googlebot/ } # 1.9
end
0731デフォルトの名無しさん
2009/06/14(日) 13:59:21エラーメッセージも見慣れないだろう
何にせよ。枝葉末節
次から気をつければいいだけの話
0732デフォルトの名無しさん
2009/06/14(日) 14:00:570733デフォルトの名無しさん
2009/06/14(日) 14:07:33マンドクセーよ
動かす前にエディタで全角→半角変換してくれ
0734デフォルトの名無しさん
2009/06/14(日) 14:09:070735デフォルトの名無しさん
2009/06/14(日) 14:10:29自分では理屈が通ってると思ってるんだろうけどもはや基地外。
聞いてきたから教えたってわけでもないのに。
しかも速度遅くなってるのが笑えるw(1.9は誤差の範囲っぽい)
なぜあれが速くなると考えたのか理由を聞いてみたい
0736デフォルトの名無しさん
2009/06/14(日) 14:14:18実体参照されるとJaneStyleからコピペしたときに
&nbsp;だらけになって嫌
0737デフォルトの名無しさん
2009/06/14(日) 14:21:14C2A0 を空白として使うのは全角空白を使うのと何も変わらない
C2A0 はきちんとした非空白の文字だ
0738725
2009/06/14(日) 14:22:04今回の事で覚えたから、次は大丈夫だ。
しかし、同じようにエラーで実行できないと考える人は出てくるだろうから、
その時は>>720のように一言教えてあげるようにする。
少なくとも笑う必要はない。
元々は>>691のRubyってそんなに遅いの?という発言に対して、
実行結果を示すだけのつもりだったのが、思ったより長くなった。
書き方を工夫すれば、Rubyでもある程度の速度を出せるという事でどうだろうか。
0739デフォルトの名無しさん
2009/06/14(日) 14:29:38笑われたからといってそう怒るなよ
0742デフォルトの名無しさん
2009/06/14(日) 16:03:020743デフォルトの名無しさん
2009/06/14(日) 22:45:54include? は律儀に先頭から一文字ずつ比較するからだと思う。
正規表現がどんな魔法を使ってるかはしらない。
0744デフォルトの名無しさん
2009/06/14(日) 22:50:58が速かったりしないかな。
0745デフォルトの名無しさん
2009/06/15(月) 00:29:13じゃ、何でrubyは、アルゴリズム本に載ってるようなBM法とかを実装しないの?
0746デフォルトの名無しさん
2009/06/15(月) 00:52:19ruby
starttime = Time.now
for i in 1..10000
end
time2 = Time.now
p endtime.to_f - starttime.to_f
---------
php
$start = microtime();
for($i=1; $i<=10000; $i++)
{
}
$end = microtime();
echo $end - $start;
----
ruby -> 0.05
php -> 0.02 - 0.03位
0747デフォルトの名無しさん
2009/06/15(月) 00:59:00time2 -> endtimeね…ダメポ
0748デフォルトの名無しさん
2009/06/15(月) 03:04:440749デフォルトの名無しさん
2009/06/15(月) 08:33:30遅さを認識すれば使いやすい
0750デフォルトの名無しさん
2009/06/15(月) 10:54:28>File.open(ARGV[0]).grep(/Googlebot/).count
それは厳密には行ごとのカウントじゃなくなるから。
今回の場合なら該当文字列は1行に1回しかでてこないと期待できるだろうけど。
0751デフォルトの名無しさん
2009/06/15(月) 11:13:44"rails 2.3.2" に一致する日本語のページ 277 件中
railsって時代遅れでしょうか?
もしそうならrubyでcgi作るには何がオススメですか?
0752デフォルトの名無しさん
2009/06/15(月) 11:17:54railsはWebアプリフレームワークだ。時代遅れなんてことはないが。
0753デフォルトの名無しさん
2009/06/15(月) 11:20:14じゃあ2.3.2対応の解説ページください
0754デフォルトの名無しさん
2009/06/15(月) 11:46:330755デフォルトの名無しさん
2009/06/15(月) 12:01:50CGI という状態でないならまだ我慢できるレベルなんだが
1分に 1回くらいしか使われないような裏方 CGI とかそういうのにはまだ向いてる
0756デフォルトの名無しさん
2009/06/15(月) 12:35:33流行りものだし、まあそれなりに作りやすいし、「Railsで作りました!(キリッ」
って言っとけばハッカー受けはいいからアクセスは稼げるし
IT企業にヘッドハントされるかもしれない。
どちらにせよ今時CGIはない。せめてramazeとかにしとけ。
0757デフォルトの名無しさん
2009/06/15(月) 12:38:40らめぇもシナトラも CGI としてきちんと動くようになってから代替を口にしてください
0758デフォルトの名無しさん
2009/06/15(月) 12:46:58Rack がきちんと CGI に対応さえすれば薔薇色の未来が
0759デフォルトの名無しさん
2009/06/15(月) 14:18:42何から何まで解説してあるページがほしいならPerlでも使ってなさい。
0760デフォルトの名無しさん
2009/06/15(月) 14:21:10> それは厳密には行ごとのカウントじゃなくなるから。
1.8のIO#eachは行ごとにyieldするから、行ごとのカウントだよ。
>File.open(ARGV[0]).grep(/Googlebot/).count
それとは別に、ファイルをオープンしっ放しでGCまかせというスタイルは非常にお勧めしない。
0761デフォルトの名無しさん
2009/06/15(月) 16:10:19その通りでした。ごめんなさい。
0762デフォルトの名無しさん
2009/06/15(月) 17:22:54それに、メソッドとテンプレートが対応してるのはいいんだけど
制約という風に受け取ってしまうんだが…やりようがあるのかな
0763デフォルトの名無しさん
2009/06/15(月) 17:43:14ニコ動も使ってるらしいしcgi.rbにダメだしするようなるびま記事書いてるぐらいだから
少し期待してるんだけど、まだ出番が無くて
0764デフォルトの名無しさん
2009/06/15(月) 18:43:52使いたかったら使えばいい。多少改善さているけどそう大きな違いはない。
>ニコ動も使ってるらしいし
さすがにこれはガセだろ。あそこがCGIスクリプト使ってたら大笑いだわ。
0765デフォルトの名無しさん
2009/06/15(月) 18:45:20>railsのscaffoldって楽だけど、ただの雛形だよね?
うんそう。
>制約という風に受け取ってしまうんだが…やりようがあるのかな
routerの設定でいかようにもできる。デフォルトがそうなっているというだけ。
0766デフォルトの名無しさん
2009/06/15(月) 18:46:09それこそ使いたいテンプレート名をrenderの引数で指定できる。
0767デフォルトの名無しさん
2009/06/15(月) 18:49:10ttp://dic.nicovideo.jp/a/ruby#h2-5
0768デフォルトの名無しさん
2009/06/15(月) 18:52:52サンクス
ニコ動って言ったのは語弊がありすぎたスマン
ttp://d.hatena.ne.jp/tasukuchan/20090417/nicopedia_hardware
>ニコニコ大百科は、ほとんどのコンテンツが静的になるように注意深く設計してあります。
>Ruby標準のcgiモジュールは使わず、桑田誠さんがリライトしたcgi/cgiextモジュールを改造
0769デフォルトの名無しさん
2009/06/15(月) 19:01:28なんでもオブジェクトって言うのもうやめようぜ
ifもendも括弧も変数もブロックもオブジェクトじゃないじゃん
0770デフォルトの名無しさん
2009/06/15(月) 19:10:01(例えばJavaなんかはそうじゃない)
first class object == 「オブジェクト」ってのは、一応Rubyの特徴と言っていいと思うんだけど。
0771デフォルトの名無しさん
2009/06/15(月) 19:17:57「carとcdrとconsとcondとatom、あとquoteとeqとdefunさえあればLispは記述できるっていったのに
これだけじゃ肝心のカッコが書けないじゃないか!」
とかそういうのと似たようなニオイを感じなくもない
まあ基本はどうでもいいんだが
0772デフォルトの名無しさん
2009/06/15(月) 19:19:19if とかの制御構造もオブジェクトだったらよかったのに、と思うことはある
動作遅いと思うけど
0773デフォルトの名無しさん
2009/06/15(月) 19:22:14これ例えばどうだったらよかったの?
0774デフォルトの名無しさん
2009/06/15(月) 19:26:21こんなん? これだとメソッドか
0775デフォルトの名無しさん
2009/06/15(月) 19:27:36正直言うと俺もどうでもいいし、そんな所を厳密にして遅くなられるのはごめんだけどさ
ブロック=Procだと思ってたり、変数にメソッド付ければ++できるんじゃねとか思ったり
そういうことが初心者のときにあったもんでつい書いちゃった
0776デフォルトの名無しさん
2009/06/15(月) 19:41:33あれって速度的には動なんだっけ?
0777デフォルトの名無しさん
2009/06/15(月) 19:45:09これなら勝つる
(NOW < time).if {
puts "timeは新しいです"
},{
puts "timeは古いです"
}
0778デフォルトの名無しさん
2009/06/15(月) 20:24:00CGIAltとcgiextは同じものだっけ?
0779デフォルトの名無しさん
2009/06/15(月) 20:28:57別物
階層の/と見間違えるけど、組み合わせ的な意味じゃないかな
0780デフォルトの名無しさん
2009/06/15(月) 22:30:25Smalltalkでは実際にはifでメソッドを呼び出してはいないわけだけれど(コンパイル時に
条件付きGOTO文に置き換えている)、Matzによればちゃんとメソッド呼び出しにしても
さほど速度面での違いはないらしい。もっともMatzの言うことだから話半分ということで。
0781デフォルトの名無しさん
2009/06/15(月) 22:38:35三項演算子と実質なんも変わらんな
0782デフォルトの名無しさん
2009/06/16(火) 04:05:26true/falseを返すメソッドは最後に?を付けるのがRubyの慣習ですが、
同時にtrue/falseを設定できるものの場合、?を付けるのか付けないのか。
標準ライブラリを調べたところ、foo?/foo=という組み合わせは存在せず、
GCモジュールとThreadクラスにfoo/foo=というのはありました。
true/falseを返すのに?を付けないのは正しいのでしょうか。
例えば両方ある場合はfoo/foo=にするのが望ましいのなら、
先にfoo?を作ってしまった場合、あとからfoo=を追加したくなったら
どうすればいいのでしょうか。
慣習であり明確なルールが見当たらないので解釈や感覚の話になるとは思いますが、
みなさんの考えをお聞かせ願えればと思います。
0783デフォルトの名無しさん
2009/06/16(火) 05:04:28いわゆる述語はメソッドの動作を一切規定しない
末尾が ? だからといって真偽に関わる値を返さなくてもいいし
末尾が = だからといって変数に代入を行わなくてもいい
foo= というメソッドだからといって @foo への代入を行わなければならないというわけでもない
値のセットはありうるが外部提供はしそうにないのなら foo= だけ作って foo はなくてもいい
どこで聞いても名前重要と言われるだけだと思うから、そのとき自分がわかりやすいと思うルールで作ればそれでいい
慣習というほどの強い何かがあるわけじゃない
好きにするといい
0784782
2009/06/16(火) 05:28:46書き忘れておりました。
自分で作って自分で使うスクリプトならどんな名前でもいいとは思いますが、
オープンに公開する拡張ライブラリの場合はそうも言ってられないと思うのです。
Rubyの慣習からかけ離れた自分ルールで作ってしまうと非常に使いにくくなりそうで、
とはいえその慣習に従おうと思っても、実際どうすればいいのかな?と。
0785デフォルトの名無しさん
2009/06/16(火) 05:55:580786デフォルトの名無しさん
2009/06/16(火) 06:00:27それをどう運用するかは自由だ
どっちかってえとメソッドの名前自体のほうがウェイトが大きい
接尾子は些細な問題に過ぎん
0787デフォルトの名無しさん
2009/06/16(火) 06:58:15俺の意見では
foo
foo?
foo=
の3つを全て定義するのがベスト
0788デフォルトの名無しさん
2009/06/16(火) 07:08:07少なくとも、ユーザーに提供するために ? つきメソッドで作るのはかなりビミョー
というかそもそもそういう条件分岐を内包したメソッドを提供しろ
0789デフォルトの名無しさん
2009/06/16(火) 07:11:03foo? と foo= の両方を提供していいと思います。
foo? を定義したら foo= は定義しないなんて規約は特に存在しません。
0790デフォルトの名無しさん
2009/06/16(火) 07:20:17?
0791デフォルトの名無しさん
2009/06/16(火) 07:28:12メソッド自体にかいて、真偽値以外を返せってことだろ
0792デフォルトの名無しさん
2009/06/16(火) 07:36:40そうは言っても、真偽値も普通に必要になるし
0793デフォルトの名無しさん
2009/06/16(火) 07:45:09それ以外のfoo=/fooは必要に応じて定義すればいいんじゃないの?
0794デフォルトの名無しさん
2009/06/16(火) 08:59:01それの多くは「真偽判断だけを切り出したことが間違い」だと思う
よっぽどプリミティブな汎用ライブラリなら問題ないかもしれんが、おそらくそんなライブラリは作らんだろう
0795デフォルトの名無しさん
2009/06/16(火) 09:04:35が、そんなライブラリ作るのは手間がかかって面倒じゃのう
全メソッドpublicにするから適当に見繕って改造したり継承したりして使ってくれってのじゃ駄目かいね
0796デフォルトの名無しさん
2009/06/16(火) 09:16:06ウインドウシステムを組んだとして
あるWindowが表示されてるかどうか、どうやって判断するんだ
普通は Window#shown? とかそんな風に書くだろう
さらに言えば、設定をまとめるためのConfigクラスを作ったときは?
こういうクラスのメソッドは、真偽値を返すものだらけだぞ
0797デフォルトの名無しさん
2009/06/16(火) 09:19:130798デフォルトの名無しさん
2009/06/16(火) 10:10:58Window#shown?で判定するなら
Window#showとWindow#hideで状態を変化させる
Window#shown=とするのが間違っているのではあるまいか。
0799デフォルトの名無しさん
2009/06/16(火) 11:14:39背景抜きでfoo?/foo/foo=と抽象化されてしまうと、必要なものを定義しろとしか言いようがないが。
0800デフォルトの名無しさん
2009/06/16(火) 11:26:31モノによるというつまんない結論をすっ飛ばすなら、まあ間違ってはいないな
それくらいは最大限の努力でもって遮蔽しろということなのだろう
ユーザー任せが多すぎるなあとは思わなくもない
0801デフォルトの名無しさん
2009/06/16(火) 11:27:34Hash#compare_by_identity
Hash#compare_by_identity?
というのがあるっぽい
0802デフォルトの名無しさん
2009/06/16(火) 11:30:45それは画面の描写という副作用を伴うよね。
(変数への代入以外の)そういう副作用はなしに
apartment.pet_allowed = true
apartment.pet_allowed?
というようなのもあっていいんじゃない?
apartment.allow_pet / apartment.disallow_pet
はなんか不自然。
0803デフォルトの名無しさん
2009/06/16(火) 13:13:340804デフォルトの名無しさん
2009/06/16(火) 13:39:400805デフォルトの名無しさん
2009/06/16(火) 20:27:25defined?は特殊だからいいけど nonzero? はちょっと違和感があるなあ
0806デフォルトの名無しさん
2009/06/16(火) 20:36:50http://www2a.biglobe.ne.jp/~seki/ruby/best_practice.html#Boolean.20Property.20Setting.20Method
0807782
2009/06/16(火) 23:41:06色々な回答をありがとうございます。
Rubyのユーザーの方々がどんなイメージを持っているのかが、なんとなくわかってきました。
そういったイメージの集合体が、いわゆる慣習というものなんでしょうね。
なるべく違和感なく自然に扱えるようなメソッド構成、メソッド名にしていけるよう、
よく考えてみます。
あ、特に話題がなければそれなりに面白い話だと思うので引き続きどうぞ。
0808デフォルトの名無しさん
2009/06/17(水) 01:33:24最近は何か別のネタでもあるのかな。
0809デフォルトの名無しさん
2009/06/17(水) 02:30:26http://blogs.itmedia.co.jp/hiranabe/2009/04/junit-max---ken.html
0810デフォルトの名無しさん
2009/06/17(水) 11:42:42のページだけど、Ruby1.9のダウンロードリンクはあるんだけど、1.8のがない。
そりゃたしかに安定版の最新は1.9.1かもしれんけど、世の中で広く使われているのはいまだ1.8系なんだから
1.8系へのリンクはあっていいよな。
こういう不親切さがRubyへの不満となるんだよ。
0811デフォルトの名無しさん
2009/06/17(水) 11:59:55ttp://www.ruby-lang.org/ja/downloads/
0812デフォルトの名無しさん
2009/06/17(水) 12:03:43俺まだ p72 だ
0813デフォルトの名無しさん
2009/06/17(水) 12:36:031.8とかいつの話だよ
0814デフォルトの名無しさん
2009/06/17(水) 12:43:380815デフォルトの名無しさん
2009/06/17(水) 12:47:48俺も p72だー
よろしくね
0816デフォルトの名無しさん
2009/06/17(水) 20:44:07てきとうに手元で commit して git push "Your Clone URL"
おー history に俺の名前ばっかだ
無理した感じの英語で書いたコミット説明がずらっと並んで痛々しい
ところで fork ボタンを押すと fork されたよって連絡が行くって本当ですか
怖くて fork しにくいじゃないか
0817デフォルトの名無しさん
2009/06/17(水) 20:54:08ruby-list:46090 とかのアナウンスが読めなくて悲しい
0818デフォルトの名無しさん
2009/06/17(水) 21:05:170819デフォルトの名無しさん
2009/06/17(水) 21:20:18いじる前にはforkする必要ないよ。
怖いんならいじり終わってmergeしてもらいたいときだけforkすればよろし。
0820デフォルトの名無しさん
2009/06/17(水) 21:45:51さっさとそうなっていてくれていいのに…っていうドザの願いを踏みにじる無神経なレスだなw
0821デフォルトの名無しさん
2009/06/17(水) 22:03:45と思ってるWindows使いは星の数ほど居る。
0822デフォルトの名無しさん
2009/06/17(水) 22:35:460823デフォルトの名無しさん
2009/06/17(水) 22:41:30・よっぽど知り尽くして使うか、
・よっぽどてけとーに使うか、
どちらかでない限り必ず間違いなく絶対にいつか
"理不尽な"トラブルに出くわす、それがSJIS・CP932クオリティ
0824デフォルトの名無しさん
2009/06/17(水) 22:58:47それならばいっその事とascii以外の全ての文字コードを切り捨て
一方Guidoは90%のユーザーの利便性を考えUTF-8を採用した。
0825デフォルトの名無しさん
2009/06/17(水) 23:08:55文字列って言ったって所詮はバイト列さ!
エンコーディングなんつまりはバイト列の付加情報さ!
0826デフォルトの名無しさん
2009/06/18(木) 00:17:32ファッキンなSJISとか使いたい奴だけマジックコメント書けよ
0827デフォルトの名無しさん
2009/06/18(木) 01:05:210828デフォルトの名無しさん
2009/06/18(木) 01:25:06とは思うなー
0829デフォルトの名無しさん
2009/06/18(木) 02:07:590830デフォルトの名無しさん
2009/06/18(木) 06:45:27読み込み時にFATALで死ぬような状態を言う
嘘でも冗談でもスクリプトは読み込まれて実行されるんだから、デフォルトエンコーディングは一応存在はしているぞ
0831デフォルトの名無しさん
2009/06/18(木) 06:49:59gemライブラリで書いたテストをRuby1.9で実行するとEncodingの関連でエラーが出るんだよー
1.9用のテストだけ別ディレクトリ掘って作っていいよなー
0832デフォルトの名無しさん
2009/06/18(木) 07:06:41「1.8用の文字列関連のテストファイル」と
「1.9用の文字列関連のテストファイル」と
「文字列関連のテストが入ってそうだが実際は取り除かれているテストファイル」
の3つを管理しなければならなくなって苦痛だぞ
0833デフォルトの名無しさん
2009/06/18(木) 07:32:24test_hogehoge_encoding_18.rb
test_hogehoge_encoding_19.rb
の3つを作って、test_hogehoge.rb の先頭で
if RUBY_VERSION >= '1.9.0' then
require 'test_hogehoge_encoding_19.rb'
else
require 'test_hogehoge_encoding_18.rb'
end
とか書くのか
めんどっちいのう
0834デフォルトの名無しさん
2009/06/18(木) 08:01:28Ruby1.9 用の test_hogehoge_encoding_19.rb を読んでしまってエラーになる気がする
0835デフォルトの名無しさん
2009/06/18(木) 08:06:010836デフォルトの名無しさん
2009/06/18(木) 08:42:21Nokogiri を Ruby1.9 で動かしたらコアダンプした
0837デフォルトの名無しさん
2009/06/18(木) 09:16:36よくあること
0838デフォルトの名無しさん
2009/06/18(木) 12:12:12呼ばないといけないんだけど、1.8.xにはそんな関数無いよね。
1.8.x/1.9.1でソースを共通にしたかったら、どんなふうに書けばいいんだろう。
1.9でversion.hが無くなってちょっと困ってる。
0839デフォルトの名無しさん
2009/06/18(木) 12:36:510840デフォルトの名無しさん
2009/06/18(木) 12:50:39世界中で困ってるんじゃないかな
…いや、世界の人は困ってないか
0841デフォルトの名無しさん
2009/06/18(木) 12:57:39ttp://blog.livedoor.jp/dankogai/archives/51224106.html
にしても、本当に日本語で UTF-8 使っている奴って何人いるんだろうと思ってしまう。
0842デフォルトの名無しさん
2009/06/18(木) 13:29:43世界で自分くらいしか喜ばないような魔改造を含んだ
大量のcommitを作者にぶんなげるのは心苦しいんだがっていうか邪魔じゃん?
0843デフォルトの名無しさん
2009/06/18(木) 13:45:35あー、うん、いますぐブランチ切れ
git branch makaizou
git checkout makaizou
git-emacs では M-x git-branch で makaizou を選べば読んでるファイルが makaizou ブランチのものになる
保存してないファイルがどうなるかは知らんので
ブランチ切る前に Emacs で保存だけはしておけ(コミットする必要はない)
このへんの迷惑かけないような使い方って解説あんまないよね
0844デフォルトの名無しさん
2009/06/18(木) 14:02:25おー
っていうかgitの使い方はスレ違いだな
でもgithubにもう送っちゃったんだよね
今からでもこの最初の3つくらいの変なコミット取り消せないかな
まあいいや
ありがとう
0845デフォルトの名無しさん
2009/06/18(木) 14:09:57Linuxの最近のディストリビューションとか、日本語でインストールしたらデフォルトで
LANG=ja_JP.UTF-8 になってるんじゃないの? 知らんけど。
0846デフォルトの名無しさん
2009/06/18(木) 14:31:040847デフォルトの名無しさん
2009/06/18(木) 15:16:39ttp://github.com/tenderlove/enterprise/tree/master
0848デフォルトの名無しさん
2009/06/18(木) 16:49:13初回販売だと2時間半で終わったのに、まだ残っているんだな
0849デフォルトの名無しさん
2009/06/18(木) 17:25:06日本でLinuxを日本語を使う環境として使ってる奴って何人いるんだ、
という話なのかもしれない。
0850デフォルトの名無しさん
2009/06/18(木) 22:16:33have_func("rb_enc_str_new")
#ifdef HAVE_RB_ENC_STR_NEW
0851デフォルトの名無しさん
2009/06/18(木) 22:50:31なるほど・・・なんだかすごい仕組みだなあ
ともかくこれでできそう。
ありがとう!
0852デフォルトの名無しさん
2009/06/19(金) 09:14:03というか、(1..3).inject {|h, x| h.store(x, true) } みたいにやってハマった
[].push(1).push(2).push(3) はできるんだから、
{}.store(1, true).store(2, true).stoe(3, true) ができてもいいと思う
0853デフォルトの名無しさん
2009/06/19(金) 10:04:10つ
(1..3).inject({}) {|h, x| h.merge(x => true) }
{}.merge(1 => true, 2 => true, 3 => true)
で我慢してくれ。
0854デフォルトの名無しさん
2009/06/19(金) 10:05:46{}.merge(1 => true).merge(2 => true).merge(3 => true)
がより元のコードに近いか
0855デフォルトの名無しさん
2009/06/19(金) 10:12:30Hashはimutableなモデルを模倣することをハナから放棄しているからじゃないかな。
素直にeachで破壊的にやれと。
0856デフォルトの名無しさん
2009/06/19(金) 12:24:12obj['hoge'] = val を評価した値が #[]= の実装に依存していた
ころならともかく、今だったらself返すようにしてくれって言っても通るかも。
0857デフォルトの名無しさん
2009/06/19(金) 12:28:261.9系では、
(1..3).each_with_object(h){|x, memo| memo.store(x, true) }
0858852
2009/06/19(金) 12:33:24いや…代用にはならんでしょ
require 'benchmark'
N = 10000
Benchmark.bm do |r|
r.report('store') { (1..N).inject({}) {|h, x| h.store(x, 0); h } }
r.report('merge') { (1..N).inject({}) {|h, x| h.merge(x => 0) } }
end
user system total real
store 0.015000 0.000000 0.015000 ( 0.015625)
merge 71.547000 1.391000 72.938000 ( 72.968750)
話にならん
0859デフォルトの名無しさん
2009/06/19(金) 12:53:240860デフォルトの名無しさん
2009/06/19(金) 13:27:37おお、そうだった。merge! 使わないとフェアじゃないね。
より正確に bmbm でやってみた。
user system total real
store 0.032000 0.000000 0.032000 ( 0.031250)
update 0.047000 0.000000 0.047000 ( 0.046875)
merge! 0.047000 0.000000 0.047000 ( 0.046875)
update と merge! は実体同じだから一緒。
引数で毎回 Hash 作るコストはそんなでもないのかな。
0861デフォルトの名無しさん
2009/06/19(金) 13:37:27これいいね。ちょっと記述量は増えるけど。
1.9.1p129 で、inject 版とまったく同じタイムになった。
0862デフォルトの名無しさん
2009/06/19(金) 14:59:46軽くなったという話をどこかで聞いたような
0863デフォルトの名無しさん
2009/06/19(金) 16:38:13きっとさらにすごい経歴の持ち主なんだろうけど
どういう経歴の人なの?
0864デフォルトの名無しさん
2009/06/19(金) 17:46:44Rubyのダイエット
http://cvs.m17n.org/~akr/pub/ruby-diet-lc2007lt.pdf
0865デフォルトの名無しさん
2009/06/21(日) 19:50:05それだ! ありがとう
0866デフォルトの名無しさん
2009/06/21(日) 20:56:43東大卒、東大助教授を止めて松江に戻って起業したら松本さんが
社長と一緒に働くために松江にやってきた。
これくらいしか知らん。
0867デフォルトの名無しさん
2009/06/22(月) 13:54:10マジで社長の自演じゃないかと思ってしまう。
0868デフォルトの名無しさん
2009/06/22(月) 15:00:45ヒント:全部age・「東大卒」「東大助教授」
これで理解できなければ2chから今すぐ離れたほうがいい
0869デフォルトの名無しさん
2009/06/22(月) 15:21:450870デフォルトの名無しさん
2009/06/22(月) 16:27:56確かまだ売れっ子でない時代に「言語開発者」って肩書きで
雇ったんじゃなかったか?先見の明があったのか何なのか
0871デフォルトの名無しさん
2009/06/22(月) 17:59:160872デフォルトの名無しさん
2009/06/22(月) 19:41:530873デフォルトの名無しさん
2009/06/22(月) 19:50:19本当に東大卒なのか?
あやしい
0874デフォルトの名無しさん
2009/06/22(月) 20:04:42実際はどうでもいいんだろ
評判が落ちればそれで問題ない
はっきり言え
0875デフォルトの名無しさん
2009/06/22(月) 21:05:59そんなに珍しくないぜ?
0876デフォルトの名無しさん
2009/06/22(月) 21:08:160877デフォルトの名無しさん
2009/06/22(月) 21:10:31希少価値のあるもんでもないわな
0878デフォルトの名無しさん
2009/06/22(月) 21:18:15長く会社にいると分かるけど大学卒業という学歴に対する評価がすごく変わった。
最近じゃうちのような中小企業でも東大卒の子を普通に落とすけど昔じゃあり得んかった。
まぁ景気の問題もあるけどね。
0879デフォルトの名無しさん
2009/06/23(火) 15:50:15checkboxをうまくパースできないようなので(サイトの方の問題だと思います)
checkboxを追加したいのですが,やり方がわかりません。
fieldの場合はadd_field!のメソッドがあるのですが,checkbox(radiobutton)にもそのようなものはありませんか?
ためしてみたのはつぎのようなものです。
agent.get(SOMEURL)
form = agent.page.forms[0]
WWW::Mechanize::Form::CheckBox.new('chkA', '01', true, form)
WWW::Mechanize::Form::CheckBox.new('chkA', '02', true, form)
ruby 1.8, mechanize 0.9.3です。
よろしくアドバイスをお願いします。
0880デフォルトの名無しさん
2009/06/23(火) 16:44:14ttp://d.hatena.ne.jp/kitamomonga/20080402/ruby_www_mechanize_form#add_field!
> 入力欄や選択リストを任意に作成してフォームに追加します。
って書いてあるけど、チェックボックスがどういうデータを送るかがわかっていればそれが使える
うまい例がないんだが、以下の「ブログフィルタ」っていうチェックボックスで試すと
ttp://search.yahoo.co.jp/web/advanced?ei=UTF-8&p=&meta=vc%3D&fl=0&fr=sfp_as
HTML が <input type="checkbox" id="blog" name="blf" value="1" > なので
これをチェックすると、POST するクエリでは name=value であるところの blf=1 というデータになる
つまり、「name が blf で value に 1 が入ってる入力欄」と同じことになる
require 'rubygems'
require 'mechanize'
uri = 'http://search.yahoo.co.jp/web/advanced?ei=UTF-8&p=&meta=vc%3D&fl=0&fr=sfp_as'
agent = WWW::Mechanize.new
agent.get(uri).form_with(:name => 'as'){|f|
f.field_with(:name => 'va').value = 'dankogai'
}.click_button
if agent.page.links_with(:text => '404 Blog Not Found').empty? then p "NO BLOG!!" else p "blog found" end
agent.get(uri).form_with(:name => 'as'){|f|
f.field_with(:name => 'va').value = 'dankogai'
# ブログフィルタをチェックする代わりに入力済み入力欄として追加
f.add_field!('blf', '1')
}.click_button
if agent.page.links_with(:text => '404 Blog Not Found').empty? then p "NO BLOG!!" else p "blog found" end
0881デフォルトの名無しさん
2009/06/23(火) 16:45:48つまりその例だと
agent.get(SOMEURL)
form = agent.page.forms[0]
form.add_field!('chkA', '01')
form.add_field!('chkA', '02')
で動くと思われ
0882879
2009/06/23(火) 17:34:54ありがとうございました。
ttp://mechanize.rubyforge.org/mechanize/
があまり役に立たなくって...
0883デフォルトの名無しさん
2009/06/23(火) 18:23:20ライブラリ本体は便利なのにオフィシャルマニュアルがうんこだという典型的Rubyライブラリだ
誰かが解説しないとソース読み込める奴以外誰も使えないから流行らないというネガティブスパイラル
0884デフォルトの名無しさん
2009/06/24(水) 02:22:36>昔は東大卒というのは特別の価値があったんだよ。競争率も今とは違うしね。
法学部と、他の学部に格差が
0885デフォルトの名無しさん
2009/06/24(水) 19:56:15なんかすっごい注目されたりとかしたらどうしよう、みたいに思ってましたが
1週間経ってもwatchersは自分1人のままです
世の中そんなもんだと思うので気軽にforkして公開するのがいいと思います
0886デフォルトの名無しさん
2009/06/24(水) 20:45:13注目されるプログラムとかソフトの割合はかなり低いと思うよ。
ベクターとかでも大量にソフトがあるけどほとんどはたいして使われない。
ベクターか窓の杜にはおれが10年くらい前に作った残骸があるかも。
注目してくれたら当たりくらいに思った方がいいよ。
アップするときは注目される気マンマンなんだけどね。
0887デフォルトの名無しさん
2009/06/24(水) 22:57:11いったんファイルに書いたほうがよいでしょうか?
report = ''
CSV::Writer.generate(report, ',') do |csv|
csv < < ['項目1', '項目2', '項目3']
Mydata.find(:all).each do |mydatas|
csv << [mydatas.field1, mydatas.field2, mydatas.field3]
end
end
send_data(NKF.nkf('-U -s -Lw', report),
:type => ‘text/csv; charset=shift_jis; header=present’,
:filename => “report-#{Time.now.strftime(’%Y%m%d’)}.csv\")
0888デフォルトの名無しさん
2009/06/25(木) 05:24:37fastercsv とかインストールしてそっち使えと思ったがこれ Ruby1.9 か
まあ若干メモリ圧迫するとは思うがそのかわり速いぞ
0889デフォルトの名無しさん
2009/06/25(木) 05:46:04csv生成よりもsend_dataの方が問題な気がする
0890デフォルトの名無しさん
2009/06/25(木) 05:53:29一件あたりのデータサイズがどのくらいになるのかわからないからなんともいえない。
でもいったんファイルに書いた方が安心だとは思う
0892デフォルトの名無しさん
2009/06/25(木) 11:44:59ちょうど1万件ちょっとでやってみたことがあるが、
上半分(csv につめるところ)は、速度は気にならなかった。
ただしあなたがきにしているのはメモリがパンクするかどうかなので、その検証はあまりしていない。
# >>887 の例だとカラムが3つぐらいなので、そのカラムの長さにも寄るけど、10万件ぐらいだったら大丈夫な気もするけど
よく fastercsv の方が速いというが、すでにある CSV をパースするときはそうかも知れないけど、
既存のデータを csv 煮詰めるところは、あまり変わらないように思う。
0893デフォルトの名無しさん
2009/06/26(金) 12:04:450894デフォルトの名無しさん
2009/06/26(金) 16:16:17Ruby作者のいる会社って女性はノースリーブで通勤は可ですか?
0895デフォルトの名無しさん
2009/06/26(金) 16:39:330896デフォルトの名無しさん
2009/06/26(金) 18:15:100897デフォルトの名無しさん
2009/06/26(金) 18:34:030898デフォルトの名無しさん
2009/06/26(金) 18:43:33わかんねーよw
0899デフォルトの名無しさん
2009/06/26(金) 18:45:16本人にきけ
>>897
なぜにそんなもったいないことを?
0900デフォルトの名無しさん
2009/06/26(金) 20:01:31リラックスして肩の力を抜こう、ということらしいが…
0901デフォルトの名無しさん
2009/06/26(金) 20:05:150902デフォルトの名無しさん
2009/06/26(金) 20:17:53冷房を弱めるから服装も、とかそういう意味でなくて?
0903デフォルトの名無しさん
2009/06/26(金) 22:20:40寝言はおごちゃん(辞めたけど)の髪を見てから言え。
0904デフォルトの名無しさん
2009/06/27(土) 03:06:37外から見ると綺麗に見えるのに中身はごっちゃごちゃ
もう一度練り直してほしいなぁ
0905デフォルトの名無しさん
2009/06/27(土) 03:10:050906デフォルトの名無しさん
2009/06/27(土) 07:31:13たぶん練り直しが2.0.0になるんだろうな
0907デフォルトの名無しさん
2009/06/27(土) 07:35:170908デフォルトの名無しさん
2009/06/27(土) 08:47:150909デフォルトの名無しさん
2009/06/27(土) 09:12:18JRubyの方が速いなんて言われてるし。
0910デフォルトの名無しさん
2009/06/27(土) 09:13:52どうせなら仕様もなんとかしてほしい.
変数の種類だけで五種類もあるなんて、無駄すぎる。CやLISPは一種類だぜ。
あとスコープが関数と変数で違っていて意味不明。
0911デフォルトの名無しさん
2009/06/27(土) 09:17:25rubyはインタープリタとしてはそんなに遅くはないだろ。むしろ頑張ってる方。
0912デフォルトの名無しさん
2009/06/27(土) 09:40:21関数って何ですか?
0913デフォルトの名無しさん
2009/06/27(土) 09:53:55メソッドやらサブルーチンやらプロシージャやらと同類の処理の固まりです。
言語によって呼び方も定義も中身も違いますので、単にそれらっぽいものの
総称で使われることもある便利な言葉です。少し頭やわらかくして下さい。
0914デフォルトの名無しさん
2009/06/27(土) 09:59:420915デフォルトの名無しさん
2009/06/27(土) 10:06:110916デフォルトの名無しさん
2009/06/27(土) 10:20:30そりゃそれぞれ役割が違うから
0917デフォルトの名無しさん
2009/06/27(土) 10:22:58どこで変数が最初に定義されたかでスコープが決まるんだからな
それでもよければ
0918デフォルトの名無しさん
2009/06/27(土) 10:27:05str=('Hello'){
puts str #=> Hello
}
略記
str = hello {
puts str #=> Hello
}
0919デフォルトの名無しさん
2009/06/27(土) 10:44:11Cの場合はグローバル、ファイルローカル、関数ローカル、静的ローカル、
さらにRubyのインスタンス変数に相当する、構造体メンバ、...
どこから見ても1種類じゃありませんが。
0920デフォルトの名無しさん
2009/06/27(土) 12:05:07具体的に五種類はなんだ?
0921デフォルトの名無しさん
2009/06/27(土) 12:34:24・ ローカル変数
・ インスタンス変数
・ クラス変数
・ グローバル変数
・ 疑似変数(selfやtrueや__FILE__など)
の5種類だと思われる
0922デフォルトの名無しさん
2009/06/27(土) 12:40:280923デフォルトの名無しさん
2009/06/27(土) 12:43:230924デフォルトの名無しさん
2009/06/27(土) 13:12:090925デフォルトの名無しさん
2009/06/27(土) 13:25:40そういうことかよ!それを一種類ってバカじゃないのか?
これを言ったやつのプログラムソースが見てみたい。
0926デフォルトの名無しさん
2009/06/27(土) 13:27:11少なくともrubyより実装が複雑な言語を見たことがない。
素人同然が作った言語を計画性無しに拡張しまくったからもう後戻りできない感じ。
基本的に他言語のパクリの繰り返しなのでスタイルも糞もない
0927デフォルトの名無しさん
2009/06/27(土) 13:34:170928デフォルトの名無しさん
2009/06/27(土) 13:34:55ローカル、インスタンス、クラス、グローバル、定数、だと思う
var @var @@var $var VAR
で、@ や $ を外すためには変数宣言時に変数の種類を指定する必要が出てくるわけだが
きっと>>910はそんなこと考えてないんだろうな
0929デフォルトの名無しさん
2009/06/27(土) 13:36:05Rubyをインストールしても中身を見れるのはインタプリタではなくてライブラリだけですよね。
そもそもインタプリタ自身は何の言語で書かれてるの?やっぱりC言語かな?
0930デフォルトの名無しさん
2009/06/27(土) 13:38:17Rubyのソースコードをどうぞ。
http://i.loveruby.net/ja/rhg/book/
古いバージョンだが、解説もある。
0931デフォルトの名無しさん
2009/06/27(土) 13:40:20メソッドと1:1対応に近い感覚で読めたりする。
言語のコア部分は、RHGに沿って読むなら1.9だと全く違ってくるので
1.8系かそれ以前のがいいかな。
0932デフォルトの名無しさん
2009/06/27(土) 13:49:12たぶん無理だけどw
0933デフォルトの名無しさん
2009/06/27(土) 14:00:561.9の実装も複雑なのか?
まあ玄人な>>926にすこぶる美しい実装を期待したいな。
部分的に見るだけなのと、膨大な全体を作るのとでは全く勝手が違うことに気づくだろう。
0934デフォルトの名無しさん
2009/06/27(土) 14:18:14PerlがRubyよりシンプルなところを5点以上挙げよ
0935デフォルトの名無しさん
2009/06/27(土) 14:21:44・ソースコード
・ソースコード
・ソースコード
・ソースコード
0936デフォルトの名無しさん
2009/06/27(土) 14:25:370937デフォルトの名無しさん
2009/06/27(土) 14:27:24「あんたはPerlのソースを書くな」って言われたっていう例でってことでね。
大半の人は知ってると思うから蛇足だけど。
0938デフォルトの名無しさん
2009/06/27(土) 14:31:581.9はYARVを使ってるから、RHGと照し併せては読めない部分がある。
0939デフォルトの名無しさん
2009/06/27(土) 14:44:260940デフォルトの名無しさん
2009/06/27(土) 14:50:19抽象構文木の生成までは複雑すぎるので触らずに
バイトコードを吐かせるようにしたのが1.9だったと思う
Ruby言語(とリファレンス実装でもあるMRI)は複雑だと言われていたが、
最近ではJRubyを初め雨後の筍のごとく多数の実装が出てきたのを見ると、
言語処理系の専門家でも手に負えないというレベルではないようだ
0941デフォルトの名無しさん
2009/06/27(土) 14:52:14○ ワードコード
0942デフォルトの名無しさん
2009/06/27(土) 15:43:31複雑≠困難
0943デフォルトの名無しさん
2009/06/27(土) 16:07:16print <<EOS
シンプルって何を見てシンプルって言ってんだ。
少なくとも#{lang_name}より実装が複雑な言語を見たことがない。
素人同然が作った言語を計画性無しに拡張しまくったからもう後戻りできない感じ。
基本的に他言語のパクリの繰り返しなのでスタイルも糞もない
EOS
end
tenpre926 'C++'
tenpre926 'Java'
tenpre926 'Perl'
tenpre926 あなたの好きな言語名
0944デフォルトの名無しさん
2009/06/27(土) 16:09:520945デフォルトの名無しさん
2009/06/27(土) 16:17:460946デフォルトの名無しさん
2009/06/27(土) 16:18:160947デフォルトの名無しさん
2009/06/27(土) 16:20:540948デフォルトの名無しさん
2009/06/27(土) 16:24:000949デフォルトの名無しさん
2009/06/27(土) 18:29:37YARVつーか1.9のVMはこの辺見ながらだと分かりやすいよ
YARVソースコード勉強会 - ひとり勉強会
ttp://d.hatena.ne.jp/hzkr/19000101
YARVアーキテクチャ
ttp://www.atdot.net/yarv/yarvarch.ja.html
0950デフォルトの名無しさん
2009/06/27(土) 19:33:24後々改造する人がめんどくさいから
Hashでなくてもよくなったときに、Hash時代との互換性のために
Hashクラスにある全部のメソッドを新クラスに定義する羽目になるぞ
0951デフォルトの名無しさん
2009/06/27(土) 19:52:14javaのジェネリクス機能はプログラミング言語を専門にする研究者が開発した、理論的にも美しい機能。
しかもそれは日本人。
日本が世界に誇る言語はもしかしてjavaなんじゃなかろうか。
0952デフォルトの名無しさん
2009/06/27(土) 20:05:07ttp://blog.livedoor.jp/dankogai/archives/50974637.html
ttp://www.itmedia.co.jp/enterprise/articles/0712/26/news015_2.html
0953926
2009/06/27(土) 20:29:06>>927>>933
そんなもんは俺なんかに頼らなくても元々の開発者たちが意識していないといけないこと。
>>934
あんたに5点挙げろとか指図されるいわれはない。
一言だけ言わせてもらえれば、Perlはバージョンアップごとに仕様もソースコードも慎重に整理されてる。
Rubyと比べれば利用率が半端ないし、開発者もその自覚があるからね。
0954デフォルトの名無しさん
2009/06/27(土) 20:33:07GJの理論付けは日本人だけど、デザインはWadlerだろ。
0955デフォルトの名無しさん
2009/06/27(土) 20:48:250956デフォルトの名無しさん
2009/06/27(土) 20:51:57いきなりだれに言ってるんだよ。
そんなことしないし、しようと思ったこともない。
>>953
> 俺なんかに頼らなくても
おまえだれだよ。わけわからんのはおまえだ。
なんでいきなり変のがウヨウヨわいてくるんだ?
0957デフォルトの名無しさん
2009/06/27(土) 22:32:16>>953は文句言うだけで何もできないから×
できるのかもしれないけど、やらないよね。絶対。
できないのとやらないのは同じ。
0958デフォルトの名無しさん
2009/06/28(日) 02:40:57>少なくともrubyより実装が複雑な言語を見たことがない。
・・・はぁ?
PerlやC++のほうがよっぽど複雑なんだけど。
海外では「Rubyの実装はシンプルすぎる(高速化の工夫が足りない)」と言われているのに。
ちなみにどのへんの実装が他の言語より複雑なのさ?具体的に指摘してみようぜ。
>>953
>一言だけ言わせてもらえれば、Perlはバージョンアップごとに仕様もソースコードも慎重に整理されてる。
>Rubyと比べれば利用率が半端ないし、開発者もその自覚があるからね。
だからどうした?慎重に管理されているから複雑じゃないとでもいうのか?
0959デフォルトの名無しさん
2009/06/28(日) 02:58:36必死なのはわかりますが、人に根拠や具体性を求めたかったら
まず持論に根拠や具体性を持たせましょう。
0960デフォルトの名無しさん
2009/06/28(日) 03:11:43シンプルの意味を勘違いしてるんじゃね?
たとえ1000行のコードでもスキル無い奴が書けばすごく複雑になる。
0961デフォルトの名無しさん
2009/06/28(日) 05:45:16>1000行
こーゆー所とかの話?
0962デフォルトの名無しさん
2009/06/28(日) 07:15:290963デフォルトの名無しさん
2009/06/28(日) 08:19:52どこがどうとかまともにやってくれ。水掛け論じゃんかよ。
流れを図におこしてPerlと比較するとか。どうせできないんだろ?
0964デフォルトの名無しさん
2009/06/28(日) 08:38:000965デフォルトの名無しさん
2009/06/28(日) 08:46:36そ れ す ら w
0966デフォルトの名無しさん
2009/06/28(日) 08:57:32PUSH_TAGが散在しすぎだったりで、ソース整理して欲しいと思うことはある
こういうのは複雑というのとはちょっと違うか
0967デフォルトの名無しさん
2009/06/28(日) 09:17:200968デフォルトの名無しさん
2009/06/28(日) 09:18:15お前の番だよ
0969デフォルトの名無しさん
2009/06/28(日) 09:25:11大演説が始まっちゃうよw
0970デフォルトの名無しさん
2009/06/28(日) 09:27:280971デフォルトの名無しさん
2009/06/28(日) 09:27:29得意げに「お前の番だよ」とかすげー笑えるw
どこが複雑なのかさっぱりわからんし、
どうすればいいかも書いてない。レスしようにもレスできないw
0972デフォルトの名無しさん
2009/06/28(日) 09:29:360973デフォルトの名無しさん
2009/06/28(日) 09:30:130974デフォルトの名無しさん
2009/06/28(日) 09:30:16> レスできない
ああ、やっぱりできないんだね。
0975デフォルトの名無しさん
2009/06/28(日) 09:31:35お前はよく頑張った。もう休んで良いぞ。
0976デフォルトの名無しさん
2009/06/28(日) 09:34:43必死のやりくりで「俺はお利口設定」を維持しようとしている時の
言動見てる時って、不思議なワクワク感があるよねw
0977デフォルトの名無しさん
2009/06/28(日) 09:36:50人の記憶の暗黒面をつっつくような、痛がゆい醜さと既視感と。
0978デフォルトの名無しさん
2009/06/28(日) 09:41:16こんなところでくだを巻いてるわけがない。
そういう人は自分で作ったり、Rubyのメンテナとかをやって、
ある程度不満をどうにかできるからな。
あと、連続投稿ならやめてほしい。うっかりチェックしてしまう。
0979デフォルトの名無しさん
2009/06/28(日) 09:54:100980デフォルトの名無しさん
2009/06/28(日) 10:14:48いざ具体的な話になると行きつけのコンビニ店員の態度に
文句をつける程度になるとはどういうことだ。
0981デフォルトの名無しさん
2009/06/28(日) 10:21:06終始文句をつけてるだけだ。
0982デフォルトの名無しさん
2009/06/28(日) 10:22:11rubyのスレだからrubyについて各自思うことを論じ合えばいい。
無知な馬鹿ほど外から文句付けたがるのは仕方ないこと。
0983デフォルトの名無しさん
2009/06/28(日) 10:26:23外から文句を付けたがる無知な馬鹿同士、もっと仲良くしようぜ。
0984デフォルトの名無しさん
2009/06/28(日) 10:36:26アノテーションの意義が話題になってて
内容を理解できない馬鹿がソースコードで示せって喚いてたっけ
0985デフォルトの名無しさん
2009/06/28(日) 10:43:57Rubyスレ量産するぐらいならRailsスレ作りません?
作っても需要無い?
0986デフォルトの名無しさん
2009/06/28(日) 10:45:200987デフォルトの名無しさん
2009/06/28(日) 10:50:12まあきりがないから別の話題で。特に振るものもないが。
0988デフォルトの名無しさん
2009/06/28(日) 12:13:46http://pc11.2ch.net/test/read.cgi/php/1241100447/
0989デフォルトの名無しさん
2009/06/28(日) 12:43:030990デフォルトの名無しさん
2009/06/28(日) 12:49:00吠え返せない奴の典型的捨て台詞だね。
0991デフォルトの名無しさん
2009/06/28(日) 14:05:04自分で「具体的に」なんて話題振っておきながら。
0992デフォルトの名無しさん
2009/06/28(日) 14:32:190993デフォルトの名無しさん
2009/06/28(日) 14:34:060994デフォルトの名無しさん
2009/06/28(日) 14:50:130995デフォルトの名無しさん
2009/06/28(日) 15:01:250996デフォルトの名無しさん
2009/06/28(日) 15:43:120997デフォルトの名無しさん
2009/06/28(日) 15:47:350998デフォルトの名無しさん
2009/06/28(日) 15:55:510999デフォルトの名無しさん
2009/06/28(日) 16:13:22> 吠え返せてないのは誰でしょう
あなたですね。
1000デフォルトの名無しさん
2009/06/28(日) 16:14:1910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。