Rubyについて Part 32
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/07/09(水) 00:32:32Ruby Home Page
http://www.ruby-lang.org/ja/
= 前スレ
Rubyについて Part 31
http://pc11.2ch.net/test/read.cgi/tech/1204466626/
過去スレ・関連スレは >>2-
0002デフォルトの名無しさん
2008/07/09(水) 00:33:55http://pc11.2ch.net/test/read.cgi/tech/1214498119/
【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について(アンチ専用) 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デフォルトの名無しさん
2008/07/09(水) 00:34:26ttp://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デフォルトの名無しさん
2008/07/09(水) 00:35:06ttp://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デフォルトの名無しさん
2008/07/09(水) 00:35:38http://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デフォルトの名無しさん
2008/07/09(水) 01:10:22でも人が少ないんじゃね・・・・・・
0007デフォルトの名無しさん
2008/07/09(水) 01:30:22ただまぁ、やっぱり参入障壁が高くなってしまったのは一つのデメリットだよな
バージョン間の違いについての正確さを求めるための、やむを得ない制限なのだろうとは思うが
0008デフォルトの名無しさん
2008/07/09(水) 10:38:44http://pc11.2ch.net/test/read.cgi/tech/1213298522/
0009デフォルトの名無しさん
2008/07/09(水) 10:59:210010デフォルトの名無しさん
2008/07/09(水) 12:55:260011デフォルトの名無しさん
2008/07/09(水) 18:46:05kconv と iconv と uconv (とNKF)はどれをメインで使っていけばいいの?
1.8.6 使いだけど 1.9 系列も視野に入れてアドバイスくれくれ
0012デフォルトの名無しさん
2008/07/09(水) 18:57:191.9だとStringにencodeというメソッドが追加されるのでどれも使わなくていい。
0013デフォルトの名無しさん
2008/07/09(水) 19:03:53といいなあ
外国の人は怒りそうだけど
0014デフォルトの名無しさん
2008/07/09(水) 19:19:18文字コードの自動認識が必要ないならuconv
自動認識が欲しいならkconv(もしくはnkf)
0015デフォルトの名無しさん
2008/07/09(水) 19:44:280016デフォルトの名無しさん
2008/07/09(水) 22:38:500017デフォルトの名無しさん
2008/07/09(水) 23:59:230018デフォルトの名無しさん
2008/07/10(木) 00:13:23ダックタイピングwのRubyなんだろ?なんでoriginのインターフェイスにこだわるかな
0019デフォルトの名無しさん
2008/07/10(木) 00:18:42エンコーディングメソッドいくつ定義する気だよ。
0020デフォルトの名無しさん
2008/07/10(木) 00:20:49どうせラッパのラッパなんだから、それほどの手間じゃ無かろうが
KconvとのAPI互換性だけでも有意義だとは思うが
0021デフォルトの名無しさん
2008/07/10(木) 00:38:14そういった意味では、NKFは糞だな。今日日Unixerでもnkfを日常的に使ってる
人間なんて、少なくとも若手ではそんなにいないんじゃね?
0022デフォルトの名無しさん
2008/07/10(木) 00:39:13元コードは何と想定すればいいんだろうか。$KCODE?
0023デフォルトの名無しさん
2008/07/10(木) 00:44:48Kconvではそうなの?Kconv::AUTOの自動検出ってそういう意味だったのか?
それでは統一しづらいな
0024デフォルトの名無しさん
2008/07/10(木) 00:49:040025デフォルトの名無しさん
2008/07/10(木) 01:16:03そこはmethod_missing経由で動的に定義するということで。
0026デフォルトの名無しさん
2008/07/10(木) 02:42:13意外に(?)nkfが使いやすい。
0027デフォルトの名無しさん
2008/07/10(木) 05:06:140028デフォルトの名無しさん
2008/07/10(木) 07:25:500029デフォルトの名無しさん
2008/07/10(木) 17:26:10デカい誤植で回収かなんかですか?
完全解説が完全説解になってたくらいなら上からシール貼っちゃえばわかりませんって
0030デフォルトの名無しさん
2008/07/10(木) 17:37:42初めてのRubyはなんかわりと人気らしいぞ
ちょっと前に初心者向けRuby本出した人涙目
0031デフォルトの名無しさん
2008/07/10(木) 18:51:23他の人が書いたら退屈になってもおかしくないのになぜか面白い。
コンパクトなので気軽に手に取れて、知りたい情報が簡単に探せる。
同じところを何度も読み返したくなってしまうほど文章の質が高い。
まあ俺がおおざっぱにRubyを知ってる初級者だからよけい面白く感じたという
のはあるかもしれないが、完成度は高いと思うよ。
0032デフォルトの名無しさん
2008/07/10(木) 19:44:28日本Rubyの会はどう考えているのでしょうか?
0033デフォルトの名無しさん
2008/07/10(木) 20:21:200034デフォルトの名無しさん
2008/07/10(木) 21:55:25このスレに書き込んでいるあなたが非常識な行動を繰り返していることについて、
このスレ住人として遺憾に思っているのですが、あなたはどう考えていますか。
0035デフォルトの名無しさん
2008/07/11(金) 07:22:19それどんな話?
0036デフォルトの名無しさん
2008/07/11(金) 08:07:32>>32だけじゃきになるじゃまいか
0037デフォルトの名無しさん
2008/07/11(金) 08:26:28ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%E9%AB%98%E9%87%8E%E5%85%89%E5%BC%98+site%3Apc11.2ch.net&num=50
0038デフォルトの名無しさん
2008/07/11(金) 12:39:17ポリモーフィズムで同じメソッド名が複数あるとき,
タグジャンプ先のクラスを選べない.
Emacs で implementers_of みたいな検索できるツールはないのかな
0039デフォルトの名無しさん
2008/07/11(金) 12:57:390040デフォルトの名無しさん
2008/07/11(金) 13:05:16> support C, C++, Yacc, Java and PHP4.
0041デフォルトの名無しさん
2008/07/11(金) 13:07:090042デフォルトの名無しさん
2008/07/11(金) 14:02:09というような話を3年くらい前にもしたような気がする
お前ら本当はRubyでたいしたこと書いてないんだろ、という気がせんでもない
0043デフォルトの名無しさん
2008/07/11(金) 19:03:51コード解析して色付けるのが面倒で、今でも机上の空論どまり
>>42
みんな普通のエディタで書いてるんだよきっと
0044デフォルトの名無しさん
2008/07/11(金) 20:06:090045デフォルトの名無しさん
2008/07/11(金) 20:47:590046デフォルトの名無しさん
2008/07/12(土) 00:42:50VimとかEmacsとかとか
Winだと何がいいんだろー、サクラエディタとか?
0047デフォルトの名無しさん
2008/07/12(土) 01:33:06サクラは、デフォルトでRubyダメだった気が・・・自分で足すのめんどくさいし・・・
まあ大人しくVimで良いと思うんだけどねw
最近は、Notepad++ってのがいい感じ。日本語気にしないのならだけどw
でもまあRubyなんてRailsくらいしか無いんだし、Windowsでサポートされないのも当然と言えば当然なのかもね
環境よりライブラリの方が重要な気がするし・・・
0048デフォルトの名無しさん
2008/07/12(土) 02:24:330049デフォルトの名無しさん
2008/07/12(土) 02:36:300050デフォルトの名無しさん
2008/07/12(土) 02:45:26Emacsにも入ってないし。
色付けとインデントしてくれるだけならGeditがやってくれる。
0051デフォルトの名無しさん
2008/07/12(土) 06:22:110052デフォルトの名無しさん
2008/07/12(土) 07:47:55こりゃひどいな。誰だよ学生の藤森くんって。
0053デフォルトの名無しさん
2008/07/12(土) 09:04:220054デフォルトの名無しさん
2008/07/12(土) 11:51:18ついでに、継続サポートしてくれてるのもないよね
0055デフォルトの名無しさん
2008/07/12(土) 14:14:330056デフォルトの名無しさん
2008/07/12(土) 14:17:440057デフォルトの名無しさん
2008/07/12(土) 14:20:08それより早く1.9.1を出してください><
予告を信じるとすると、今年のクリスマスだからまだ半年先か・・・長いな
0058デフォルトの名無しさん
2008/07/12(土) 14:36:321.9を使う人間ならsvn-snapshotを取得しなさい><
1.9はイイヨイイヨー
0059デフォルトの名無しさん
2008/07/12(土) 15:07:24なるほど。
Rubyで継続というと、ついついcallcc/Continuationクラスのことだと
思ってしまうのさ。
0060デフォルトの名無しさん
2008/07/12(土) 15:23:390061デフォルトの名無しさん
2008/07/12(土) 15:32:14exerbやRuby/SDLをruby1.9で使いたいんです><
0062デフォルトの名無しさん
2008/07/12(土) 15:41:08006361
2008/07/12(土) 18:22:56exerbの最新版(4.7.0)には、開発版コアとしてruby1.9.0関連のファイルが含まれているようなので
なんとかしてコンパイルできればruby1.9.0でも使えるかもしれない
>>62
そうなのか!? と思ってruby1.9.0-2で試してみたら
Segmentation Faultで落ちた(´;ω;`)ウッ…
0064デフォルトの名無しさん
2008/07/12(土) 19:34:05ちょっと触ってみた感じでは悪くなさそう
Eclipseより導入楽だし、軽くて使いやすいと感じた
俺自身はあんまりIDE使わないから、細かな評価は出来ないが
0065デフォルトの名無しさん
2008/07/12(土) 20:33:59Ruby/SDL普通に動いたが。まさかgemやら1.8のバイナリ使ったとかじゃないだろうな
1.9でextconfしてもダメなら、どんなスクリプト走らせたか見せてくれ
006663
2008/07/12(土) 20:59:27ということは、俺の環境に何か問題があるのだろうか……
走らせたスクリプトは、Ruby/SDL付属のサンプルコード(どれを走らせても同じエラー)
環境は
Windows XP Home
ruby 1.9.0 (2008-06-20 revision 17482) [i386-mswin32]
Ruby/SDL 2.0.1a(win32版)
exerb未使用(ruby.exeから直接実行)
ちなみにRuby/SDL側の推奨するバージョンはruby1.8.6ですが、ruby1.8.7で動くのは確認しました
バイナリ版なのでextconf.rbは未使用
0067デフォルトの名無しさん
2008/07/12(土) 21:10:591.9は1.9用のバイナリを自分でコンパイルしなきゃならんの
006866
2008/07/12(土) 22:08:21すまない、ようやく理解した。情報ありがとう
とりあえずコンパイルできるかどうか挑戦してみる。無理そうならruby1.9.1対応のバイナリ待つ
0069デフォルトの名無しさん
2008/07/12(土) 22:15:55あなた個人を責めてるわけではないから教えてよ
007066
2008/07/12(土) 22:31:50Ruby/SDLの配布ファイル名は「rubysdl-2.0.1a-mswin32-1.8.6-p114.zip」となっている
このファイル名からすると、ruby1.8.6-p114を使わないと正常に動かない?
↓
しかし実際には、1.8.6でも1.8.7でも問題なく動く
↓
ということは、ここに書いてあるバージョンは参考程度のもので
同じmswin32版であればrubyのバージョンにかかわらず同じバイナリが使えるはず!
↓
なら動作しない原因は、今のPC環境にある?
という思い込みのため
0071デフォルトの名無しさん
2008/07/13(日) 11:04:08そっか、ちょっと使ってみる
0072デフォルトの名無しさん
2008/07/13(日) 11:05:510073デフォルトの名無しさん
2008/07/13(日) 15:04:17IDEとしては相対的に軽いって話
誰もテキストエディタと比較してない
0074デフォルトの名無しさん
2008/07/13(日) 17:14:340075デフォルトの名無しさん
2008/07/13(日) 18:00:040076デフォルトの名無しさん
2008/07/13(日) 18:00:48大雑把に言って、テキストエディタに色々な便利機能を追加しただけのアプリケーションのはずなのに
0077デフォルトの名無しさん
2008/07/13(日) 18:10:31…ということになっている
Emacsの略語展開の動作を知ってるとどうにもウソ臭いがな
あれを進化させてなんであんなに重たくなるんだよ
しかも各社のIDEが揃いも揃って全部動作重たいとか何か談合とかでもしてるんかオラ
起動が遅いのはJavaのせいなのでまああれはあれで
0078デフォルトの名無しさん
2008/07/13(日) 18:57:11明示的に補完したい時は特定のキーを押す(Ctrl+space等)設定にしておくと良い
# 補完機能を無効化するんでなくて、自動補完機能を無効化する点に注意
0079デフォルトの名無しさん
2008/07/13(日) 18:59:02こんなしょぼいのと一緒にするなよ
0080デフォルトの名無しさん
2008/07/13(日) 19:08:06対象データと分岐判断がちょっと(ちょっと?)膨大だが
0081デフォルトの名無しさん
2008/07/13(日) 21:16:21なんというRuby全否定・・・
0082デフォルトの名無しさん
2008/07/14(月) 15:31:03でも、irb/compeletionで出来るぐらいの補完もruby-modeで出来ても
いいかもね。
0083デフォルトの名無しさん
2008/07/15(火) 01:47:55>断言してもいいが本質的には一緒だ
>対象データと分岐判断がちょっと(ちょっと?)膨大だが
うんにゃ、全然違う。
Emacsのdabbrevは文字列のパターンマッチしているだけ。
EclipseやNetBeansの補完はコードを構文解析したりclassファイルを読み込んでやっている。
これがパターンマッチと同じわけがない。
Emacsは文字列を編集していて、IDEはコンパイラを内蔵して構文木を編集している。
0084デフォルトの名無しさん
2008/07/15(火) 02:13:09というかそういう解説はいったいどこに存在してるんだ?
0085デフォルトの名無しさん
2008/07/15(火) 10:52:37> add_filter {|event, file, line, id, binding| .... }
ブロックの引数に klass が足りないんだが
どこにpostすれば直してくれるんだ?
0086デフォルトの名無しさん
2008/07/15(火) 12:11:24fn = "c:/foo/bar/hoge.rb" のとき
File.exist?(fn) && File.directory?(File.dirname(fn)) が true で
load(fn) とか require(fn) は OK なのに、
$:.unshift(File.dirname(fn))
require('hoge')
が失敗するのは何かの嫌がらせですか?
cygwin なんか使うのが悪いですか?
0087デフォルトの名無しさん
2008/07/15(火) 12:15:380088デフォルトの名無しさん
2008/07/15(火) 16:08:13あるいは最初から c:/xxx/script.rb 呼び出しをエラーにして下さいよ。
中途半端なのが一番サポートが面倒だ。
0089デフォルトの名無しさん
2008/07/15(火) 16:33:19それは /cygdrive/c/foo/bar/hoge.rb だろ
0090デフォルトの名無しさん
2008/07/15(火) 16:56:21開発環境が Cygwin 前提なんよ。だがまあそれはいいんだ。
確認したかったのは、最近の Cygwin は c:/xxx 形式もそれなりに取り扱えるように
なってるっぽいけど、なんで Ruby の特定のケースだけそうじゃないのか、ってこと。
仕様ならそれでいいんだ。避ける手段はいくらでもあるし。
0091デフォルトの名無しさん
2008/07/15(火) 17:16:48http://redmine.ruby-lang.org/
0092デフォルトの名無しさん
2008/07/19(土) 19:40:36ブログとかあるいは何かプログラム公開サーバでスクリプト書くじゃないですか
begin
File.open(path){|f| f.read}
rescue Errno::ENOENT
raise "#{path} does not exist!"
end
という例外キャッチ&メッセージを実際のスクリプトで書くのはほとんど意味ないよね?
Errno::ENOENT の例外を読めばみんなわかるから普通はいらないよね?
0093デフォルトの名無しさん
2008/07/19(土) 19:55:00そのファイルが何かにもよる
ほげ用ファイルが読み込めません例外というのを作って出したほうがわかりやすいこともあるだろう
が、ライブラリ使用者が引数で指定したファイルが存在しないのでそもそも読めませんというような場合は
組み込みのエラーを出すほうがたぶん親切だろうと思う
0094デフォルトの名無しさん
2008/07/19(土) 21:25:14>> 552
仕事でRuby使ってる俺から言わせるとPythonめちぇめちゃ速いですw
561 デフォルトの名無しさん [sage] Date:2008/07/17(木) 14:58:10 ID: Be:
558じゃないけど、Rubyはcsvパーサが遅いです
29万件の処理で
Ruby 45分
Python15秒でした
45分wwwwwwwwwwwwwwwwwwwwwwwwwww
0095デフォルトの名無しさん
2008/07/19(土) 21:33:40標準を捨てれば無問題
0096デフォルトの名無しさん
2008/07/19(土) 21:40:03csv.rb は遅いぞ
どのくらい遅いかというと FasterCSV という恥ずかしい名前のライブラリがデファクトになるくらい
というか、Python の CSV パーサはあれ中身 Python じゃなくて C だから比較対象としては不適
Python がインストールされてる場合は Ruby から Python を呼ぶのが最速とかわけわからん事態に
0097デフォルトの名無しさん
2008/07/19(土) 21:41:20RubyでもLightCSV・CSVScanとかを使えばだいぶマシになるとの話
0098デフォルトの名無しさん
2008/07/19(土) 21:45:25うん、普通はいらない
0099デフォルトの名無しさん
2008/07/19(土) 21:52:580100デフォルトの名無しさん
2008/07/19(土) 21:54:02まじrailsのおかげで世界に広がるな>ruby
0101デフォルトの名無しさん
2008/07/19(土) 21:58:43phpに比べれば数も少なくて可愛いもんだぜ
0102デフォルトの名無しさん
2008/07/19(土) 22:08:590103デフォルトの名無しさん
2008/07/19(土) 22:09:58これに限った話じゃないが、Rubyの標準添付ライブラリってなんかアンバランスだよな
「せっかく1.9で新しくなるんだからもっと便利で強力なの付けてくれよ」ってのがいろいろある
全体的に見ればとても充実しているライブラリ群なのに、妙なところで古いの使ってるというか
0104デフォルトの名無しさん
2008/07/19(土) 22:11:39まつもと氏が熱心じゃないから?
0105デフォルトの名無しさん
2008/07/19(土) 22:15:51Rubyの糞ライブラリを知ってればそんなこと言わないで済んだのにな
0106デフォルトの名無しさん
2008/07/19(土) 22:21:53>>105みたいな人が邪魔するんだよ
0107デフォルトの名無しさん
2008/07/19(土) 22:52:160108デフォルトの名無しさん
2008/07/19(土) 22:55:02わりと別物なので、混同する人は嫌がられるな
0109デフォルトの名無しさん
2008/07/19(土) 22:58:160110デフォルトの名無しさん
2008/07/20(日) 00:07:51大量のデータに使われることが明らかなのに
なんで最初から速度を考えて作らないの? バカなの?
0111デフォルトの名無しさん
2008/07/20(日) 00:21:03どれくらい明らか?
どれくらい大量?
どれくらいの頻度で?
0112デフォルトの名無しさん
2008/07/20(日) 01:30:06つか、インストールのときRDoc遅えとか感じないの?
94とか見てもなにも思わないの?
もし開発側の人間でそんなこと想像できないようじゃ正直終わってる
どうせ早すぎる最適化云々、とかいって何も手を打たねえんだろwww
0113デフォルトの名無しさん
2008/07/20(日) 01:48:39もしcsvの処理で何分もかかるとしたらcsvなんかで管理しようとしてんのが
そもそもおかしいんで、俺ならsqlite使うわ
0114デフォルトの名無しさん
2008/07/20(日) 01:50:20ttp://jp.rubyist.net/RubyKaigi2008/?c=plugin;plugin=attach_download;p=MainSession;file_name=rubykaigi2008_akr.pdf
この辺読んでから君が頑張れ
0115デフォルトの名無しさん
2008/07/20(日) 01:56:15…CSVは可搬フォーマットであることが存在理由なの
誰が好き好んでテキストベースで行志向な単一ファイルにデータを保存したがるんだよ
0116デフォルトの名無しさん
2008/07/20(日) 02:00:510117デフォルトの名無しさん
2008/07/20(日) 02:39:16それを困ったもんだと思ってるなら、こんなとこでくだ巻いてないで、もうちょっと改善の見込みがある手段取れよ。
少なくとも、今まで改善されなかったってことは、それが問題だと思って行動したやつがいなかったってことだから。
何も自分でコード書けとは言わん。MLで問題提起するなり、ttp://redmine.ruby-lang.org/ に登録するなりすればいい。
それでも動かなきゃ、その程度のコミュニティってことだろう。
0118デフォルトの名無しさん
2008/07/20(日) 03:54:410119デフォルトの名無しさん
2008/07/20(日) 03:58:39お前がやれ
0120デフォルトの名無しさん
2008/07/20(日) 04:45:58誰かが作ったのを見て鼻で笑う準備なら、
既にコミュニティの全員が整えてるんですけどねw
0121デフォルトの名無しさん
2008/07/20(日) 04:55:14添付ライブラリを便利そうだというだけで増やそうとするのが問題な気がするなあ。
標準に取り込むなら、C++ Boost みたいにきちんとした Formal Review のプロセスを
設けるとか… あるいは RAA や Gems を CPAN レベルまで育てるか…
0122デフォルトの名無しさん
2008/07/20(日) 09:08:18Cでエクステンションを作るとCの問題を抱える
たとえば、PythonのCSVモジュールはUnicodeで書き込めないし、ヌル文字で問題を起こす
たかがスクリプト言語のモジュールのくせにバイナリで、参照・訂正するには本体ソースコードを持ってきて自分でコンパイルしないといけない
0123デフォルトの名無しさん
2008/07/20(日) 09:32:14これは断言してもいい
0124デフォルトの名無しさん
2008/07/20(日) 09:41:32煽りとかでなく本当に理屈がわからないから説明してくれるとありがたい
文句言う人と実装する人に何の関係が?
0125デフォルトの名無しさん
2008/07/20(日) 09:42:54Net::HTTP がもう少し書きやすくて URI モジュールを活用してれば open-uri っていらないよな
ユーザーが Ruby 本体の記述能力を活用するだけでいけると思うんだ
0126デフォルトの名無しさん
2008/07/20(日) 09:57:100127デフォルトの名無しさん
2008/07/20(日) 10:03:03open-uri は URI に open メソッドをつけたのがパラダイム
関数的メソッド open の拡張などというのはただの目くらましに過ぎない
Net::HTTP は HTTP::Access として URI の下に置かれて隠蔽されるべき
強化すべきは File.open に対応する URI.open
0128デフォルトの名無しさん
2008/07/20(日) 10:05:050129デフォルトの名無しさん
2008/07/20(日) 10:11:38このスレで意見まとめて、ITSかruby-devに提案したらいいんじゃね?
ちょうど1.9.xでのライブラリ見直しやってて、いいタイミングだし
0130デフォルトの名無しさん
2008/07/20(日) 10:11:40それは気持ち悪い
0131デフォルトの名無しさん
2008/07/20(日) 10:26:52それは単に Net::HTTP を使わせる解説が撲滅されれば問題なしだな
「ユーザーが使うのは open-uri だけ、Net::HTTP はライブラリ内で呼ばれるライブラリ」
という認識になれば不幸な事故も減るかと
さあ net/http.rb のマニュアルページからエンドユーザ向けの使用例を消すんだ
0132デフォルトの名無しさん
2008/07/20(日) 10:34:31現在は多くのネットアクセスライブラリが Net::HTTP をそういう扱いしてるな
稀〜に open-uri を使ってる気軽なやつもあるが
結局は過去のRuby解説が足引っ張ってるって感じなのかね
0133デフォルトの名無しさん
2008/07/20(日) 14:23:330134デフォルトの名無しさん
2008/07/20(日) 16:28:17Rubyでそんなことできるの?
0135デフォルトの名無しさん
2008/07/20(日) 16:33:14できるね。行末を演算子かバックスラッシュにすれば。
puts true ?
1 :
2
各節が長くなれば、有効な場合もあるかもと思うんだが。
0136デフォルトの名無しさん
2008/07/20(日) 17:22:46Net::HTTP.start(uri.host, uri.port) というのが結局最後までマニュアルに載らなかったのが残念だ
0137デフォルトの名無しさん
2008/07/20(日) 17:38:40まだ生きてるー
0138デフォルトの名無しさん
2008/07/20(日) 22:18:26MySQLが死んで中身モロ見えわろた
0139デフォルトの名無しさん
2008/07/20(日) 22:25:010140デフォルトの名無しさん
2008/07/20(日) 23:22:180141デフォルトの名無しさん
2008/07/21(月) 00:46:09open-uriはオレオレ証明書を問答無用ではじくのがつらい。
社内限定サーバとかでオレオレ証明書を使ってるとこがあるんす。
0142デフォルトの名無しさん
2008/07/21(月) 10:27:50日本語のファイルを読ませることがあるんですが、もちろんそんなんUTF-8以外考慮されてません
「もし既にエンコード変換関係のライブラリがrequieされててNKFクラスが存在してたら
読み込んだファイルをNKFでこっそりUTF-8に変換する」
というローカライズっぽい処理をメソッド上書きで入れるというのは邪悪ですか?
0143デフォルトの名無しさん
2008/07/21(月) 11:46:58いや、実のRubyらしい対策じゃないか?
Railsの邪悪さに比べればまだまだ。
0144デフォルトの名無しさん
2008/07/21(月) 12:19:32Rubyのバージョンの限定がないのなら、いきなり NKF.nkf しておいて
NKFってなんすか食えるんすか例外を rescue して通常処理させたほうがいいかも
0145デフォルトの名無しさん
2008/07/21(月) 19:47:27いい意見だとは思うけど、今のところcsvの話しか出てないぞ
ほかに何があるだろう・・・mailreadとか、ERbとか?
Test::Unitやcgi.rbの置き換えについては、もうMLで話されてるみたいだし
>>142
言うまでもないかもしれないが
やるなら直接上書きするより、サブクラスを作って上書きした方が良いよ
0146デフォルトの名無しさん
2008/07/22(火) 09:17:34http://iroiro.alualu.jp/kennitiryu/toilet05.jpg
Python
http://www.toto.co.jp/products/kitchen/k00015/images/pho_ind00.jpg
0147デフォルトの名無しさん
2008/07/22(火) 13:07:08win32 では -0 や -0.0 が 0 や 0.0 になるってマニュアルかどっかにでっかく書いとけ
0148デフォルトの名無しさん
2008/07/22(火) 15:22:45ITSにバグとして載ってるよ
0149デフォルトの名無しさん
2008/07/22(火) 15:33:250150デフォルトの名無しさん
2008/07/22(火) 15:43:160151デフォルトの名無しさん
2008/07/22(火) 15:52:30宿題スレで指摘があったが、マイナス 0 は
-0 …… -1 < x < 0
-0.0 …… -0.1 < x < 0
の x の範囲を示すことがある
これらを仮に「0とかでいいじゃん?」ということにすると、
2 …… 2 =< x < 3
1 …… 1 =< x < 2
0 …… -1 < x < 1
-1 …… -2 < x =< -1
と、 0 の代表する範囲だけが幅 2 になってしまう
-1 に含めることにしてもやっぱそこだけ「幅」が 2 だ
0152デフォルトの名無しさん
2008/07/22(火) 15:55:58ちょうわかりやすい書き方を解説したサイトってない?
0153デフォルトの名無しさん
2008/07/22(火) 16:17:54整数ではふつう無理(2の補数で表現する限り)。
0154デフォルトの名無しさん
2008/07/22(火) 17:14:27??数学とかコンピュータの理屈とか、全く疎いんだけど
2 …… 2 =< x < 3
1 …… 1 =< x < 2
0 …… 0 =< x < 1
-1 …… -1 <= x < 0
ではいけないの?良ければもうすこし詳しくお願いします。
0155デフォルトの名無しさん
2008/07/22(火) 17:16:250156デフォルトの名無しさん
2008/07/22(火) 17:34:47適当に宣言したあとに好きなようにやるといい
0157デフォルトの名無しさん
2008/07/22(火) 23:27:37報告しますた。thx!
http://redmine.ruby-lang.org/issues/show/343
0158152
2008/07/23(水) 00:22:18みんなどうやって書いてるん?
あるいはRDocなんて書いてない?
0159デフォルトの名無しさん
2008/07/23(水) 02:03:43とりあえず「rdoc 書式」あたりでググってみた?
例えば以下のリンク先の「コメント部の修飾」あたりとか。
ttp://ruby.gfd-dennou.org/tutorial/rdoc/
0160デフォルトの名無しさん
2008/07/23(水) 09:10:21誰かの書いたのをコピペして消して使ってるから形式とかわからん
0161デフォルトの名無しさん
2008/07/23(水) 09:41:24マニュアルつきソース作ろうと思ってもどこにどういうの書くべきかさっぱりだ
(= で見出しがつくとかそういうRdoc文法システム本体の話ではないので注意)
Rubyにマニュアルが少ない理由がわかった気がする
0162デフォルトの名無しさん
2008/07/23(水) 16:14:00何がわからないのかがわからない。
RDocの文法の話じゃないとすると、
引数や戻り値はこう書く、みたいなのが知りたいってこと?
0163デフォルトの名無しさん
2008/07/23(水) 16:30:41実例/規範/雛型がほしいってこと?
0164デフォルトの名無しさん
2008/07/23(水) 17:01:28rdocにはそんな決まりが無いよね、見出しレベルをいくつにするとか
標準添付ライブラリのソースも記述が統一されてないから参考にならない
== Example: だったり === Examples だったり
0165デフォルトの名無しさん
2008/07/23(水) 17:10:43まーあれだ、
# ここ1
module Hoge
# ここ2
class Mage
# ここ3
attr_reader
# ここ4
def initialize(param)
# ここ5
end
# ここ6
def hage(para,para2=nil)
# ここ7
end
end
end
にどんな書き方で何を書くべきかというのが全く決まってないというのはなんかアレだと思う
0166デフォルトの名無しさん
2008/07/23(水) 17:17:340167デフォルトの名無しさん
2008/07/23(水) 18:53:270168デフォルトの名無しさん
2008/07/23(水) 22:13:24こちらでも質問させてください
今rubyで
「XPathとDOMが相互変換できるライブラリ」
というものを探しています。
結構調査してるのですが、なかなか見つからず。。
どなたか教えてください。
0169デフォルトの名無しさん
2008/07/23(水) 22:17:11ActiveScriptRubyを導入したんだが・・・。
configure勉強せねば無理か
しかしdllが何をしてるかもわからんし何がなんだか
手が付けやすいとこんな適当な人でも使えちゃう
使えた方が助かるし誰も別に困らないが
0170デフォルトの名無しさん
2008/07/23(水) 23:08:47日本語でおk
というか、チラシの裏でおk
0171デフォルトの名無しさん
2008/07/23(水) 23:16:41>>170
dllがソースコンパイルしないとダメで、
Rubyのインタプリタのソースが必要らしくて
やり方がいまいち・・・makeでエラー出るんだよね・・・
Rubyのインタプリタのソースとswin.cとかのソースを全部
パスの通った同じフォルダに入れてGNUmakefile.inとかを
所定のディレクトリに入れてってやったんだが
正直自分もよくわからないから、元から入ってる環境を
利用させていただいて、それで決着した
もし他に同じような人がいて困ってたらなんかの足しにはなるし
0172デフォルトの名無しさん
2008/07/23(水) 23:57:51だからエスパーさせんな、と。
dllとかswinとか言ってるんだからWindowsの話だよな。
まず、rubyインタプリタのソースなんかはいらない。
ちゃんとrubyがインストールされていてパスが通っているなら、
swinなら展開したらextconf.rbがあるはずだから、ruby extconf.rbで
Makefileができる。
それでmake(VC++ならnmake)でうまくいくはず。
うまくいかないのなら、
* rubyはどこから手に入れてどうやって入れたのか
* extconf.rb実行時にエラーが出るのか、出るならどんなエラーか
* make時にエラーが出るのか、出るならどんなエラーか
を書け。
今のところ、君の書いてることは誰の「なんかの足し」にもならんよ。
0173デフォルトの名無しさん
2008/07/24(木) 01:28:420174デフォルトの名無しさん
2008/07/24(木) 05:06:09ありがとう、ActiveScriptRubyインスコして動作確認できたので、それ使うことにした。
>>172
ありがとうございます。
Cygwinでrubyを使っているんですが、
ruby.exeと他のコマンドなどがあるpathの通った場所に
ファイルをコピーペーストしてmakeすれば
いいみたいですね。別のとこで展開してました。
今回はswinだけActiveScriptRubyからコピーして
利用することにします。また今度やってみます。
正規表現中にーがあるとpremature end of regular expression: /・・・と
エラーが出るようですね。「ー」を「..」に置き換えると出なくなりました。
rubyの種類とバージョンは 1.8.7 (2008-06-20 patchlevel 22) [i386-cygwin]です。
0175デフォルトの名無しさん
2008/07/24(木) 17:32:08そう
class や def の前に説明を書かなければいけない
0176デフォルトの名無しさん
2008/07/24(木) 19:08:56初心者スレに行けばいいと思うよ。
permeture...は、-Kオプションについて調査することをお勧めする。
0177デフォルトの名無しさん
2008/07/24(木) 19:35:52Loggerが使われるようになったのはあの解説のおかげだろ
0178デフォルトの名無しさん
2008/07/24(木) 21:13:00ただ、るびまの次巻が出ないんだよな・・・・・・そろそろ出てもいいはずなのに
Ruby会議で忙しかったんだろうか
0179デフォルトの名無しさん
2008/07/24(木) 22:25:070180デフォルトの名無しさん
2008/07/25(金) 07:00:16ただRDocとだけ言うと>>159のように文法解説されて
「HTMLに変換できるなんて超便利だよね!」という勘違い記事で終わる予感
「自作Rubyスクリプトにマニュアルをつけよう」という視点にしてもらわないと困る
RRSE含めて「マニュアルシステムに自作マニュアルを組み込むとEmacsメソッド補完で説明が出て便利」とかそういうの
0181デフォルトの名無しさん
2008/07/25(金) 11:16:23うおーなんぞこれー
0182デフォルトの名無しさん
2008/07/25(金) 15:47:37> Loggerが使われるようになったのはあの解説のおかげだろ
かもね
0183デフォルトの名無しさん
2008/07/26(土) 21:31:42せめて日本庭園と西洋庭園にしてくれよ
日本人にはRubyの良さが分かるんだ!
0184デフォルトの名無しさん
2008/07/27(日) 03:41:38数学じゃね?
-0はマイナス側からの極限 0.9999・・・-1
+0は・・・てやつ
それとプログラムの関係はしらないが
0185デフォルトの名無しさん
2008/07/27(日) 09:42:06日本語
・複雑なルール、豊かな表現力
・知ってる人にはわかりやすいが、知らない人は戸惑うことが多い
・自由で割と新たな表現を容認する方
・日本ローカル。喋る外人は少ない
英語
・シンプルなルール、それなりの表現力
・知らない人でもわかりやすいが、貧弱さにイラつく人もいる
・SVO強制。非常に保守的。
・ほぼ世界共通語。日本人を含めエキスパートが沢山いる。
0186デフォルトの名無しさん
2008/07/27(日) 11:41:490187デフォルトの名無しさん
2008/07/27(日) 14:46:42古英語に、バイキングに侵略されてた頃のノルド語がまじって、
更に、キリスト教の影響で、ラテン語がまじってるから、
語源やルールが多重にまじってて、ごちゃごちゃ。
0188デフォルトの名無しさん
2008/07/27(日) 15:09:050189デフォルトの名無しさん
2008/07/27(日) 15:33:32「ぞうは鼻が長い」のために一生かかるのが日本語だぞ?
0190デフォルトの名無しさん
2008/07/27(日) 17:40:46childの複数形がなぜchildsではなくchildrenかに疑問を持って調べてみるべき。
あとなぜchildの発音はチャイルドなのにchildrenの発音がチャイルドレン
じゃないかも調べてみるべき。
そりゃ日本語に比べたら英語の歴史は短いが、そうはいっても千年以上の歴史がある。
シンプルなわけがない。
0191デフォルトの名無しさん
2008/07/27(日) 17:51:18それは、むしろ文法が整然としてるせいもあるんじゃないのかな?
日本語は、文法はシンプルなんだけど、
そのせいもあって、同音異義語がもの凄く多い。
(微妙なアクセントで全然意味が変わってしまう。
ただし、そのレベルになると、大半の日本人でも実は使いこなせていない。
ベテランのNHKのアナウンサークラスじゃないと・・・)
あと日本語は、省略が異様に効く言語なんで、それもキツイらしいね・・
「愛してる」だけで、周りの文脈も考えれば、100%正確に通じてしまうってのは、
実はめずらしいそうな・・
英語で、
I love you.
Love you.
Love
は、全部意味が違う
0192デフォルトの名無しさん
2008/07/27(日) 18:06:27というかわざと避けてるのか
0193デフォルトの名無しさん
2008/07/27(日) 18:14:260194デフォルトの名無しさん
2008/07/27(日) 19:43:242chに限らない。
0195デフォルトの名無しさん
2008/07/27(日) 19:56:11ノルマンコンクェストってキリスト教のせいだっけ?
0196デフォルトの名無しさん
2008/07/27(日) 20:19:330197デフォルトの名無しさん
2008/07/27(日) 20:21:25へえ。具体的な数字があれば、いい豆知識w
0198デフォルトの名無しさん
2008/07/27(日) 20:27:28古英語>ノルマンコンクエストの影響>キリスト教の布教の影響
なんで、そこは分けて取って欲しかったんだ・・
0199デフォルトの名無しさん
2008/07/27(日) 20:33:120200デフォルトの名無しさん
2008/07/27(日) 20:36:33English板に迷い込んだのかと思った
0201デフォルトの名無しさん
2008/07/27(日) 21:16:31仕様・ドキュメント・コミュニティの話題はアンチスレ
それ以外の雑談は本スレで!
0202デフォルトの名無しさん
2008/07/27(日) 21:18:240203デフォルトの名無しさん
2008/07/27(日) 21:54:180204デフォルトの名無しさん
2008/07/27(日) 22:15:36rubyの使いかたについてはこのスレじゃやらないよね
0205201
2008/07/27(日) 22:39:09分かんないことがある。本スレに書いて「初心者スレに逝け」とか言われるのはイヤ
→せっかくだから、俺はこの初心者スレを選ぶぜ!
仕様とかに疑問を持つ。本スレに書いて「MLに書け」とか言われても、そこまでする気はない
→せっかくだから(ry
俺は初心者スレを見て、勉強させてもらってるが。
0206デフォルトの名無しさん
2008/07/28(月) 02:54:43RDoc自体にはマニュアル的記述を支援する機能はないから、
RDocとは直接関係なく決めごとを作るしかないと思われ。
例えば以下のリンク先のような。
ttp://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8
@paramや@returnなどに対応したSimpleMarkupの拡張版を
用意した方がわかりやすくなるような気がする。
るりまのBitClustがそういう感じだよね。
0207デフォルトの名無しさん
2008/07/29(火) 00:49:00言語オタを名乗るんだったらもっとこだわって欲しいところだぜ。
まあ、reStructuredText移植で十分だと思うけど、あれはパーサーに優しくないから
そのあたりを再設計すりゃ良いかな。
0208デフォルトの名無しさん
2008/07/29(火) 00:57:10よし、あんたにまかせた。よろしく
と、matzが言っております
0209デフォルトの名無しさん
2008/07/29(火) 01:01:52##
# 簡単なコメント
#
# 詳細なコメント詳細なコメント詳細なコメント
# 詳細なコメント詳細なコメント詳細なコメント
#
# @param
# @return
・・・ぷw
0210デフォルトの名無しさん
2008/07/29(火) 01:03:11マンパワーが足りないってだけの理由で後回しになっている領域がけっこうあるそうで
0211デフォルトの名無しさん
2008/07/29(火) 01:09:31http://www.ruby-lang.org/のメンテナンス
るびマの執筆
えーっと、それから。。
0212デフォルトの名無しさん
2008/07/29(火) 01:31:20これは逆切れに近いんだが、声がぜんぜん聞こえてこないんだよね
困ってるなら困ってるって言えよ
悲劇のヒーロー気取ってんじゃねえよ
0213207
2008/07/29(火) 01:36:24コメント一つなくスルーされたんだよね。
Ruby関係者は誰も興味ないんかね。
reStructuredTextを移植するほどRubyに労力かけたくないしなぁ。
0214デフォルトの名無しさん
2008/07/29(火) 01:43:23Linuxカーネルでもそういうことあるってね。
コメントくらいはあるだろうけど
別の方法でやろうとしてたんだと言わえてで却下、とか
取り込まれたと思ったら全然別のやり方で再実装されてた、とか
コネ作らないと採用されにくいという
0215デフォルトの名無しさん
2008/07/29(火) 01:45:39馬の骨のやつのコード取り込んだとして2年後誰が保守するの?って話だ
0216デフォルトの名無しさん
2008/07/29(火) 01:46:07あとはあれだ、
修正が大きいとすぐ理解できないので、
パッチ読む優先度が下がってうやむやとか
0217デフォルトの名無しさん
2008/07/29(火) 02:00:34・・・・・もしかして、需要と供給を誰も把握してない?
他のコミュニティだとどうやってんのかね
0218デフォルトの名無しさん
2008/07/29(火) 02:01:09諦めるな。スルーされてもされても
投げつづける熱意が必要なのさ...
0219デフォルトの名無しさん
2008/07/29(火) 02:04:55コネというのは言葉が悪いが、信頼あってのコードだから…
0220デフォルトの名無しさん
2008/07/29(火) 02:10:12まあなんぞ色々あるんだよ、うん
たまたま興味ある人が見てなかったということもあるから、
サイトでも作ってのっけて公開するんだ
…Web公開されたようなコードってRubyライセンスは取り込めたっけ?
0221デフォルトの名無しさん
2008/07/29(火) 07:45:19公開するときに、取り込めるようなライセンスを明示しておけばいい。
0222デフォルトの名無しさん
2008/07/30(水) 15:20:21# hoge.rb
class Hoge
def initialize
return Array.new
end
end
============
# main.rb
require 'hoge'
hoge = Hoge.new
hoge.push('a')
ってやったら
undefined method `push' for #<Hoge:0x401c2844> (NoMethodError)
って言われるのなんで?
new の返り値は配列にならないの?
0223デフォルトの名無しさん
2008/07/30(水) 15:27:33しかしその理屈だと
class Hoge
def initialize
@param = nil
end
end
という Hoge クラスを new したら中身が nil になってたいへん悲しい状況に
稀に見かける initialize の最後に self を書いてるスクリプトはこれが原因か?
0224デフォルトの名無しさん
2008/07/30(水) 15:40:09「Arrayを継承するほどでもないんだよなー」と思って
「そうだ、newの返り値が配列ならいいんじゃね?」みたいな
しかし、仮にHoge.newがArrayクラスのインスタンスになったとすると
Hogeクラスに書いたインスタンスメソッドは動作しないぞ、ArrayはHogeじゃないんだから
0225デフォルトの名無しさん
2008/07/30(水) 15:50:40「Arrayのメソッドを主に使う+自作メソッドを時々使う」の場合はArrayを継承するのが妥当?
0226デフォルトの名無しさん
2008/07/30(水) 16:17:361.is-a関係があるか
2.継承後もインターフェースを維持しているか
3.メソッドの実装を共有しているか
(出典:るびま)
使ってる時の感覚として、Rubyの場合、継承はそんなに怖くないような
Javaとかだと継承には恐怖を覚えるんだが
0227デフォルトの名無しさん
2008/07/30(水) 16:40:21委譲(delegate,forwardable)も選択肢の一つ
>>225のような要求なら継承の方が楽だけど
0228デフォルトの名無しさん
2008/07/30(水) 17:04:23安心感はあるな。たとえば
0229デフォルトの名無しさん
2008/07/30(水) 19:04:17そもそも「継承は最後の武器」と言ってる人がどのくらいいるのかがあやしい
0230デフォルトの名無しさん
2008/07/30(水) 21:15:44知識としてはRuby界隈では一般教養だと思うが、
意味や元ネタまで知っている人は少ないと思う。
0231デフォルトの名無しさん
2008/07/30(水) 21:18:59module Hoge
def hoge
:ok
end
def self.new
[].extend(Hoge)
end
end
hoge = Hoge.new #=> []
hoge.push("a") #=> ["a"]
hoge.hoge #=> :ok
0232デフォルトの名無しさん
2008/07/30(水) 21:21:350233デフォルトの名無しさん
2008/07/30(水) 21:37:49逆切れじゃなくて言いがかりだな。
> 困ってるなら困ってるって言えよ
どうすればいいんだ?ダイレクトメールでも送ってほしいのか?
TV CMでも流せってのか?
0234デフォルトの名無しさん
2008/07/30(水) 21:55:110235デフォルトの名無しさん
2008/07/30(水) 23:26:44丸投げ
require 'delegate'
class MyArray < DelegateClass(Array)
def initialize
super []
end
end
a = MyArray.new
a.push 3
p a #=> [3]
一部だけ
require 'forwardable'
class MyArray2
def initialize
@array = []
end
extend Forwardable
def_delegator :@array, :push
end
a2 = MyArray2.new
a2.push 5
p a2 #=> #<MyArray2:0xb7cc9fa4 @array=[5]>
0236デフォルトの名無しさん
2008/07/30(水) 23:30:42見てるこっちが恥ずかしいから、大人になるまで書き込まないでね。
0237デフォルトの名無しさん
2008/07/30(水) 23:52:22「変なメソッド使うと内部データに不整合がおきます」とかマニュアルに書けばいい
パッケージとして他者に提供するときに制限したい場合に特に意味があるわけで
0238デフォルトの名無しさん
2008/07/30(水) 23:55:59「呼べなくするなんて面倒なことしないでそもそも呼ばなきゃいいじゃん?」
みたいな
0239デフォルトの名無しさん
2008/07/31(木) 00:29:09Rubyではprivateなんて使わないけど
0240デフォルトの名無しさん
2008/07/31(木) 00:47:10俺だけ?
0241デフォルトの名無しさん
2008/07/31(木) 00:55:40>ってやったら
>undefined method `push' for #<Hoge:0x401c2844> (NoMethodError)
>って言われるのなんで?
>new の返り値は配列にならないの?
initialize() の戻り値が new() の戻り値になるわけじゃない。
p hoge して hoge が Array じゃないことを確認したら?
0242デフォルトの名無しさん
2008/07/31(木) 00:57:48あのへんはアクセス制御を使わないと危険なようにできてる
0243デフォルトの名無しさん
2008/08/01(金) 20:31:04Ubuntuでtcl8.5-dev と tk8.5-devをインストールしてmakeしてみましたが
どうもtclを認識してくれません。
ちゃんと
/usr/include/tcl8.5/{tcl.h,tk.h}
はあるのですが、extconfで
tcl.h ... no
と言われてしまいます。どうやってmakeしたらいいのでしょうか
0244デフォルトの名無しさん
2008/08/02(土) 00:31:210245243
2008/08/02(土) 00:45:37./configure --enable-tcltk_stubs --with-tcl-include=/usr/include/tcl8.5
--with-tcllib=tclstub8.5 --with-tklib=tkstub8.5
とやって自己解決しました
こういうの自動検出してほしいですねえ。そのためのextconf.rbじゃないかと
おもうのですが。Ruby/Tkがイマイチ不人気なのもそういう原因があるんじゃないかと思う
0246デフォルトの名無しさん
2008/08/02(土) 00:53:36最近はやりの hoge_config --cflags みたいにして調べるコマンドが付いてる
やつならいいんだけどね。
0247デフォルトの名無しさん
2008/08/02(土) 13:01:02というかconfigureのオプションと関係があるとは思わなかったw
0248デフォルトの名無しさん
2008/08/02(土) 13:25:14PythonのTkinterは何も考えなくても
./configure
make
しただけで動くし。デフォルトで作られないライブラリなんか怖くて使えないよ。
ところで、rubyはリポジトリが汚いんだね。trunk/直下にいろいろゴチャゴチャ置いて
あって見通しが悪い。コアの部分はSrcにしまうとかすべきだろう。
docに置いてあるファイルがしょぼいのもドキュメント軽視の原因なんじゃないだろうか
0249デフォルトの名無しさん
2008/08/02(土) 13:25:330250デフォルトの名無しさん
2008/08/02(土) 13:26:19逆だな
matzがドキュメント軽視なのが原因
0251デフォルトの名無しさん
2008/08/02(土) 13:31:07全員が仕方なく書いてるんです
コード書いてるほうが楽しいに決まってます
0252デフォルトの名無しさん
2008/08/02(土) 13:35:41コードから完璧なドキュメントを生成するコードを書く作業に移るんだ
0253デフォルトの名無しさん
2008/08/02(土) 13:36:39作業に移る前に完璧なドキュメントの定義をください
0254デフォルトの名無しさん
2008/08/02(土) 13:38:08(そのへん日本人が苦手なのは日本語ウィキペディアをみれば分かる)
とりあえず、Ruby/Tkは変なオプションつけないとビルドできない欠陥仕様を早く治すべき。
ヘッダの自動検出をサボってるかバグがあるんじゃねーのかな
他の外部ライブラリは別に変なオプションいらずでビルドできるんだし。
0255デフォルトの名無しさん
2008/08/02(土) 13:38:51「メソッドに別な動作させたいときはこのクラスを継承した別のクラス作るの推奨」ってライブラリがあるんだ
その思想自体には賛成なんだけどさ、元のクラスのinitializeとかにバカみたいに引数と初期値があって
いちいち書き写すのめんどくさいんだ
なにか便利あるいは定番な方法ってないかな
def hoge(para1, para2, para3=nil, para4=nil, para5={:hogedat=>[]})
処理A
処理B
super
end
めんどいです
0256デフォルトの名無しさん
2008/08/02(土) 13:39:17xmlなんかは読み切れんくらいドキュメントがあると思うが、
あれは誰が書いてるんだ?
0257デフォルトの名無しさん
2008/08/02(土) 13:41:04それはmatzに聞くべきです
0258デフォルトの名無しさん
2008/08/02(土) 13:44:50書くのめんどいと言いつつもドキュメントの重要性自体は全員が理解するところだろう
なるべくドキュメントを書きやすい雰囲気に持っていくってことだな
だからRDocでソースコードからマニュアル作る場合にどう書くのが定番なのかさっさとみんなで決めろタコ
0259デフォルトの名無しさん
2008/08/02(土) 13:45:28こうするといいよ
def hoge(*args)
処理A
処理B
super
end
0260デフォルトの名無しさん
2008/08/02(土) 13:51:02WS-* みたいなのは実装可能性すら無視して規格書を厚くするのが仕事になってるから。
そういう風になると規格自体もぐちょんぐちょんだし。
0261デフォルトの名無しさん
2008/08/02(土) 13:53:26ああはなって欲しくないから
>>258
強制がいいかもしれんですね。
0262デフォルトの名無しさん
2008/08/02(土) 13:59:35http://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8
RDocのテンプレート
こんな感じ?
0263デフォルトの名無しさん
2008/08/02(土) 14:03:06マニュアル記述がないと警告するツールもあったはず
Perlはそういうとこ進んでるよな
0264デフォルトの名無しさん
2008/08/02(土) 14:13:47http://anime3.2ch.net/test/read.cgi/cosp/1175334254/l50
原作者はパソコンの扱いが苦手なようです。
0265デフォルトの名無しさん
2008/08/02(土) 14:30:46extconf軽く見る限りはバージョンの新しい方からライブラリ探してる気配はした
バグってるのかなあ
0266デフォルトの名無しさん
2008/08/02(土) 14:42:36おお参考になる
しっかしRDocを使ったドキュメント以前に、
RDocの使用法に関するドキュメントが不足しているというw
0267デフォルトの名無しさん
2008/08/02(土) 14:48:16> 参考になる
>>206
自演か?とか思う
0268デフォルトの名無しさん
2008/08/02(土) 15:50:46ちょっと調べてみたけど、バージョン認定は正しく行っているようだ。
しかし、
have_header("tcl.h")
でこける。/usr/include以下にtcl.h/tk.hがないとダメみたい。
Ubuntu(ということはおそらくdebianも)なら/usr/include/tcl*.*/にあるからなあ
他のディストリじゃどうなってるんだろう。
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/tk/extconf.rb?view=markup
どうせ中でtclConfig.shを読んでるんだし、そのへんよしなに取り計らって欲しい
もんだ。
0269デフォルトの名無しさん
2008/08/03(日) 01:23:47自演じゃないよwww
>>266
一回でも「RDoc」でググった?
というかどれだけドキュメントがあれば不足していないといえるのか。
0270デフォルトの名無しさん
2008/08/03(日) 01:35:31RAAに挙げさせない。gemさせない
ってことだろ
0271デフォルトの名無しさん
2008/08/03(日) 02:51:31公式にRDocの解説すら無いのに?
自分ところのドキュメントをどうにかしない限り、そんなことできないよ。
0272デフォルトの名無しさん
2008/08/03(日) 03:55:170273デフォルトの名無しさん
2008/08/03(日) 04:16:590274デフォルトの名無しさん
2008/08/03(日) 04:24:15とか言うと読点すらない文章で基本も何もないわとか言われたりするが
0275デフォルトの名無しさん
2008/08/03(日) 05:51:54RDocを使ったメソッドの説明書きの話は
分けないと話がややこしくなるよ。
後者はRDocとは別のツールを使って解決するとか。
ttp://www.infoq.com/news/2008/07/yard-documentation-generator
>>271
るりまにそのうち書かれるのではないだろうか。
ttp://doc.loveruby.net/refm/api/view/spec/commands
0276デフォルトの名無しさん
2008/08/03(日) 06:20:03http://jp.youtube.com/watch?v=dcjwpz-6d2s
0277デフォルトの名無しさん
2008/08/03(日) 06:59:20http://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8
0278デフォルトの名無しさん
2008/08/03(日) 09:26:19>>206
>>262
自演確定
0279デフォルトの名無しさん
2008/08/03(日) 09:27:590280デフォルトの名無しさん
2008/08/03(日) 09:33:18何考えて書き込んでるんだかちょっと興味はある
0281デフォルトの名無しさん
2008/08/04(月) 16:39:03そうそう。extconf.rb 内でがんばって find_library してるけど
あんま意味ないと思う。
例えば MinGW で tk ビルドすると、
-lgdi32 -lcomdlg32 -limm32 -lcomctl32 -lshell32
あたりが必要なんだが、当然こんなのは考慮してくれない。
で、そのために tkConfig.h があるわけで、この中に DEFS, LIBS のほかにも
PREFIX や LIB_SPEC とか必要な情報は全部入ってる。
現状、thread 関連のチェックだけに tkConfig.h 見るとか、中途半端すぎる感じ。
0282デフォルトの名無しさん
2008/08/04(月) 19:16:18tkにもテストが欲しいんだけどGUIのテストってどうやるのかな。
pythonだと、tclにメッセージを送るテストぐらいはやってるようだ。
0283デフォルトの名無しさん
2008/08/04(月) 20:25:03RubyKaigiのOgg動画がUbuntuで開けないんだけど、他の人はどう?
Windowsなんかじゃデフォルトで観られないだろうから、
Wikipediaみたいに
http://www.flumotion.net/cortado/
こういうJava Appletを挟んでもいいと思う。
0284デフォルトの名無しさん
2008/08/04(月) 20:44:33パッケージで入れてるlibcあたりがクラッシュでもするのか?
まあOgg/Theora形式なのはオープンソース野心的でいいんじゃないかと思う
一般的環境ではそもそも再生できないというのも排他性をうまく表現してる
動画形式の素晴らしさの宣伝を兼ねた再生ソフトウェアの紹介くらいはしておいて損はないと思うんだがな
あとできれば動画とPDFはファイルサイズ併記してほしい
0285デフォルトの名無しさん
2008/08/04(月) 21:37:08VLCでもmplayerでも開けたよ。
Totemはコーデックが足りてないのか無理だったけど。
0286デフォルトの名無しさん
2008/08/05(火) 21:57:46# test.rb
Thread.new {
sleep 1
exit(0)
}
sleep 5
puts "Hello, 2ch"
1.8なら何も出力せず、1.9なら"hello, 2ch"が出力される。
0287デフォルトの名無しさん
2008/08/06(水) 01:23:25島根のド田舎ってことをすっかり忘れてた。
0288デフォルトの名無しさん
2008/08/06(水) 06:12:410289デフォルトの名無しさん
2008/08/06(水) 06:57:35thx
0290デフォルトの名無しさん
2008/08/07(木) 05:52:55trunk/ruby/lib/mkmf.rb:4:in `require': no such file to load -- rbconfig (LoadError)
でコンパイルできないんだけど、よく開発続けられるなあ
0291デフォルトの名無しさん
2008/08/07(木) 09:49:55redmineに報告。
0292デフォルトの名無しさん
2008/08/07(木) 11:28:02chkbuildでも失敗してるからそのうち報告されるでしょう
http://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/last
0293デフォルトの名無しさん
2008/08/08(金) 09:15:27--- common.mk (revision 18422)
+++ common.mk (working copy)
@@ -668,7 +668,7 @@
srcs: {$(VPATH)}parse.c {$(VPATH)}lex.c $(srcdir)/ext/ripper/ripper.c transcodes
-transcodes: enc.mk
+transcodes: enc.mk $(RBCONFIG)
$(MINIRUBY) -run -e mkdir -- -p "$(EXTOUT)/$(arch)/enc/trans" enc/trans
$(MAKE) -f enc.mk RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(MFLAGS) srcs
rbconfig.rbを生成してない問題はこれで解決するけど、どっちにしても
今はencまわりでごにょごにょやってるんでmakeできないけどね。
0294デフォルトの名無しさん
2008/08/08(金) 09:21:33実行にRBCONFIGが必要という話でした
-enc.mk: $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \
+enc.mk: $(RBCONFIG) $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \
0295デフォルトの名無しさん
2008/08/08(金) 21:23:02FileTest.exist? ってありますよね
Ruby を Linux で使用してるんですが、これって HDD にアクセスしてますか?
files100list.each do |path|
FileTest.exist?(path)
end
ってやったら、実際に HDD に 100 回アクセスしてるんですか?
や、「既にダウンロードしてたらサーバからダウンロードしない」というのを
unless FileTest.exist?(uriから計算した保存ファイル名) then
res = www_download(uri)
File.open(uriから計算したファイル名,'w'){|f| f.write(res)}
end
というように「HDD に存在してたらスキップ」という処理にしたんですが、ちょっと気になって
0296デフォルトの名無しさん
2008/08/08(金) 21:36:28…まあ、たまたまキャッシュに残ってれば別だろうけど、プログラムとファイルシステムの関係上、普通はそうなんじゃね
原始的ではないWebブラウザはURL履歴をデータベースファイルに保存して参照してるわけだし
どーしても気になるならダウンロード成功時にURLを配列に保存しまくっておいて
スクリプト起動時に読み込んで「成功履歴配列にURLがあったらすっ飛ばす」とかするのはどうよ
0297デフォルトの名無しさん
2008/08/08(金) 21:49:27atime(最終アクセス時刻)を持ってる環境だと書き換えるのかな。
というかstat(2)でatime変わるんだっけ?
# とドツボにはまった
0298デフォルトの名無しさん
2008/08/08(金) 23:52:41内部のHDにアクセスは起こりません(><)
0299デフォルトの名無しさん
2008/08/09(土) 02:25:53stat(2)は、ディレクトリエントリは叩くけどファイルの実体は叩くわけじゃない、
ということがわかればおk。
0300デフォルトの名無しさん
2008/08/09(土) 03:03:57find /usr -print をやるとわかるんだが
1度目はガリガリ言う(不幸なことに最近のHDDは音が鳴らない)けど2度目以降は静かなもんだ
ls -R /usr をしても無音で動く(これも1回目だとディスクアクセスがある)
findの結果をファイルに保存した直後に
$ cat result.txt | ruby -ne 'p FileTest.exist?($_.chomp)'
してもディスクはディレクトリをガリガリ走査しない
0301デフォルトの名無しさん
2008/08/09(土) 04:36:200302デフォルトの名無しさん
2008/08/09(土) 09:07:330303デフォルトの名無しさん
2008/08/09(土) 13:28:25ruby 1.8.7-p71
ttp://www.ruby-lang.org/ja/news/2008/08/08/multiple-vulnerabilities-in-ruby/
0304デフォルトの名無しさん
2008/08/10(日) 23:27:39http://doc.loveruby.net/refm/capi/
これがError出て見られない状態なんだけど、どこに言えばいいのかな?
バグトラッカーに書くのもあれだし、連絡先もないし。。
ほっといておk?
0305デフォルトの名無しさん
2008/08/10(日) 23:47:36http://i.loveruby.net/d/
ここでいいんじゃね?
0306デフォルトの名無しさん
2008/08/11(月) 23:30:43>Ruby 1.8.7-p72 / 1.8.6-p287がリリースされました。
>前回のリリースの修正は不完全で、新しいリリースは以前にアナウンスされたdlの脆弱性の修正を含んでいます。
何考えてリリースしてんの?
0307デフォルトの名無しさん
2008/08/11(月) 23:40:550308デフォルトの名無しさん
2008/08/11(月) 23:55:000309デフォルトの名無しさん
2008/08/12(火) 00:50:53svn up && autoconf && ./configure && make install-nodoc
している俺様が最大の勝利者
0310デフォルトの名無しさん
2008/08/12(火) 00:59:561.8.7と1.8.6って確かリリース担当者が別人だよね?
何で同じミスをしてるんだwww
0311デフォルトの名無しさん
2008/08/12(火) 01:09:43テストケースが同じだからだろ
テストケースに抜けがあってすべてのバージョンの修正に不備がありました。
チャンチャン
0312デフォルトの名無しさん
2008/08/12(火) 01:21:28テストだけでチェックをしてるんなら
リリース担当者なんていらないじゃんwww
0313デフォルトの名無しさん
2008/08/12(火) 07:05:320314デフォルトの名無しさん
2008/08/12(火) 08:43:14お前そんなことばかり書き込んでるな
0315デフォルトの名無しさん
2008/08/12(火) 10:34:49なんかイリュージョンが見えてるのでは。
0316デフォルトの名無しさん
2008/08/12(火) 22:46:18ttp://journal.mycom.co.jp/articles/2008/08/12/fruby/index.html
取り組みはそもそも博打だからどんどんやれって感じだが、もうちょっとカッコいい名前ないの
0317デフォルトの名無しさん
2008/08/12(火) 22:55:12貸し鯖(atpage)でruby使うにはどうしたらいいんですか
mySQLってやつ使わなきゃできないのでしょうか
0318デフォルトの名無しさん
2008/08/12(火) 22:55:25技術にうとい人だから仕方ない。
0319デフォルトの名無しさん
2008/08/12(火) 22:56:47+++ string.c (working copy)
@@ -2861,7 +2861,7 @@
rb_str_splice_0(VALUE str, long beg, long len, VALUE val)
{
if (beg == 0 && RSTRING_LEN(val) == 0) {
- rb_str_drop(str, len);
+ rb_str_drop_bytes(str, len);
OBJ_INFECT(str, val);
return;
}
nakadaさん・・・
0320デフォルトの名無しさん
2008/08/12(火) 23:06:40JRubyのためについでにkillとraiseもなくしちゃったほうがいいんでないの
c.f.
http://blog.headius.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html
0321デフォルトの名無しさん
2008/08/13(水) 00:14:44Ruby関係ないのでレンタルサーバのスレなり問い合わせ先なりで聞け
0322デフォルトの名無しさん
2008/08/13(水) 00:33:37わかりました
0323デフォルトの名無しさん
2008/08/13(水) 10:21:04Rubyで核施設制御かと思った
んなことしたら即日メルトダウンするぞw
0324デフォルトの名無しさん
2008/08/14(木) 02:24:30rubyが歴史に名を刻む日になるな
悪い意味で
0325デフォルトの名無しさん
2008/08/19(火) 03:50:06Stringを継承したクラスとStringの構造の違いって、RBASICのklassが違うだけでしょうか?
cString2 = rb_define_class("String2", rb_cString);
str = rb_str_new2("test");
RSTRING(str)->basic.klass = cString2;
みたいに、rb_str_newした後でklass入れ替えるとかって、無しですかね?
0326デフォルトの名無しさん
2008/08/19(火) 05:17:08違いはそうだが、何をしたいんだ?
> rb_str_newした後でklass入れ替えるとかって、無しですかね?
基本的になしの方向で。
0327デフォルトの名無しさん
2008/08/19(火) 05:18:50> 1.8.7と1.8.6って確かリリース担当者が別人だよね?
今は同じ。
0328デフォルトの名無しさん
2008/08/19(火) 05:41:03プロに任せちゃえばいいのにね
0329325
2008/08/19(火) 06:04:06そですね。
今さっき、rb_str_new5 (rb_str_new_with_class) なんてのがあるのを知った所で、
たぶん、これが欲しかったもののようです。
0330デフォルトの名無しさん
2008/08/19(火) 13:18:00念のために言っとくけど、そいつの第一引数はrb_cStringかそのサブクラスじゃ
なくて、そのインスタンスだから、最初にまず一つ作らない限り使えない。
Cレベルでインスタンスを生成する正式な方法はrb_class_new_instance()。
0331デフォルトの名無しさん
2008/08/19(火) 13:37:19プロってどこにいるの?
プロというからには金を取ると思うんだけど、誰が払うの?
0332デフォルトの名無しさん
2008/08/19(火) 19:59:160333デフォルトの名無しさん
2008/08/19(火) 21:30:370334デフォルトの名無しさん
2008/08/19(火) 21:34:42http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/35608
こんなばかげたこと言っているやつがいるんだから金貰ってもやりたくないだろうな
0335デフォルトの名無しさん
2008/08/19(火) 21:42:11別にばかげたことだとは思わないが…
互換性の問題ってのはそれなりに難しい問題だよ、大昔から…
「xterm は vt100 のバグまで忠実に再現した」って、話を聞いた記憶がある
0336デフォルトの名無しさん
2008/08/19(火) 21:52:55どうしろと
0337デフォルトの名無しさん
2008/08/19(火) 22:07:06Q: 鬼車とは?
A: 次期Rubyに搭載予定の正規表現ライブラリ。
0338デフォルトの名無しさん
2008/08/19(火) 22:09:32Q: 鬼車とは?
A: 次期Ruby専用の正規表現ライブラリ。
0339デフォルトの名無しさん
2008/08/19(火) 22:09:39RubyによるWebプログラミングについての質問
http://pc11.2ch.net/test/read.cgi/php/1219059400/
0340デフォルトの名無しさん
2008/08/19(火) 22:14:34仕様が無いんだからしょうがないじゃない。
コンセプトも方針も共有できてないんだから迷走するのは当然ですな。
0341デフォルトの名無しさん
2008/08/19(火) 23:16:14融資って、返さないといけないんだけど、そのことを理解してる?
0342デフォルトの名無しさん
2008/08/19(火) 23:29:19もちろん、1億を種に投資して数倍にして、
後で利子つけて返すんつもりだったんだよ
0343デフォルトの名無しさん
2008/08/19(火) 23:40:040344デフォルトの名無しさん
2008/08/20(水) 04:23:571.8.xでxが大きい方が不安定ってまず思わないよなあ
その辺からしてクレイジーなルビー
新参ですごめんなさい
0345デフォルトの名無しさん
2008/08/20(水) 07:54:43ruby 1.8 系のブランチから適当な時期に1.8.xをリリースするまでが武者さん、
リリースされた1.8.xのブランチをメンテするのが卜部さん
ちなみに、1.9のリリースはささださん
>344
1.8.4以前はそもそもパッチリリースが存在せず、(しかも超不安定)
1.8.5は終了したんですが、何と比べてるんですか。
0346デフォルトの名無しさん
2008/08/20(水) 10:44:060347デフォルトの名無しさん
2008/08/20(水) 11:47:20http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/17427
これと矛盾してるんだがどっちが正しいんだ?
0348デフォルトの名無しさん
2008/08/20(水) 12:07:27どこが矛盾してるのかわからん。
ruby_1_8から新しい1.8.xを切り出してリリースするのが武者さん。
切り出された後の1.8.xのパッチリリースをするのが卜部さん。
0349デフォルトの名無しさん
2008/08/21(木) 00:05:11普段はperl書きで最近rubyを勉強し始めたのですが、rubyでのハッシュのハッシュ、配列のハッシュの書き方がよくわかりません。
perlでは
$hash{$key1}{$key2} = $value
push @{$hash{$key}}, $value
のように使っているのですがrubyでの書き方を説明している良いサイト、資料など教えていただけないでしょうか。
『たのしいRuby』 13.7.1で紹介されている方法ではなく、上記のような記述の方法はないのでしょうか。
色々とサイトを見て回ったつもりなのですがこれというサイトが自力では見つかりませんでした・・・。
0350デフォルトの名無しさん
2008/08/21(木) 00:44:32本が手元にないとさっぱりわからん斬新な説明法だな
えーと、入れ子になった(ネストした)ハッシュのことだと推定
Ruby は(Ruby も?)「ハッシュのキー指定が連続している」というような特別扱いはしない
ハッシュ h があったとして、h['key1']['key2']['key3'] は、
h['key1'] … ハッシュ h のキーが 'key1' なペアの返り値のオブジェクト
h['key1']['key2'] … ↑のオブジェクトを obj とするなら単に obj['key2'] の返り値
h['key1']['key2']['key3'] … ↑の(中略)単に obj['key3'] の返り値
という恐ろしく単純な解釈を経てる
「hの中の'key1'の'key2'の'key3'のハッシュ」ではなく「h['key1']の返り値の['key2']の返り値の['key3']」だ
第二版の『たのしいRuby』 13.7.1 に何が書いてあるかわからんので変なことしか言えん
上記の場合は h['key1'] と h['key1']['key2'] が 存在しないと「次のキー」が探せなくてメソッドエラーになるよ
存在しないキーを勝手に作ってくれるということはない
0351デフォルトの名無しさん
2008/08/21(木) 00:49:14hash[key1][key2] = value
hash[key].push(value)
で良さそうな気がするけど、そういうことではない?
Perlも別に多次元配列なんてないからイメージとしては>>350みたいに
なると思うけど
あっちはリファレンスで実現するから、むしろややこしい気がする
0352デフォルトの名無しさん
2008/08/21(木) 01:03:20まさしくネストしたハッシュをを記述したいのですが、rubyでコーディングしてもうまく機能してくれず・・・。
具体的には、100個のファイルがあり、それぞれのファイルが同じフォーマットのCSVで
第1カラムから第2カラムまで有る時に、
hash[ファイル名][第1カラム] = 第2カラム
という記述か、
perl風に書けば
push @{$hash{ファイル名}{第1カラム}}, 第2カラム
という構造のデータをrubyで記述したいと考えてます。
ちなみに、『たのしいRuby』13.7.1で紹介されているハッシュのハッシュは
table = {"A"=>{"a"=>"x", "b"=>"y"},
"B"=>{"a"=>"v", "b"=>"w"} }
といったネストしたハッシュの記述です。
失礼いたしました。
0353デフォルトの名無しさん
2008/08/21(木) 01:24:29>>350に初心者スレのエスパー能力を垣間見たw
参照時ではなく、ハッシュを作るときの記述、という意味か。
エスパーの練習をしてみると、作りたいのは配列のハッシュのハッシュか
hash = {
'file1' => {'col1' => ['col2', 'col2', ... ], 'col1' => [ ... ], ... }
'file2' => {'col1' => ['col2', 'col2', ... ], 'col1' => [ ... ], ... }
...
}
っていう感じのものかと創造。
ハッシュ・配列を最初に初期化してやればいいんじゃない?
hash = {}
hash['file1'] = {}
hash['file1']['col1'] = [] if hash['file1']['col1'].nil?
hash['file1']['col1'] << col2
# 上記、それぞれの段階でループ
こんな感じでいける?
# やっぱり初心者スレの方がよさそう
0354デフォルトの名無しさん
2008/08/21(木) 01:25:33>>352
ということで、既存のハッシュオブジェクトにペアを追加したいときは self[key]=val の形式を使う
h[key] = value
とすると、ハッシュ h に 「key => value」 の組が追加される
一番間違いのない方法は、最初にファイルをリストしたときにハッシュのキーを作ってしまうこと
h = Hash.new
filelist.each do |filename|
h[filename] = Hash.new
end
こうしておけば、h[ファイル名][第1カラム] = 第2カラム と書いたときに 「h[ファイル名] が nil だったよエラー」が出ない
個人的にはネストしたハッシュをネストしたままアクセスするのは番地思考であまり好きではない
0355デフォルトの名無しさん
2008/08/21(木) 01:31:06hash[ファイル名] = {}
行をパースするタイミングで
hash[ファイル名][第一カラム] = 第二カラム
にすればいけそうだけどなあ。
files.each do |file|
hash[file.name] = {}
file.readlines.each do |line|
a = line.split(',')
hash[file.name][a[0]] = a[1]
end
end
検証はしてない
0356デフォルトの名無しさん
2008/08/21(木) 01:33:320357デフォルトの名無しさん
2008/08/21(木) 21:31:18355さんのコードを参考にさせてもらいました。
それにしてもやっぱりperl脳から切り替えないとダメですね。。。
0358デフォルトの名無しさん
2008/08/21(木) 22:19:03…この
> MCmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmCCmmmmmmmmmmmmmmmmmmmmmmmmmmmm
っていう楽しげなの何? いや、なんとなくわかるけど
0359デフォルトの名無しさん
2008/08/21(木) 22:35:240360デフォルトの名無しさん
2008/08/21(木) 22:45:43require 'hoge' すると、 hoge/huga/mage.rb で SyntaxError が起こるんだよ
まあぶっちゃけその部分が 1.9 に対応してないだけなんだけどさ
なんとかして手元のスクリプトの中で上書きとかできないかな?
0361デフォルトの名無しさん
2008/08/21(木) 22:56:51ttp://doc.loveruby.net/refm/api/view/method/Kernel/v/=2dI
$LOAD_PATH 書き換えれば何とかならないかな
0362デフォルトの名無しさん
2008/08/21(木) 23:18:10モジュールクラスメソッドメソッドメソッドメソッドメソッドメソッドメソッド
__METHOD__!!!
0363デフォルトの名無しさん
2008/08/22(金) 00:21:24文字エンコーディングの扱い方とか、今のところどういうポリシーで行けばいいんだ?
Web サーバから持ってきたファイルを正規表現でどうにかするっていうモジュールで UTF-8 変換とかしていいのか?
0364デフォルトの名無しさん
2008/08/22(金) 00:36:43http://www.nicovideo.jp/watch/sm3824824
Ruby M17N(後編) - 成瀬ゆい / Martin J. Durst
http://www.nicovideo.jp/watch/sm3824931
0365デフォルトの名無しさん
2008/08/22(金) 00:37:19--encoding=Binary でとりあえず動くというのはそれはそれで凄いことのような気もするが
外人さん向けモジュールで日本人くらいしか喜ばない NKF とかホイホイ使うわけにもいかん
1.9 対応とかしようかなーと思っていじったらエンコーディングに関するエラーがバカみたいに出て諦めた
「普通に」動かすための暫定版ガイドとかあると嬉しいかも
もしかしてモジュールの全ファイルの先頭に -*- coding: binary -*- とか書けばうまくいくのか?
0366デフォルトの名無しさん
2008/08/22(金) 01:47:41俺が発狂したのはこれ
> in `=~': incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (ArgumentError)
モジュールの正規表現のとこ全部 force_encoding しなきゃならんのかと思って目の前が真っ暗に
0367デフォルトの名無しさん
2008/08/22(金) 09:39:08こんなこともできるよ
存在しないキーを勝手に作ってくれるハッシュ
(eban さんとこ経由 ruby-talk:311341)
hash = Hash.new {|h, k| h[k] = Hash.new(&h.default_proc) }
0368デフォルトの名無しさん
2008/08/22(金) 12:21:04//uを明示してるからじゃない?
$ ./ruby -Ku -v -e 's = "\x8f".force_encoding("ASCII-8BIT"); p [/./=~s,(/./u=~s rescue $!)]'
ruby 1.9.0 (2008-08-22 revision 18769) [i686-linux]
[0, #<ArgumentError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)>]
0369デフォルトの名無しさん
2008/08/24(日) 18:25:58そのマッピング用の Hash 作るのはけっこう面倒くさくね?
リファレンスマニュアルだと、zip して flatten して * 展開とか書いてあるけど
ちょっとあんまりな感じ。というわけで、こんなのはどうだろう。
def Hash.map_from(keys, &block)
if block
Hash[ keys.inject({}) {|h, k| h[k] = block[k]; h } ]
else
Hash[ keys.inject({}) {|h, (k, v)| h[k] = v; h } ]
end
end
使い方:
keys = ['aaa', 'x', 'foge']
Hash.map_from(keys, &:size)
#=> {"aaa"=>3, "x"=>1, "foge"=>4}
Hash.map_from(keys, &:intern)
#=> {"aaa"=>:aaa, "x"=>:x, "foge"=>:foge}
Hash.map_from(keys.each_with_index)
#=> {"aaa"=>0, "x"=>1, "foge"=>2}
ここは偉いひとも見てるぽいので書いてみた。BTS? とかはよく知らん。
0370デフォルトの名無しさん
2008/08/24(日) 19:46:400371デフォルトの名無しさん
2008/08/24(日) 19:48:02ttp://www.math.kobe-u.ac.jp/~kodama/tips-ruby-pqueue.html
0372デフォルトの名無しさん
2008/08/24(日) 20:13:250373デフォルトの名無しさん
2008/08/24(日) 20:15:13確かに見てるっちゃ見てるのかもしれんが、一部だけだろうし
MLに投げた方がやっぱり良いんじゃね?
0374デフォルトの名無しさん
2008/08/24(日) 20:21:26もう2chのRubyスレは見てませんみたいな振りはやめようぜw
0375デフォルトの名無しさん
2008/08/24(日) 21:45:01なんつーか、痛すぎる
0376デフォルトの名無しさん
2008/08/24(日) 21:48:21・ライセンス的にグレー(実際はかなり真っ黒)
・受付管理が面倒になる
・そもそも2chチェックするのが面倒
だから無いんじゃない?
0377デフォルトの名無しさん
2008/08/24(日) 21:52:01という昔ながらの考え
これが一番だw
0378デフォルトの名無しさん
2008/08/24(日) 21:55:58そういう事例が仮にあったとしても、ほとんど偶然だと考えたほうがいいw
0379デフォルトの名無しさん
2008/08/24(日) 21:57:290380デフォルトの名無しさん
2008/08/24(日) 22:04:400381デフォルトの名無しさん
2008/08/24(日) 22:08:19何故そうなるのかはわからんが、やるとしてもサーバ用の
Rubyコンパイラが必要だな
0382デフォルトの名無しさん
2008/08/26(火) 12:46:20ttp://www.infoq.com/jp/news/2008/08/gems-from-rubyforge-and-github
0383デフォルトの名無しさん
2008/08/26(火) 22:39:34MatzはIPAに育てられたのに恩義を全然感じてないのは
おかしいと思う
0384デフォルトの名無しさん
2008/08/26(火) 22:47:16燃料投下か?初耳だな
その前にIPAは受験料払った俺様に恩義を感じろと言いたい
経産大臣の印刷署名のペラ紙一枚送って対等だと思うなよ
0385デフォルトの名無しさん
2008/08/26(火) 22:52:55俺も金はいくらか払ったが、IPAフォントだけでおつりが来るくらい有り難いと思ってる
あとはHaru(PDFライブラリ)が使い物になってくれれば十分過ぎるかもw
0386デフォルトの名無しさん
2008/08/26(火) 22:53:46YARVとかexerbは未踏なんちゃらに選ばれてた記憶があるが
0387デフォルトの名無しさん
2008/08/26(火) 23:33:550388デフォルトの名無しさん
2008/08/26(火) 23:37:16IPAは俺様の税金で成り立っている
0389デフォルトの名無しさん
2008/08/26(火) 23:50:24まあせいぜい税金で得られた成果を有効活用するぐらいか
0390デフォルトの名無しさん
2008/08/27(水) 00:49:58LunaとAirWeb関連に使った金は返して欲しい。
なにが未踏なのか分からん。
0391デフォルトの名無しさん
2008/08/27(水) 00:52:08国策と農業と資源採掘に税金つぎ込んで欲しいよ。
他国に根源的なリソース抑えられたら手も足も出ないからな。
0392デフォルトの名無しさん
2008/08/27(水) 00:53:06そういう無駄につぎ込めるのは、ぶっちゃけ税金(と、意味不明な無償の奉仕)だけだぞ
試行錯誤の必要性がわからんわけでもあるまいに
0393デフォルトの名無しさん
2008/08/27(水) 01:01:14思いっきりスレ違いだと思うが、一応言っとくか・・・右翼乙
それで1億3千万、農業国家で食わせてみろってんだ
理想は平和でいいとは思うけどね・・・それも資源とか言ってる
時点でだめか
0394デフォルトの名無しさん
2008/08/27(水) 07:47:410395デフォルトの名無しさん
2008/08/27(水) 13:00:400396デフォルトの名無しさん
2008/08/27(水) 17:04:13プチウヨは「見えない敵」ではなく「見えるゴミ」です
0397デフォルトの名無しさん
2008/08/27(水) 17:50:38仮にそうだとしても、「見えないゴミ」だと思ってくれ。ここでは。
0398デフォルトの名無しさん
2008/08/29(金) 12:32:300399デフォルトの名無しさん
2008/08/29(金) 20:17:220400デフォルトの名無しさん
2008/08/29(金) 20:34:22その努力のために、対外的に通用する可能性のある産業の育成を放棄していいとも思わんぞ
というわけで、IPAは未踏の枠を増やして俺に金をよこせ。ばら撒き万歳。
0401デフォルトの名無しさん
2008/09/01(月) 20:38:48よりはロケットとかスパコンとかプログラマ育成とに金掛けろよ
そこで天才女を引っ張ってくればいいんだからさ。
目指せ明日のグレース・ホッパーだよ。
0402デフォルトの名無しさん
2008/09/02(火) 05:48:06ガンガン切り捨てるよ。
未来を見据えてなんてのは無くなった。
0403デフォルトの名無しさん
2008/09/02(火) 15:53:12http://jp.youtube.com/watch?v=Y5NWYAgCTXA
0404デフォルトの名無しさん
2008/09/02(火) 16:09:280405デフォルトの名無しさん
2008/09/02(火) 17:39:540406デフォルトの名無しさん
2008/09/02(火) 19:57:17チケット買った1000人のうち来なかった200人の一人か
つーかなんで忘れるん。
0408デフォルトの名無しさん
2008/09/02(火) 23:29:520409デフォルトの名無しさん
2008/09/05(金) 10:19:510410デフォルトの名無しさん
2008/09/05(金) 11:13:390411デフォルトの名無しさん
2008/09/05(金) 19:43:24http://d.hatena.ne.jp/AntiSeptic/20080704/p1
などと思わせぶりな言い方をするものだから覗いてみりゃ、
なんて事無い田舎の零細企業の財務諸表であって、面白くもなーんともなかったわけだ。
それにしても、この程度の収益で2007年度って、
あの会社にとっては多分空前絶後の景気のいい年だったはずだの
Rubyとゆー「鉱脈」があるだの言っているのは何なのだ。
Geekのヨタ話というのは、いつもこんなしょぼいスケールで行われているのか?
あそこの技術者の平均レベルは、他の普通の会社よりはずっと高いと思うって、
これじゃあ、技術なんてIT企業の収益とは何の関係も無いと証明しているようなもんじゃねえか。
そもそも、この会社が何をやっているのかがHPを見た限りではよく分からん。
要は受託開発だろ労働力を人月で売ってるだけだろマーケ屋がこねくりあげた横文字得意げに使ってなに悦に入ってやがんだコラ。
更には製品・サービス部門まであって、なにやら参考価格が書いてあるところを見ると、
多分にパッケージっぽい印象を受けるが、それでいて全体の粗利率が26%程度ではどうしようもないだろ。
あそこに入りたい人は、損益計算書も注意して見ておくといい。まぁこれはどんな会社でも同じだけど、
ここを見るといろんなことが見えて来る。株価指標を計算してみるのもいい(非公開会社でもね)。
0412デフォルトの名無しさん
2008/09/05(金) 19:43:500413デフォルトの名無しさん
2008/09/05(金) 21:59:100414デフォルトの名無しさん
2008/09/05(金) 22:14:390415デフォルトの名無しさん
2008/09/06(土) 04:03:53rubyネタだったら誰かは釣られたかもしれないが、おまえの株式分析自慢だったらオナニーでしかないな…
0416デフォルトの名無しさん
2008/09/06(土) 11:27:52芸人だろw
0417デフォルトの名無しさん
2008/09/07(日) 05:44:37---
- apple: 2
- orange: 3
実行結果
[{"apple"=>2}, {"orange"=>3}]
以下のように!pairsでデータの型を組(要素が 2 つの配列)に明示的に指定できますよね・・・
---
!pairs
- apple: 2
- orange: 3
実行結果
[["apple", 2], ["orange", 3]]
実行結果は[["apple:", 2], ["orange:", 3]]になったらすっきりするのになあと思うのはわたしだけ?
それとも実際の結果のような動作のほうが都合がよかったからこういう仕様なのでしょうか?
だとしたらそれは何?
0418デフォルトの名無しさん
2008/09/07(日) 06:23:520419デフォルトの名無しさん
2008/09/07(日) 08:10:04その仕様だと、解析時にappleと2の区切りをどうやって判定するんだ
そもそも、何がどうすっきりするのかが分からない
0420デフォルトの名無しさん
2008/09/07(日) 08:26:52解析時じゃなくて結果の"apple:"←このコロンです。
0421デフォルトの名無しさん
2008/09/07(日) 08:32:040422デフォルトの名無しさん
2008/09/07(日) 09:32:34それは君が Ruby の初心者で、コレクションの要素を扱う方法を知らないからだよ
each とか map とか使ってるか?
0423デフォルトの名無しさん
2008/09/07(日) 09:43:270424デフォルトの名無しさん
2008/09/07(日) 09:47:330425デフォルトの名無しさん
2008/09/07(日) 10:03:160426デフォルトの名無しさん
2008/09/07(日) 10:18:100427デフォルトの名無しさん
2008/09/07(日) 10:20:36女が混じると、こうも糞スレになるとは…
もう創価学会しかないな…
0428デフォルトの名無しさん
2008/09/07(日) 10:34:04えっ?
そこ行くと女とやりまくれるんですか????
0429デフォルトの名無しさん
2008/09/07(日) 10:34:37金、木、米、村、山、川、林、森、中、上、下、東、
西、南、北、大、小、島、辺、高、塚、藤、麻、岡、
清、宮、松、竹、梅、崎、野、部、沢、池、橋、田、
井、谷、石、吉、本、前、福、浦、原、内、尾、遠、
↑の漢字が入ってると間違いなく在日
まめちしきな
案外近くにいると思うよ
0430デフォルトの名無しさん
2008/09/07(日) 10:38:16住所とか書いてあるやつですけど、引っ越してきた奴がキチガイなんで、こいつのことを警察にいくら問い合わせても教えてくれないで調べたいんです。
どなたか海外のFTPとかにアップしといてくれませんか?
0431デフォルトの名無しさん
2008/09/07(日) 12:10:460432デフォルトの名無しさん
2008/09/07(日) 12:20:250433デフォルトの名無しさん
2008/09/07(日) 12:37:20HTTPの仕様をRubyに聞くのに似ている
0434デフォルトの名無しさん
2008/09/07(日) 12:43:32わからないから出て行け!!
0435デフォルトの名無しさん
2008/09/07(日) 12:52:100436デフォルトの名無しさん
2008/09/07(日) 13:03:060437デフォルトの名無しさん
2008/09/07(日) 13:26:210438デフォルトの名無しさん
2008/09/07(日) 19:56:310439デフォルトの名無しさん
2008/09/07(日) 20:25:570440デフォルトの名無しさん
2008/09/07(日) 20:42:02いまのままじゃ使い物にならん
0441デフォルトの名無しさん
2008/09/07(日) 20:45:590442デフォルトの名無しさん
2008/09/07(日) 20:46:020443デフォルトの名無しさん
2008/09/08(月) 01:12:04Javaでxerces2使うより100倍くらい遅い気がする。
0444デフォルトの名無しさん
2008/09/08(月) 04:10:07Hpricot使えばいいだろ
rexmlが遅いといってもBeautifulSoupよりは速い
0445デフォルトの名無しさん
2008/09/08(月) 08:28:57BeautifulSoupってそんなに遅いんだっけ
もしベンチマーク結果とかあればおしえて
0446デフォルトの名無しさん
2008/09/08(月) 09:04:280447デフォルトの名無しさん
2008/09/08(月) 09:47:37パース部がCで普通に動作してるだけ
Rubyスクリプトから見れば相対的に速い
あと枚挙とかのRuby実装部分の速度はただのRuby
「Hpricot速いぜ!」とか浮かれてsearchとか使いまくってるとどんどん遅くなる
0448デフォルトの名無しさん
2008/09/08(月) 10:00:300449デフォルトの名無しさん
2008/09/08(月) 10:02:27searchやatに関わるあたりを全部Cで書いたらもっと速くなるかな?
そうでもないか
0450デフォルトの名無しさん
2008/09/08(月) 11:06:410451デフォルトの名無しさん
2008/09/08(月) 12:02:09…って、BeautifulSoup って Python のライブラリじゃねーか
ふつーに考えれば Python で作ったもののほうが若干速い傾向にあると思うんだけど
0452デフォルトの名無しさん
2008/09/08(月) 22:39:03なかったらphp使います
0453デフォルトの名無しさん
2008/09/08(月) 23:06:140454デフォルトの名無しさん
2008/09/08(月) 23:13:20Webサーバの設定をいじれる専用サーバならなんとかなるかもしれない
0455デフォルトの名無しさん
2008/09/09(火) 00:59:52DOMかSAXっぽくアクセスしたいのに違う物だされても…
0456デフォルトの名無しさん
2008/09/09(火) 01:03:35これじゃ駄目か?
0457デフォルトの名無しさん
2008/09/09(火) 01:33:56XHTMLとかもふつうに読めるぞ
require 'rubygems'
require 'open-uri'
require 'hpricot'
rss = URI.parse('http://dailynews.yahoo.co.jp/fc/rss.xml').read
doc = Hpricot.XML.parse(rss)
puts doc.search('//rss/channel/item/title').map{|e| e.inner_text} # is utf-8
「早く解散を」43% 読売調査
大分 教員交代に児童涙も
釦膕鏤
防カビ剤 ポッカレモン回収
池袋中華街構想に地元反発も
露鵬は「怒りで震えるほど」
プロ野球 新人王争いの行方
大河「天地人」に小栗、上地ら
あ、1個化けてる
0458デフォルトの名無しさん
2008/09/09(火) 01:55:40うちでは化けなかったけど、とりあえず、XMLがメソッドだから
parseいらなくね?
0459デフォルトの名無しさん
2008/09/09(火) 03:10:39DOMでいいならXPATHでも問題ないだろ
0460デフォルトの名無しさん
2008/09/10(水) 01:43:47http://journal.mycom.co.jp/news/2008/09/10/001/index.html
0461デフォルトの名無しさん
2008/09/10(水) 03:14:06前例にも懲りずめげないネーミングだなあ
0462デフォルトの名無しさん
2008/09/11(木) 08:42:060463デフォルトの名無しさん
2008/09/11(木) 11:37:29http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B9%E3%83%BB%E3%83%9B%E3%83%83%E3%83%91%E3%83%BC
0464デフォルトの名無しさん
2008/09/11(木) 21:51:31irb(main):001:0> RUBY_VERSION
=> "1.8.4"
irb(main):002:0> require 'matrix'
=> true
irb(main):003:0> v1=Vector[1,2,3]
=> Vector[1, 2, 3]
irb(main):004:0> v2=Vector[1,2,3]
=> Vector[1, 2, 3]
irb(main):005:0> v1==v2
=> true
irb(main):006:0> v1.equal? v2
=> false
irb(main):007:0> v1.eql? v2
=> false
irb(main):008:0> [v1.hash, v2.hash]
=> [25, 25]
Hashのキーにしたらヒットしなくて発覚
ttp://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/matrix.rb?view=log
> alias eqn? ==
現時点でまだ直ってないっぽい。
↓ここにも気付いている人がいた
ttp://yueda.issp.u-tokyo.ac.jp/weda/blog/?date=20080807
0465デフォルトの名無しさん
2008/09/11(木) 22:00:08犯人はマツ
0466デフォルトの名無しさん
2008/09/11(木) 22:02:030467デフォルトの名無しさん
2008/09/11(木) 22:04:400468デフォルトの名無しさん
2008/09/11(木) 23:38:100469デフォルトの名無しさん
2008/09/12(金) 02:00:53「違うぞ」って君に教えたくなった。
ネタを(ry
0471デフォルトの名無しさん
2008/09/12(金) 02:44:370472デフォルトの名無しさん
2008/09/12(金) 14:25:070473デフォルトの名無しさん
2008/09/12(金) 22:37:320474デフォルトの名無しさん
2008/09/12(金) 23:38:13wsdl2rubyでクラスを作ろうと思ったんだがエラーが出てどうにもならない。
もしかしたらwsdl2ruby.rbが古いのかもしれないが。
誰かrubyでmsn api使ったことある人いる?
0475デフォルトの名無しさん
2008/09/13(土) 19:36:42につけたし
> [1.hash, 1.0.hash]
=> [3, 45637]
> 1.eql? 1.0
=> false
> [[1].hash, [1.0].hash]
=> [1, 45639]
> [1].eql? [1.0]
=> false
> [Matrix[[1]].hash, Matrix[[1.0]].hash]
=> [3, 45637]
> Matrix[[1]].eql? Matrix[[1.0]]
=> true
これはObject#eql?の規約に違反してるっぽい
0476デフォルトの名無しさん
2008/09/14(日) 09:49:43と誤爆してみる
0477デフォルトの名無しさん
2008/09/14(日) 09:57:550478デフォルトの名無しさん
2008/09/14(日) 12:22:32なんのことかと思ったら「松屋で牛丼を食うこと」を「マッツする」というらしい。
0479デフォルトの名無しさん
2008/09/14(日) 14:16:250480デフォルトの名無しさん
2008/09/14(日) 14:53:39使用法を表示しようとして
puts "使用法: #{File.basename($0)} -a [-b] 入力ファイル [出力ファイル]"
とかやったら、スクリプトのファイル名が日本語だと
incompatible character encodings: ASCII-8BIT and Windows-31J (EncodingCompatibilityError)
となって、素直に連結できない
0481デフォルトの名無しさん
2008/09/14(日) 15:09:42Encodingについて勉強しなおせ
0482デフォルトの名無しさん
2008/09/14(日) 15:14:30落ちまくりだな。やっぱRuby重いんだな。
0483デフォルトの名無しさん
2008/09/14(日) 15:21:24多分、元twitterの中の人が運用してるんだよ
0484デフォルトの名無しさん
2008/09/14(日) 16:25:36報告thx!
http://redmine.ruby-lang.org/issues/show/560
./ruby -v tmp/ほげ.rb
ruby 1.9.0 (2008-09-14 revision 19337) [i386-mingw32]
使用法: ほげ.rb -a [-b] 入力ファイル [出力ファイル]
File.basename($0).encode(__ENCODING__) にしたほうが確実だと思うが。
0486デフォルトの名無しさん
2008/09/14(日) 17:08:50おお速い。乙です
0487デフォルトの名無しさん
2008/09/14(日) 18:05:49>>475的観点で、コードとテスト結果が矛盾してるなあと思って調べたら、
テストケースにtypo発見しちゃった
test/matrix/test_vector.rb (revision 19338)
> @v4 = Vector[1,0, 2.0, 3.0]
test/matrix/test_matrix.rb (revision 19338)
> @m4 = Matrix[[1,0, 2.0, 3.0], [4.0, 5.0, 6.0]]
× 1,0
○ 1.0
へっへっへ
0488デフォルトの名無しさん
2008/09/14(日) 19:57:22もうひとつ
[1] == [1.0]
# => true
[[1]] == [[1.0]]
# => true
require 'matrix'
# => true
Vector[1] == Vector[1.0]
# => true
Matrix[[1]] == Matrix[[1.0]]
# => true
この流れは理に適っていると思うので、
> assert_not_equal @v1, @v4
> assert_not_equal @m1, @m4
こうはならないと思います
0489デフォルトの名無しさん
2008/09/14(日) 20:00:020490デフォルトの名無しさん
2008/09/14(日) 21:20:55http://d.hatena.ne.jp/kmori58/20051208/p3
FORTRANのDO文と落ちたロケットのfolklore - kmoriのネタままプログラミング日記
> ではFORTRANのDO文という話はどこから来たのか?この疑問に対する答えが、後日同じRisk MLに投稿された。
伝説だったらしいw
0491デフォルトの名無しさん
2008/09/14(日) 21:29:03まぁせっかくなので書いておくと、wikipediaにもその話が載ってるね。
http://ja.wikipedia.org/wiki/FORTRAN
これを初めて目にしたのはエキスパートCプログラミングだったかな。
面白くていい本だったのだが、人に貸したら行方不明になってしまった。
今更買い直す気にはなれないけど実に残念だ。
0492デフォルトの名無しさん
2008/09/14(日) 21:53:34CSV形式の出力は、符号化がめたくたになっているような気がする。
Atom形式は大丈夫っぽい。
0493デフォルトの名無しさん
2008/09/15(月) 06:53:55まとめると、Matrix/Vectorの #eql? は #== とも #equal? とも違って、
Array#eql? に基づいたものでなければいけないんじゃないでしょうか、ということね
0494デフォルトの名無しさん
2008/09/15(月) 15:33:40クラス内で定義されていないメソッドがいきなり使われてたりするんだけど、どうなってるのかがわからない。(当然継承とかincludeもしていない。)
例えば、R-specとかは、describe~endの中にテストを記述するけど、普通、自身のクラス外で定義されたものってのは、
HogeClass::describe
とかって使うもんじゃないの?
普通にdescribeってかいたら、自クラス内のdescribeメソッドを探すんじゃないかと思うんだけど。。。
誰か教えてください。
0495デフォルトの名無しさん
2008/09/15(月) 15:49:37spec.rb =>
spec/extensions.rb =>
spec/extensions/main.rb のSpec::Extensions::Main::describeとして。
このファイルの最後で
include Spec::Extensions::Main
してるので、トップレベルで見えることになる。
0496デフォルトの名無しさん
2008/09/15(月) 16:12:03ありがとうございます!
例えば、hoge.rbのテストhoge_spec.rbを実行するときは、
# ruby hoge_spec.rb
です。
spec/extensions/main.rbは、hoge_spec.rbの中では呼び出されていません。どうして、hoge_spec.rbを実行中にspec/extensions/main.rbが実行されるのかがわからないのですが。。。
0497デフォルトの名無しさん
2008/09/15(月) 17:23:120498デフォルトの名無しさん
2008/09/15(月) 17:26:520499デフォルトの名無しさん
2008/09/15(月) 18:48:01個人的にLispよりさらに無理
0500デフォルトの名無しさん
2008/09/15(月) 18:48:390501デフォルトの名無しさん
2008/09/15(月) 19:00:48見た目って?
かなりすっきりしてると思うけどな
0502デフォルトの名無しさん
2008/09/15(月) 20:18:341.9.0-4使ってたんですが
最新版では対処されてたんですね
>ruby -ve "puts $0.encoding"
ruby 1.9.0 (2008-08-26 revision 18849) [i386-mingw32]
ASCII-8BIT
>ruby -ve "puts $0.encoding"
ruby 1.9.0 (2008-09-15 revision 0) [i386-mingw32]
Windows-31J
初めて最新版スナップショットからビルドしてみたけど
Subversion入れてないとrevisionが生成されないのかな
0503デフォルトの名無しさん
2008/09/15(月) 20:29:050504デフォルトの名無しさん
2008/09/15(月) 20:43:23Rubyスレに来てるhaskell厨なんとかしてカス
0505デフォルトの名無しさん
2008/09/15(月) 20:44:06個別に対応してくれ
0506デフォルトの名無しさん
2008/09/15(月) 20:48:45まずこんな宣言の仕方が気にくわない!数学かよと思う。なぜ今までのCとかの
宣言方法じゃダメだったんだと。
dtrees ds = concat [ joins ls rs | (ls,rs) <- [ lrs xs ys | (xs,ys) <- splits1 ds ]]
次にこんなのとか右から左に矢印がいくなんて信じられないね!
0507デフォルトの名無しさん
2008/09/15(月) 20:59:25いや、俺たちの希望はエホバにあるはず!
0508デフォルトの名無しさん
2008/09/15(月) 21:26:090509デフォルトの名無しさん
2008/09/15(月) 21:27:25強制的に輸血するほうがruby界のためなのか、
そのまま死んでもらっても困らないのか
0510730
2008/09/15(月) 21:29:59かえっておいで
Ruby 初心者スレッド Part 22
http://pc11.2ch.net/test/read.cgi/tech/1221467121/
0511デフォルトの名無しさん
2008/09/15(月) 21:40:09Matz って Jehovah's witness なの? Mormon かと思ってた。
0512デフォルトの名無しさん
2008/09/15(月) 21:48:410513デフォルトの名無しさん
2008/09/15(月) 21:53:20酒、タバコ、お茶禁止な人です
0514デフォルトの名無しさん
2008/09/15(月) 22:00:36Mormon ならば輸血は OK じゃん。
0515デフォルトの名無しさん
2008/09/15(月) 22:02:500516デフォルトの名無しさん
2008/09/15(月) 22:13:070517デフォルトの名無しさん
2008/09/15(月) 22:21:180518730
2008/09/16(火) 00:05:15完成させたら来年のruby会議で発表とかしても良いですか?
ちなみにニートです。
> 初めて最新版スナップショットからビルドしてみたけど
> Subversion入れてないとrevisionが生成されないのかな
snaphot.tar.gzだとparse.hも入ってないな。
生成用スクリプトが古いと思われ。
0520デフォルトの名無しさん
2008/09/16(火) 14:45:09http://redmine.ruby-lang.org/repositories/revision/1?rev=19355
どうやら複素数の.hashや.eql?も微妙に変わったらしいよw
0521デフォルトの名無しさん
2008/09/16(火) 23:52:12耳垢…苦い。細かい毛が混じっていて、粉っぽい。水分が多いとニオイはトップクラスに分類される
目ヤニ…塩味。とにかく堅くて、小さい。歯応えが萎びた納豆に似ている
爪の垢…薄い塩味。もさっとしている。意外に量が多く、食べごたえあり。通は足の親指のモノを好む
ニキビ芯…味なし。ゴマみたい。
ヘソのゴマ…味なし。歯応えは体調によってまちまち。香りは独特
フケ…粉っぽい。1か所に大量に集めて食うのがベター 。まれににフケの中央に小さいカサブタが付いてくる事があるが、これはまぎれもなくプレミア物。
肛門の回りに付着するカス…まれにGET出来るが極めて貴重。歯応えが神がかっている
膿…ジュルジュルして口で絡み合う。味は苦いが飲み応えがグッド!!
毛根の透明の物質…味なし。稀に歯応え最強のモノがGET出来る。玉袋付近の毛が高確率
歯クソ…モノによる。食材、潜伏期間などによってまちまち。一般には肉類、三日間熟成、発酵がよいとされる
チンカス…ほぼ味なし。マシュマロのような見た目。マニアには絶大な支持と人気を誇るニオイ最強品といっても過言ではない
舌苔…パサパサした中に若干の潤いあり(口内の状況により様々)薄い粘土の味がする。
http://itpro.nikkeibp.co.jp/article/NEWS/20080916/314938/
こういう実例が出てきていよいよRubyは21世紀のCOBOLとしての評価が定まりつつあるな。
リンク辿って行くと設計書が見れるけどまんまCOBOL
0523デフォルトの名無しさん
2008/09/17(水) 15:43:200524デフォルトの名無しさん
2008/09/17(水) 15:52:140525デフォルトの名無しさん
2008/09/17(水) 16:25:39その記事、中身の情けなさに泣けた。
0526デフォルトの名無しさん
2008/09/17(水) 16:36:42Ruby\(^o^)/
0527デフォルトの名無しさん
2008/09/17(水) 19:24:55\(^o^)/なんて言ってる場合じゃねぇから
0528デフォルトの名無しさん
2008/09/17(水) 19:27:090529デフォルトの名無しさん
2008/09/17(水) 19:58:26お前をどうにかしてほしいが、python スレの住人に頼んでも困るだろうからやめとく。
0530デフォルトの名無しさん
2008/09/17(水) 20:32:54とりあえずPythonスレ覗いてみ、オレなんてカワイイもんだから
0531デフォルトの名無しさん
2008/09/17(水) 20:33:54このスレで君がそれを書いたことでその人も報われたことでしょう
0532デフォルトの名無しさん
2008/09/17(水) 20:46:48( ´・ω・) なんかここ居心地いいな
( つ旦O
と_)_)
0533デフォルトの名無しさん
2008/09/17(水) 20:49:150534デフォルトの名無しさん
2008/09/17(水) 21:06:03そういう話じゃなくて、Python スレの住人はお前さんをどうこう出来ないだろ? って話だ。
なんでここの住人に、その「Ruby坊」をどうこう出来るって思うのさ。
0535デフォルトの名無しさん
2008/09/17(水) 21:22:44そのぐらいわかってるよ
なんかこっちのスレの方が楽しそうだったのさ
0536デフォルトの名無しさん
2008/09/17(水) 23:09:240537デフォルトの名無しさん
2008/09/17(水) 23:24:49もうちょっと陽気でも良いと思うんだ
0538デフォルトの名無しさん
2008/09/18(木) 00:10:22若いもんは知るまいが、昔Rubyちゃんっていうのがあってのー。
http://www.clio.ne.jp/home/web-i31s/Flotuard/Ruby/ruby-chan-s.html
0539デフォルトの名無しさん
2008/09/18(木) 00:10:300540デフォルトの名無しさん
2008/09/18(木) 08:10:45既に公開されてるRubyの擬人化キャラクター、かわいいとは思うんだけど
今ひとつRubyっぽさを感じないように思う
Operaたんのように、もっと強烈にRubyの個性をアピールしてほしい
0541デフォルトの名無しさん
2008/09/18(木) 11:08:48ないかのう。マジとことかえここが最古か?
0542デフォルトの名無しさん
2008/09/18(木) 11:42:010543デフォルトの名無しさん
2008/09/18(木) 12:40:56やっぱRubyたんは
世界中の高貴とされる衣装の中から「自分の好きなパーツ」をパクりまくった独自の衣装を着て、
他のすべてのキャラを上から目線で見下す勘違い女じゃないとな。
0544デフォルトの名無しさん
2008/09/18(木) 12:54:130545デフォルトの名無しさん
2008/09/18(木) 13:03:31口元だけ不気味に笑っている
絢爛豪華な調度品に囲まれ
常に上から目線
0546デフォルトの名無しさん
2008/09/18(木) 13:28:070547デフォルトの名無しさん
2008/09/18(木) 13:37:17> しかも、最高級産地のミャンマーは常に紛争の危機にさらされ供給が不安定なため、
> 最高級のルビーはどんどん値上がってしまい、今日の破格につながっています。
0548デフォルトの名無しさん
2008/09/18(木) 14:06:14・赤い宝石
・オブジェクト指向
・動的なインタープリタ言語。柔軟すぎるぐらい柔軟
・他の言語を(基本的には)尊敬している
・他の言語の気に入ったところを積極的に取り入れる
・遅い遅いとバカにされる
・親切で分かりやすいドキュメント? なにそれ?
・今はRailsのおかげで知名度が右上がり
・・・擬人化のイメージが湧かないな
0549デフォルトの名無しさん
2008/09/18(木) 14:40:520550デフォルトの名無しさん
2008/09/18(木) 14:44:170551デフォルトの名無しさん
2008/09/18(木) 14:44:55twitterがRailsやめるとかやめないとか
0552デフォルトの名無しさん
2008/09/18(木) 15:28:23徐々に置き換えていくことができるということを実証した点で、twitterの
やってることはRubyでのWebサービス提供の非常にいい運用例になってる。
0553デフォルトの名無しさん
2008/09/18(木) 15:33:50または業務未経験
0554デフォルトの名無しさん
2008/09/18(木) 15:37:49Rails並の中級フレームワークで、部分的置き換えが容易なものってそう多くないよね
0555デフォルトの名無しさん
2008/09/18(木) 17:12:54そこまで挙げてイメージ湧かないとな?俺は余裕で勃起したが。
・赤い宝石 ∴ 目が赤くて髪は白。神秘系のロリ
・動的なインタープリタ言語。柔軟すぎるぐらい柔軟
∴ 体がやぁらかい。体操が得意。常にブルマを着用
・他の言語を(基本的には)尊敬している ∴ 従順で頑張り屋
・親切で分かりやすいドキュメント? なにそれ?
∴ ツンデレ
・今はRailsのおかげで知名度が右上がり
∴ Railsたんに校内ミスコンに無理やり出場させられ、優勝。一躍校内のアイドルに
0556デフォルトの名無しさん
2008/09/18(木) 17:35:50んで、使ってみてがっかりするんですね。わかります。
0557デフォルトの名無しさん
2008/09/18(木) 17:48:000558デフォルトの名無しさん
2008/09/18(木) 18:43:28皆さんがrubyプログラミングするとき使っているエディタは何ですか?
0559デフォルトの名無しさん
2008/09/18(木) 19:06:380560デフォルトの名無しさん
2008/09/18(木) 19:08:400561デフォルトの名無しさん
2008/09/18(木) 19:16:59OS不問
0562デフォルトの名無しさん
2008/09/18(木) 19:25:10Linux:nano、leafpad、gedit、kate、emacs
MacOSX:nano、(KDEとは関係ないほうの)KEdit
0563デフォルトの名無しさん
2008/09/18(木) 19:32:51ちっちゃいのならRDE、Meadow(使い分けは気まぐれ)
ある程度以上大きくなるとNetBeans
0564デフォルトの名無しさん
2008/09/18(木) 21:02:220565デフォルトの名無しさん
2008/09/18(木) 21:07:040566デフォルトの名無しさん
2008/09/18(木) 21:11:110567デフォルトの名無しさん
2008/09/19(金) 00:29:18キャラ付けに節操無さすぎるだろw
0568デフォルトの名無しさん
2008/09/19(金) 00:34:160569デフォルトの名無しさん
2008/09/20(土) 03:05:280570デフォルトの名無しさん
2008/09/20(土) 17:25:560571デフォルトの名無しさん
2008/09/20(土) 17:30:44俺も。
鯖で何か起きてるのか?
0572デフォルトの名無しさん
2008/09/20(土) 21:18:26str = "hoge"
って「strに"hoge"を代入する」でいい?
Rubyでの = は代入ではないよね?
0573デフォルトの名無しさん
2008/09/20(土) 21:21:360574デフォルトの名無しさん
2008/09/20(土) 21:34:04ttp://doc.loveruby.net/refm/api/view/spec/operator
Ruby的にも、いわゆる代入は代入で問題ないと思う
0575デフォルトの名無しさん
2008/09/20(土) 21:40:30「代入ってあの代入だろ?」と他の言語の知識を持ち込んでしまう原因になるのだけは避けたいところ
0576デフォルトの名無しさん
2008/09/21(日) 09:35:28> 「代入ってあの代入だろ?」と他の言語の知識を持ち込んでしまう原因になるのだけは避けたいところ
具体的にどの言語の代入のどういう知識を持ち込んでしまうと困るのかkwsk
0577デフォルトの名無しさん
2008/09/21(日) 09:56:550578デフォルトの名無しさん
2008/09/21(日) 09:58:590579デフォルトの名無しさん
2008/09/21(日) 11:29:01それを言うならC++な
Javaは基本型(数値など)は即値、オブジェクトは参照だから
Rubyとは割と似てる方ではないかと
C++の場合
変数がオブジェクトへの参照でなく、オブジェクトそのものを保持でき
代入は基本的にコピーだから、その場合に実体がコピーされる
参照コピーなら明示的に参照を得ることになる
0580デフォルトの名無しさん
2008/09/21(日) 13:08:20C++ と Java 使ってて初めその差でちょっと混乱した
0581デフォルトの名無しさん
2008/09/21(日) 17:52:18http://tobysoft.net/diary/archives/2008/09/believers_of_c-sharp_are_uzai.html
---
C# 信者の特徴
Hejlsberg は神であり神による実装である C# こそが唯一絶対の言語である
他の言語(特に DelphiとJava)は存在自体が悪である
他の言語を使っているのは C# を知らないからである
C# を布教することでそのような不幸な子羊たちを救済することこそが正義である
どこかの世界宗教のようですね。
0582デフォルトの名無しさん
2008/09/21(日) 18:26:370583デフォルトの名無しさん
2008/09/21(日) 18:28:57なんでこんな短い文章を最後まで読めないの?バカなの?
0584デフォルトの名無しさん
2008/09/21(日) 19:24:20過激な特徴をタイプしながら一人で興奮してるのはわかるけど、
こんな特徴を挙げちゃったら、殆どの人間を「C#信者」扱いできなくなると思うんだが。
(だって、流石にここまでの奴はまずいないものな)
> 関数名にCamelCaseが来るという時点でまず C# 使わない人間から見ると異常。
こいつが変な宗教持ってるんじゃね?
0585デフォルトの名無しさん
2008/09/21(日) 19:27:44まずこちらをどうぞ
0586デフォルトの名無しさん
2008/09/21(日) 19:39:110587デフォルトの名無しさん
2008/09/21(日) 19:44:000588デフォルトの名無しさん
2008/09/21(日) 19:48:260589デフォルトの名無しさん
2008/09/22(月) 01:31:20p Ripper.lex("puts __ENCODING__")
>[Ripper FATAL] unknown token 306 (RuntimeError)
なんでだろか
ruby 1.9.0 (2008-08-26 revision 18849) [i686-linux]
0590デフォルトの名無しさん
2008/09/22(月) 02:43:500591デフォルトの名無しさん
2008/09/23(火) 00:51:380592デフォルトの名無しさん
2008/09/23(火) 03:50:28https://www.find-job.net/fj/showjob.cgi?id=70178&from=1
0593デフォルトの名無しさん
2008/09/23(火) 07:49:19> >>581
> > 関数名にCamelCaseが来るという時点でまず C# 使わない人間から見ると異常。
気持ちはわかる。好みの問題だが。MSってCamelCaseが好きな印象がある。
0594デフォルトの名無しさん
2008/09/24(水) 05:52:11的な表記をあえてCでやると何になる?
deleteThis
deleteSelf
deleteMe
...
なんかRubyがらみのCのソース書くときの決まりみたいのはあったりするのかな。
0595デフォルトの名無しさん
2008/09/24(水) 06:09:47みたいな感じ?
よくわからんけど,拡張なら慣習たくさんありそう
0596デフォルトの名無しさん
2008/09/24(水) 09:21:35prefix_clear(obj);
prefixにはobjの型とかその辺
0597デフォルトの名無しさん
2008/09/24(水) 11:58:32CはOOPLではない。パラダイムが違う機構を持ち込んでも混乱のもと。
おとなしく
int type_delete(T *obj)
にしておけ。
0598デフォルトの名無しさん
2008/09/24(水) 20:11:49真面目に書けば
delete_destructively
かなw
delete_アーッ
0599デフォルトの名無しさん
2008/09/24(水) 20:14:500600デフォルトの名無しさん
2008/09/24(水) 21:02:37snapshotに parse.h と revision.hを入れて欲しいです
せめて revision.h だけは入れて〜
parse.c を消せば parse.y から parse.[ch]は生成されるので
とは、いってもmakeでエラー出て止まるのもなんなので
parse.h が無いときも parse.c ごと生成しなおすルールになってるべきだとは思いますが
0601デフォルトの名無しさん
2008/09/24(水) 21:36:230602デフォルトの名無しさん
2008/09/25(木) 06:33:330603デフォルトの名無しさん
2008/09/25(木) 08:52:30バカだなあ、給料が一回り安くても好きなことしたい・新しいことしたいって層にアピールしてるに決まってるだろ
0604デフォルトの名無しさん
2008/09/25(木) 09:42:060605デフォルトの名無しさん
2008/09/25(木) 10:03:23田舎の人間には分からない世界だ
0606デフォルトの名無しさん
2008/09/25(木) 10:14:570607デフォルトの名無しさん
2008/09/25(木) 10:18:03Matzにっき(9/5)で言及されたときにはもうお亡くなりになってたんだね。
0608デフォルトの名無しさん
2008/09/25(木) 10:54:07額面で十の位が2とかありえない
0609デフォルトの名無しさん
2008/09/25(木) 11:30:21そら「とうきょうさ行くだ 」ってなるわ
0610デフォルトの名無しさん
2008/09/25(木) 12:06:35まあどっちもどっちって感じだ
0611デフォルトの名無しさん
2008/09/25(木) 12:23:23あれって田舎の基準では高給なんだよね
住むとこのこと考えたら給料に見合わないと思うんだけどなあ
あれはある意味騙しに近い
0612デフォルトの名無しさん
2008/09/25(木) 19:47:03> http://www.ruby-lang.org/ja/man/archive/ruby-refm-1.8.7-20080829.chm
> (予定)
> http://www.ruby-lang.org/ja/man/archive/ruby-refm-1.9.0-20080829.chm
> (予定)
これずっと誰も用意しないんだな
0613デフォルトの名無しさん
2008/09/25(木) 19:52:151.8.6と1.9.0ならここに
http://doc.loveruby.net/wiki/ReleasedProducts.html
0614デフォルトの名無しさん
2008/09/25(木) 20:07:080615デフォルトの名無しさん
2008/09/25(木) 21:55:18とか出されても何をどうしていいのかまったくわかりません
0616デフォルトの名無しさん
2008/09/25(木) 21:58:580617デフォルトの名無しさん
2008/09/25(木) 22:10:350618デフォルトの名無しさん
2008/09/25(木) 23:04:38Encoding についてきちんと学べ
>>617 みたいなのは to_s しまくってるスクリプトがアホっぽいのと同じ
0619デフォルトの名無しさん
2008/09/25(木) 23:14:590620デフォルトの名無しさん
2008/09/26(金) 06:58:18require 'ripper'
require 'pp'
pp Ripper.lex(<<EOS)
def my_while(cond, &body)
while cond.call
body.call
end
end
a = 0
my_while -> { a < 5 } do
puts a
a += 1
end
EOS
これが、[[7, 20], :on_rbrace, "}"]] で終わっちゃう
ruby 1.9.0 (2008-08-26 revision 18849) [i386-mswin32]
ビルド環境がないので、最新で直ってるのかは知らない
0621デフォルトの名無しさん
2008/09/26(金) 10:37:360622デフォルトの名無しさん
2008/09/26(金) 11:53:540623デフォルトの名無しさん
2008/09/26(金) 11:54:29おーおれもなるなと書こうと思ったらリビジョンそれより低かった
意味ねー
0624デフォルトの名無しさん
2008/09/26(金) 12:06:29ttp://www.ruby-lang.org/ja/man/html/ruby_1_9_feature.html
> 2006-06-10
:
> 実験中だった meth -> { ... } という -> が除去されました (lambda のかわりの -> { ... } は残っています)
0625デフォルトの名無しさん
2008/09/26(金) 12:11:350626デフォルトの名無しさん
2008/09/26(金) 12:25:03subx gsubx scanx
sub2 gsub2 scan2
0627デフォルトの名無しさん
2008/09/26(金) 13:47:230629デフォルトの名無しさん
2008/09/27(土) 15:37:170630デフォルトの名無しさん
2008/09/27(土) 15:42:14期待大だなw
0631デフォルトの名無しさん
2008/09/27(土) 15:51:24puts fmt % args
end
みたいな?
0632デフォルトの名無しさん
2008/09/27(土) 16:45:3426時間ほどで実装されたぞ。
0633デフォルトの名無しさん
2008/09/27(土) 16:49:170634デフォルトの名無しさん
2008/09/27(土) 19:18:50それとも、本当にputsfっていうのあったの?
0635デフォルトの名無しさん
2008/09/27(土) 19:43:420636デフォルトの名無しさん
2008/09/27(土) 19:58:33結局は>>630でしかないじゃん。まあ、それを言ったらputsもそうか。
でも、>>631(の中身だけ)でいいじゃん
String#% は知らなかったから為にはなったけど、普通のセンスってのもどうかと
0637デフォルトの名無しさん
2008/09/27(土) 20:07:35http://msdn.microsoft.com/ja-jp/library/system.console.write(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.console.writeline(VS.80).aspx
0638デフォルトの名無しさん
2008/09/27(土) 20:15:54うーん。ばかげてるような気はするが、putsがあってしかも便利だと
いう点で否めないような気もしてきたw
0639デフォルトの名無しさん
2008/09/27(土) 20:21:15printfのフォーマット文字列にリテラル以外を書くのはあまりよろしくないし,
別に\nくらい自分で書けば済むよなあと
0640デフォルトの名無しさん
2008/09/27(土) 20:26:090641デフォルトの名無しさん
2008/09/27(土) 21:05:02実は単に sprintf の別名だったりするな。
0642デフォルトの名無しさん
2008/09/27(土) 21:07:30どっちなんだw
0643デフォルトの名無しさん
2008/09/27(土) 22:27:11書式付けるとホントに\n省略だけの役目だよなあw
個人的には self.method(:メソッド名) とか
map{|x|x.メソッド}の略記法が欲しいかな
0644デフォルトの名無しさん
2008/09/27(土) 22:35:460645デフォルトの名無しさん
2008/09/27(土) 22:55:28その辺もputsのやっかいな所なんじゃないの?
ってかちょっと前にもそう言うレスを見たような
単純に to_s して "\n" つけて出すだけじゃないっていう
だから、>>627に戻ると putsf にはどういう動作を期待してるんだろう?
0646デフォルトの名無しさん
2008/09/27(土) 23:02:160647デフォルトの名無しさん
2008/09/27(土) 23:03:500648デフォルトの名無しさん
2008/09/27(土) 23:07:49初心に立ち返ってドびっくり最小限の法則に基づいて文法およびライブラリを整理してもらいたい。
0649デフォルトの名無しさん
2008/09/27(土) 23:12:28それはver2.1とかになるの?
Ruby 3.0とかで再来年のクリスマスとかそう言う話かなぁ
0650デフォルトの名無しさん
2008/09/27(土) 23:20:32しばらくRuby1.9.xを充実させてくれればいいよ
>>648
因習がないのが嫌なら自分で言語をたちあげればいいんじゃね
0651デフォルトの名無しさん
2008/09/27(土) 23:31:04これが[""]を返すようになって欲しい
0652デフォルトの名無しさん
2008/09/28(日) 01:30:48教祖の教えそのままで面白い
0653デフォルトの名無しさん
2008/09/28(日) 01:40:00「○○が欲しい」って言われたら自分で言語作ってねと言うしかあんめえ
0654デフォルトの名無しさん
2008/09/28(日) 01:50:19俺「ドリアー」
妹「じゃあ作って」
俺「……はい」
(´・ω・`)
0655デフォルトの名無しさん
2008/09/28(日) 02:57:38俺「ドリアー」
俺「じゃあ作って」
俺「……はい」
(´・ω・`)
> 個人的には self.method(:メソッド名) とか
http://www.rubyist.net/~matz/20070806.html#p01
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/31448
みたいな?
0657デフォルトの名無しさん
2008/09/28(日) 12:20:47> parent*.action //equivalent to:
> parent.collect{ child -> child?.action }
どーかねえ
こんなのもあるけど、あんまり…
http://pnuts.org/doc.ja/lang.html#generator
> ジェネレータに対するインスタンス・フィールドへのREADアクセスは、生成される各要素に対してインスタンス・フィールドを参照した結果をそれぞれ生成するジェネレータを返します。
0658デフォルトの名無しさん
2008/09/29(月) 14:09:260659デフォルトの名無しさん
2008/09/29(月) 14:39:230660デフォルトの名無しさん
2008/09/29(月) 14:53:04http://namidame.2ch.net/test/read.cgi/news/1222665001/
0661デフォルトの名無しさん
2008/09/29(月) 19:39:440662デフォルトの名無しさん
2008/09/29(月) 23:02:040663デフォルトの名無しさん
2008/09/29(月) 23:14:120664デフォルトの名無しさん
2008/09/29(月) 23:31:20フェローってなんだか知ってるか?
0665デフォルトの名無しさん
2008/09/29(月) 23:45:52語感からすると、顧問よりもアドバイザーよりもさらに薄い感じ?
辞書では特別研究員とか名誉会員っぽいこと書いてるけど、Matzのは
実体としては協賛・協力程度のニュアンスかな、とも思う
名義貸し、とまで言うと言い過ぎなんだろうけど
0666デフォルトの名無しさん
2008/09/30(火) 00:07:48権威あるものもある。その言葉だけで判断できるものではない。
0667デフォルトの名無しさん
2008/09/30(火) 00:10:33とりあえず何フェローなのかくらいソースに当たろうぜ
ttp://www.rakuten.co.jp/info/release/2007/0531.html
> まつもと氏にRubyやオープンソースソフトウェアの活用に関する助言・指導をいただきます。
> 楽天技術研究所において楽天の大規模サービス開発の経験および環境を活かした共同での技術研究を実施してまいります。
というわけで、技術助言職および共同研究員ってとこかね
動いてるプログラムに対する責任はたぶん言うほど無いな
0668デフォルトの名無しさん
2008/09/30(火) 02:33:52> Rubyが遅くても、結局はボトルネックは別のところ(ネットワークかデータベース)にあるという仮説を裏づける内容。実際、楽天とかでも問題なく動いてるしな。
ということで、楽天内のRoRアプリぐらいは見てるんじゃないのかな。
ただ、楽天は昔から情報流出しまくってるから別にこれぐらいで傾いたりはせんと思うが
0669デフォルトの名無しさん
2008/09/30(火) 05:27:42セキュリティホールを産んでしまうような言語仕様にしてしまった責任は免れないと思うよ。
0670デフォルトの名無しさん
2008/09/30(火) 07:51:070671デフォルトの名無しさん
2008/09/30(火) 09:50:03> セキュリティホールを産んでしまうような言語仕様にしてしまった責任は免れないと思うよ。
セキュリティーホールを生まない言語仕様になってる言語の具体例を教えて下さい
0672デフォルトの名無しさん
2008/09/30(火) 11:28:48根拠・論拠の世界を一気に突き抜けてお花畑に到達するのがアホの慣わし。
0673デフォルトの名無しさん
2008/09/30(火) 13:25:37今頃びよーねすっぽすっぽ先生は終身刑だろw
0674デフォルトの名無しさん
2008/09/30(火) 13:36:000675デフォルトの名無しさん
2008/09/30(火) 19:29:44「現状だとまあ無いよりマシな程度」
「今のところ、もっとうまいセキュリティモデルのアイディアは無い」
「ネタがあるなら前向きに検討してみたい」
0676デフォルトの名無しさん
2008/09/30(火) 19:36:34ただ、セキュリティは利便性とかパフォとかとのトレードオフだから
なかなか難しい。セキュリティ専用言語ならともかく、汎用のもので言語設計者が
出来ることって今のところあんまりないんじゃないかな。
0677デフォルトの名無しさん
2008/09/30(火) 21:52:190678デフォルトの名無しさん
2008/09/30(火) 21:57:20Windows版Ruby、ActiveScriptRubyなんかを使うと、起動だけがバカみたいに遅いんだけど、対処法はある?
0679デフォルトの名無しさん
2008/09/30(火) 22:19:03echo %time%
ruby -e "require 'mechanize'; puts 'hello!'"
echo %time%
echo %PROCESSOR_IDENTIFIER%
実行
22:18:14.18
hello!
22:18:19.34
x86 Family 6 Model 8 Stepping 6, GenuineIntel
これは遅いって。
0680デフォルトの名無しさん
2008/09/30(火) 22:26:29Windowsはプロセスの実行が遅くてスレッドの実行が速い。
GNU/Linuxはその逆。
cygwin上で./configureを実行するとあまりの遅さに老衰死するぞ
0681デフォルトの名無しさん
2008/09/30(火) 22:31:37$ time ruby -e "require 'rubygems'; require 'mechanize'; puts 'hello!'"
hello!
real 0m1.573s
user 0m1.340s
sys 0m0.230s
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 400.925
0682デフォルトの名無しさん
2008/09/30(火) 22:33:19PentiumIIIで起動に5秒か
ゴミだな
0683デフォルトの名無しさん
2008/09/30(火) 23:32:06ruby -e "puts 'hello'" 程度ならまさに一瞬で起動して終わる。
特定の環境の問題ではなかろうか。
0684デフォルトの名無しさん
2008/09/30(火) 23:41:45なんでわざわざほぼ最小構成を持ち出すの?
0685デフォルトの名無しさん
2008/09/30(火) 23:50:21>>683
ttp://q.hatena.ne.jp/1174107118
とか
ttp://emaame.com/20070120.html
とか
0686デフォルトの名無しさん
2008/09/30(火) 23:54:470687デフォルトの名無しさん
2008/10/01(水) 01:36:36むしろ、なんで起動時間の確認に余分なライブラリを
requireする時間まで持ち出すのかわからん。そこは既に起動後の話だし。
で、rubygemsをrequireすれば、それだけでそれなりに時間がかかのは事実だけど、
それでもソコまでかかった事は一度も無いなぁ。
0688デフォルトの名無しさん
2008/10/01(水) 03:11:02そのくせ、rubyで書けばセキュアです、っていうふいんき出してるよねw
0689デフォルトの名無しさん
2008/10/01(水) 08:18:31kwsk
0690デフォルトの名無しさん
2008/10/01(水) 08:26:320691デフォルトの名無しさん
2008/10/01(水) 08:38:21http://python.meetup.com/
http://php.meetup.com/
http://perl.meetup.com/
http://java.meetup.com/
0692デフォルトの名無しさん
2008/10/01(水) 11:38:15> ruby -e "puts 'hello'" 程度ならまさに一瞬で起動して終わる。
ほい
rubygem を require したのは時間かかるのをわかりやすくしただけ
11:35:25.96
hello!
11:35:26.96
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
x86 Family 6 Model 8 Stepping 6, GenuineIntel
ちなみに ruby -v は本当に一瞬
@echo off
echo %time%
ruby -e "puts 'hello!'"
echo %time%
ruby -v
echo %PROCESSOR_IDENTIFIER%
なんだろね
0693デフォルトの名無しさん
2008/10/01(水) 11:50:200694デフォルトの名無しさん
2008/10/01(水) 14:32:22手元の環境だとこんな感じだった。
ちなみに、ASRのruby console上でバッチファイルを起動したよ。
環境やRuby(ASR)のバージョンの問題なのかな。
14:28:29.95
hello!
14:28:29.98
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]
14:28:30.00
x86 Family 6 Model 15 Stepping 6, GenuineIntel
0695デフォルトの名無しさん
2008/10/01(水) 17:00:18http://slashdot.jp/security/article.pl?sid=08/09/30/0817247
0696デフォルトの名無しさん
2008/10/01(水) 21:03:160697デフォルトの名無しさん
2008/10/01(水) 21:08:150698デフォルトの名無しさん
2008/10/01(水) 22:45:420699デフォルトの名無しさん
2008/10/01(水) 23:00:23そもそも難しいと思う
というか、インクリメントなんてRubyでそんな頻繁に使うか?
年に数回とかそういうイベント的なもんじゃね?
0700デフォルトの名無しさん
2008/10/01(水) 23:15:48破壊的なら succ! 実装すりゃ良いし
むしろ += すら必須じゃないんだぜ?(便利ではあるけど)
0701デフォルトの名無しさん
2008/10/01(水) 23:16:180702デフォルトの名無しさん
2008/10/02(木) 04:31:08--ならすぐ実装してやるぞ。
Index: parse.y
===================================================================
--- parse.y (revision 19655)
+++ parse.y (working copy)
@@ -6344,4 +6344,5 @@ parser_yylex(struct parser_params *parse
case '#': /* it's a comment */
+ comment:
/* no magic_comment in shebang line */
if (parser->line_count == (parser->has_shebang ? 2 : 1)
@@ -6768,4 +6769,5 @@ parser_yylex(struct parser_params *parse
case '-':
c = nextc();
+ if (c == '-') goto comment;
if (lex_state == EXPR_FNAME || lex_state == EXPR_DOT) {
lex_state = EXPR_ARG;
0703デフォルトの名無しさん
2008/10/02(木) 05:40:100704デフォルトの名無しさん
2008/10/02(木) 05:46:27++ が使えないこと自体ではなく ++ が使えないというごくまっとうなクレームが
何度も何度も発生することである。どう考えてもインターネッツリソースの無駄なので
早々に実装して不毛なループを根絶してもらいたい。
0705デフォルトの名無しさん
2008/10/02(木) 06:10:120706デフォルトの名無しさん
2008/10/02(木) 07:23:02でも ++ どころか += が無い言語なんてザラにあるのだが。
むしろ1インクリメントする演算子があるのってC系だけじゃね?
0707デフォルトの名無しさん
2008/10/02(木) 08:25:490708デフォルトの名無しさん
2008/10/02(木) 08:29:11++もできるはずという類推を裏切るから
みんなビックリしちゃうんだよ
0709デフォルトの名無しさん
2008/10/02(木) 08:40:02Ruby なら each があるから普通にイラネ
> +=1ができるから当然
> ++もできるはずという類推を裏切るから
そんな類推しないだろう
+=1 が出来るなら *= も出来るだろう、とかならわかるが
0710デフォルトの名無しさん
2008/10/02(木) 08:48:07この手の問題のやっかいなのは、Matzを信仰してるrubyistが、Matzが言ったことに対して、
思考停止してしまっているという点にあると思う
0711デフォルトの名無しさん
2008/10/02(木) 09:01:330712デフォルトの名無しさん
2008/10/02(木) 09:06:01http://www.google.co.jp/codesearch?hl=ja&lr=&q=file%3A%5C.rb+%5C%2B%5C%3D%5Cs*1&sbtn=%E6%A4%9C%E7%B4%A2
0713デフォルトの名無しさん
2008/10/02(木) 09:08:08b = a
a++
これで b も 2 になるほうがいいと思うなら、自分でそういう俺Rubyをforkすれば?
0714デフォルトの名無しさん
2008/10/02(木) 09:12:140715デフォルトの名無しさん
2008/10/02(木) 09:17:18オブジェクトとかどうでもいいから ++ を実装しろというほうがRubyではアホ
0716デフォルトの名無しさん
2008/10/02(木) 09:18:36a += 1の糖衣構文って形になるだろうな
でも=記号無しに「変数へのオブジェクトの代入」を行うのは、確かにわかりにくくて嫌だ
0717デフォルトの名無しさん
2008/10/02(木) 09:19:10A. まっつんが常に一貫性のある行動を取るとは限らないからです。
今ないのと同様に、要不要にかかわらずある日突然気分次第で付くかもしれません。
0718デフォルトの名無しさん
2008/10/02(木) 09:27:34succ! を実装するという手もある
実行した時点で self 自体がオブジェクトごと変更される極悪メソッドになるが
あと Integer を整数コンテナにするとか
せっかく即値にしたのに意味ねーよとは思うけど、世界中のRubyスクリプトを遅くするだけの価値が ++ にはあるのだろう
0719デフォルトの名無しさん
2008/10/02(木) 09:33:49++なんか存在するのがおかしいと思ってるのはどうかしてる
0720デフォルトの名無しさん
2008/10/02(木) 10:32:33どのようにして++を実装するんですか?
0721デフォルトの名無しさん
2008/10/02(木) 10:59:07オブジェクトを操作することまでしか思考が及ばないのかね
0722デフォルトの名無しさん
2008/10/02(木) 11:05:31日本語でおk
0723デフォルトの名無しさん
2008/10/02(木) 11:34:15a++ とは書けても 1++ とは書けないの?
それってRubyとしては変だよね。
1++ と書けないのなら a++ とも書けないのは正常。
なら現状で問題ないじゃん。
0724デフォルトの名無しさん
2008/10/02(木) 11:47:45.succ!みたいなメソッド形式はさすがに破綻してるでしょ
っていうかネタだと思ったんだが
0725デフォルトの名無しさん
2008/10/02(木) 12:00:010726デフォルトの名無しさん
2008/10/02(木) 12:07:020727デフォルトの名無しさん
2008/10/02(木) 12:08:59いつ導入するかだ。
0728デフォルトの名無しさん
2008/10/02(木) 12:16:16Rubyに変数という物体はない
オブジェクトに名前がついてるだけだ
名前を付け替えたいなら代入しろ
0729デフォルトの名無しさん
2008/10/02(木) 12:17:380730デフォルトの名無しさん
2008/10/02(木) 12:21:44++ 使いたい派はRubyらしい実装方法を提唱すること
0731デフォルトの名無しさん
2008/10/02(木) 12:22:21「便利だから」と後先考えずに、新しい文法をやたらと導入したがる新世代よりマシです
0732デフォルトの名無しさん
2008/10/02(木) 12:24:07Rails世代って呼ぼうぜ
0733デフォルトの名無しさん
2008/10/02(木) 12:25:200734デフォルトの名無しさん
2008/10/02(木) 12:59:50ろくろく読みもせずに喜んでる厨がいると聞いて飛んできました。
0735デフォルトの名無しさん
2008/10/02(木) 13:02:500736デフォルトの名無しさん
2008/10/02(木) 13:06:250737デフォルトの名無しさん
2008/10/02(木) 13:15:20a++ が、a = a.succ になるような感じ?
0738デフォルトの名無しさん
2008/10/02(木) 13:25:48Object#becomeはどうなったんだっけ
0739デフォルトの名無しさん
2008/10/02(木) 14:45:49a=.succ
0740デフォルトの名無しさん
2008/10/02(木) 15:54:090741デフォルトの名無しさん
2008/10/02(木) 16:00:45#define ++ +=1
すりゃいいだけだろ。頭使えよ。
0742デフォルトの名無しさん
2008/10/02(木) 16:08:57いちいちcpp呼び出して済む話ならこんな流れにならんと思う。
>>740
class Integer
define_method("++") do self + 1 end
end
1.send("++") #=> 2
0743デフォルトの名無しさん
2008/10/02(木) 17:17:23でも1が全部2の意味になったら面白いねw
0744デフォルトの名無しさん
2008/10/02(木) 18:25:470745デフォルトの名無しさん
2008/10/02(木) 18:25:53ちょっと長いね。
こうはできないの?
a = 1
a.++
print a #=> 2
0746デフォルトの名無しさん
2008/10/02(木) 18:35:250747デフォルトの名無しさん
2008/10/02(木) 18:57:03?
0748デフォルトの名無しさん
2008/10/02(木) 19:07:070749デフォルトの名無しさん
2008/10/02(木) 19:21:110750134
2008/10/02(木) 19:37:06あれば教えて下さい><
0751750
2008/10/02(木) 19:37:460752デフォルトの名無しさん
2008/10/02(木) 19:50:060753デフォルトの名無しさん
2008/10/02(木) 20:50:22ありがとうございます。
試してみたところ簡単なプログラムは動きました。
今、ヘッダファイル覗いてるんですがわくわくしてきましたw
0754デフォルトの名無しさん
2008/10/02(木) 22:41:35=がないのに代入してるのは気持ち悪いとかいうやつは
=がついてるのに代入でもない#[]=とかはどんな気持ちで見ているんだ。
0755デフォルトの名無しさん
2008/10/02(木) 23:08:21a += 1の糖衣構文?ワロタ
0756デフォルトの名無しさん
2008/10/02(木) 23:52:540757デフォルトの名無しさん
2008/10/02(木) 23:57:530758デフォルトの名無しさん
2008/10/03(金) 00:09:00http://python.org/download/releases/2.6/
また大きく差がついてしまいましたね^^
もうOSS界の発展を阻害するRubyの開発なんてやめちゃったら?
0759デフォルトの名無しさん
2008/10/03(金) 00:25:170760デフォルトの名無しさん
2008/10/03(金) 00:40:09ちなみにどんな差がついたの?
0761デフォルトの名無しさん
2008/10/03(金) 02:42:390762デフォルトの名無しさん
2008/10/03(金) 04:34:280763デフォルトの名無しさん
2008/10/03(金) 04:44:25Ruby は self のオブジェクトを別のオブジェクトに変更することはできない
irb> class Integer; def countup; self +=1; end; end
SyntaxError: compile error
(irb):1: Can't change the value of self
だから、++ の実装は文法というかシンタックスシュガー用のパーサ動作の変更を必要とする
単純にクラスにメソッドを追加しただけでは動作しない
0764デフォルトの名無しさん
2008/10/03(金) 07:13:56そんな調子でCOBOLやらLisp系全般やらPrologやDelphiやPythonにも
「++演算子の実装を要求する!」とか言って突っ掛かってるんだろうか
Delphiから来たオイラには全く理解出来んわ
0765デフォルトの名無しさん
2008/10/03(金) 07:24:43使われてないだろ
そんなに欲しいほどRubyで使用頻度高いか?
0766デフォルトの名無しさん
2008/10/03(金) 07:53:05>>712
gsubはgsub!込みで45000
+=1は30000
だからかなり頻度は高いと言える。
>>764
Delにも専用のインクリメント機能Inc(a)がある。こっちは手続きだけど。
0767デフォルトの名無しさん
2008/10/03(金) 08:09:46信者からするとmatzを否定されたみたいで嫌なのかな
0768デフォルトの名無しさん
2008/10/03(金) 08:37:310769デフォルトの名無しさん
2008/10/03(金) 09:27:34違う、自己代入だとa++でaの指しているのが違うオブジェクトになるのが嫌なんだ
かといって破壊的にやると>>713の問題がある
しかもそうした諸問題の割に、導入してもたいしたメリットがない(明示的にa+=1と書けばいいじゃん、という話になる)
>>768
今見てきた
珍しくHotlinksが載ってなかったことと、桑田さんの頑張りが目立った
しかしついに半年か・・・次は1.9.1の後かな
0770デフォルトの名無しさん
2008/10/03(金) 09:46:33だがInc()がRubyに欲しいかと言われると微妙
(そもそもInc()自体あんまり使わなかったってのもあるが)
あっても構わんが、無くても何も不便に思わん
たった数文字違いで全く同じこと出来るんだから別にいいやと思う
そんな数文字で嫌ならキーワードの冗長なDelphiなんて使わんしw
つか頻繁に使うわけでないgsubと比較してどうする
each とか検索してみたら吹くよ?
0771デフォルトの名無しさん
2008/10/03(金) 10:17:45これって、++がsucc!であるのが当然と思ってるから、そうなのであって
実は全然問題にならないことだと思う
rubyにおいて++をどう定義づけるかが問題で、こうでなくてはならない!というものではなくて
succ!的なイメージを捨て去ればいいだけのことじゃない?
a+=1だって違うオブジェクトになるわけだし、そうなることがわかってれば、
その範囲で使うだけのことかと
>導入してもたいしたメリットがない
そもそも自分も++が無くてかまわない立場で、
ただ、昔はmatzの説明でそういうもんかと納得してたけど、今はちょっと違うかなと思いはじめた
少し考え方を変えることで、どうとでもなるようなことだったんだなと
0772デフォルトの名無しさん
2008/10/03(金) 10:21:00ここまで必死に擁護されるとも思わなかっただろうなw
0773デフォルトの名無しさん
2008/10/03(金) 10:51:01ていうか必死なのはどっちだよwwwww
0774デフォルトの名無しさん
2008/10/03(金) 10:52:12Pythonとかも無いんだが、そっちにも入れろって言うワケ?
0775デフォルトの名無しさん
2008/10/03(金) 10:54:02実装するのが面倒なのはなぜか、ということを考えると主張の根幹が見えるよ
オブジェクト指向であることを崩せば実装は非常に簡単だけど、それをしたくないんだろう
Rubyであることを保持しつつ ++ を実装する方法があれば、Ruby作者だって前向きに考えるさ
++ 作ってくれというほうの主張はそういうの無しにとても利己的だから、こうやって非難されるんだよ
せめて実装可能な方法論くらい持ち込んでくれ
0776デフォルトの名無しさん
2008/10/03(金) 10:56:250777デフォルトの名無しさん
2008/10/03(金) 11:12:27i = 0
while (i < 3) do
tmp = i
i++
puts "#{tmp}です!"
end
が「1です!」から始まるんじゃないかと思ってる節があるんだがどうだろう
0778デフォルトの名無しさん
2008/10/03(金) 11:27:32よくわからないのが、文字列等なら破壊的メソッドがあって
オブジェクトIDを保持しながら操作できるのに、数値は無理なの?
例えば文字列をASCII順にシフトする String#++ みたいなものが
あったとしても、別にかまわないんでしょ?
0779デフォルトの名無しさん
2008/10/03(金) 11:29:310780デフォルトの名無しさん
2008/10/03(金) 11:31:010781デフォルトの名無しさん
2008/10/03(金) 11:42:010782デフォルトの名無しさん
2008/10/03(金) 11:42:53文字列は「入れ物」なんだけど、整数は即値なんだよね
Integer には concat や replace に該当するものがないだろ
数値の変更がオブジェクトの変更なんだ
>>780
じゃあ数値は全部数値格納オブジェクトになるけど、Ruby が遅いって文句言うなよ
0783デフォルトの名無しさん
2008/10/03(金) 11:45:15ttp://www.ruby-lang.org/ja/man/html/Ruby_A4C7BBC8A4EFA4ECA4EBB5ADB9E6A4CEB0D5CCA3.html
0784デフォルトの名無しさん
2008/10/03(金) 12:22:10いいかげん、「即値」という概念がわからないやつは黙った方がいい
0785デフォルトの名無しさん
2008/10/03(金) 12:35:58++は正直どうでもいいんだけどさ
aliasとかundefあたりは思いっきり「オブジェクト指向であること」を
崩しまくってると思うんだがどうよ?
0786デフォルトの名無しさん
2008/10/03(金) 12:48:190787デフォルトの名無しさん
2008/10/03(金) 13:18:31++ ごときで崩したくねーという思いがあるのではないかと推測
Rubyやってると「++ は別になくてもいいかな」とか思う
0788デフォルトの名無しさん
2008/10/03(金) 13:20:41本来「超おっそい」シロモノだった完全完璧オブジェクト指向スクリプト言語を、
頻繁に使われる整数などを即値にして妥協することで「まあ遅い」のレベルに引き上げたのですよ
そのへんの順番を勘違いしてはいけませぬぬぬ
0789デフォルトの名無しさん
2008/10/03(金) 13:22:200790デフォルトの名無しさん
2008/10/03(金) 19:51:33ttp://www.kouno.jp/home/c_faq/c3.html
のような話になるからじゃないかな。
演算子の優先順位とか、副作用の話が
ごちゃまぜに来るので、説明が難しい印象がある。
一方で、破壊的メソッドは戻り値が......
すまん、忘れた。
0791デフォルトの名無しさん
2008/10/03(金) 19:56:3210年近く前の話だが
0792デフォルトの名無しさん
2008/10/03(金) 20:45:41もう唯一まともな実装と言っていいRuby.NETに期待だな。
0793デフォルトの名無しさん
2008/10/03(金) 21:21:500794750
2008/10/04(土) 00:06:14windowsではlibmsvcrt-ruby18.dll.aへリンクさせれば出来たのですが、
linux上ではどのファイルにリンクさせれば出来るのかが分かりません。
ご教示お願いします。
0795デフォルトの名無しさん
2008/10/04(土) 00:34:40libruby-static.aがあれば -Lそれがあるディレクトリ -lruby-static
かしら。
0796デフォルトの名無しさん
2008/10/04(土) 01:08:21でlibruby.1.8.so.1.8.6をリンクさせたら出来ました。ありがとうございました。
0797デフォルトの名無しさん
2008/10/04(土) 01:21:440798デフォルトの名無しさん
2008/10/04(土) 02:40:20VB.NET に ++ は無いけどな。
0799デフォルトの名無しさん
2008/10/04(土) 03:55:51Fixnumが即値かどうかじゃなくてNumericがimmutableだからだろ
その影響で即値じゃないBignumにもFloatにも破壊的メソッドは無い
0800デフォルトの名無しさん
2008/10/04(土) 15:17:06a = 2
b = a
a++
とやったときに、b が 3 になってしまう。
なら「a++ は a = a.succ のsyntax sugar」ってことでいいんじゃないかと思うんだが。
副作用のせいで定義できない挙動は、未定義動作としておけばよい。
個人的には、最近データ統計とるプログラム書く機会が多くて、+= 1 をやたら書く
ハメになったから、++ があったほうが嬉しいとは思った。
0801デフォルトの名無しさん
2008/10/04(土) 16:25:28a++ は難しいわな。
そう考えると、なくていいように思う。
0802デフォルトの名無しさん
2008/10/04(土) 16:57:52さあruby-listに投下するんだ
0803デフォルトの名無しさん
2008/10/04(土) 16:59:57そう言やそうか
0804デフォルトの名無しさん
2008/10/04(土) 17:33:530805デフォルトの名無しさん
2008/10/04(土) 17:34:22proc{|tmp| tmp = a; a = a.succ; tmp}.call(nil)
の syntax sugar にしてみるとか
0806デフォルトの名無しさん
2008/10/04(土) 17:39:13ruby-devに投稿する勇気もないやつらがぐだぐだ言っても無駄だし
たいした機能じゃない。
a+=1がa++になって何がうれしいんだ。
0807デフォルトの名無しさん
2008/10/04(土) 17:39:39穴を指摘されたり態度の厨臭さを指摘されたら、途端に「便所の落書きに何を期待してるんだ?」で
逃げる展開が始まるんすかw
0808デフォルトの名無しさん
2008/10/04(土) 17:59:06perl、c、java を仕事柄やっていて、++を使うことがなんだかんだ多いので
ruby でも書けたほうが、書き間違えるストレスが減る
0809デフォルトの名無しさん
2008/10/04(土) 18:18:47してる可能性がある。rubyの使用を停止することをおすすめする。
0810デフォルトの名無しさん
2008/10/04(土) 18:21:20いいじゃん、言語にメリハリがつく。
RubyはC, Java, Perlとは違う言語なんだし、出来ることと出来ないことが
あって当然でしょ?
0811デフォルトの名無しさん
2008/10/04(土) 18:42:410812デフォルトの名無しさん
2008/10/04(土) 18:43:04Rubyの今後の発展を考えたら対応する価値が十分にあると思うよ。
0813デフォルトの名無しさん
2008/10/04(土) 18:51:19出来ないというより、「言語哲学によりさせない」って感じかな。
Javaが多重継承できないのと一緒。
>>812
ネタはいいよつまらないから。
0814デフォルトの名無しさん
2008/10/04(土) 18:57:280815デフォルトの名無しさん
2008/10/04(土) 19:06:32whileだの$!だのいろいろくっつけておいて++だけ頑なに拒否?
0816デフォルトの名無しさん
2008/10/04(土) 20:08:25Javaで多重継承できないのは哲学というより、多重継承では一貫性を保つのが難しくなる側面
(たとえばC++でvirtual継承で無理やり何とかしてるダイアモンド継承の問題)があるからでしょ。
別に Ruby に ++ があって一貫性を保つように実装するのが難しいとは思えない。
++ でオブジェクトを破壊しないことを大前提にすれば、特に問題ないのでは?
0817デフォルトの名無しさん
2008/10/04(土) 20:22:28.succを使うとかなり変な用法ができそう
0818デフォルトの名無しさん
2008/10/04(土) 20:31:53まあMLでやらない時点でただの暇つぶしの雑談なんだろうけど
0819デフォルトの名無しさん
2008/10/04(土) 20:37:06>
>という案ですね.まあ,採用するならそれしかないかな,とは思っ
>ているんですけど,
しょうゆうことですね
0820デフォルトの名無しさん
2008/10/04(土) 20:41:38設計上の選択肢としては、別に単一継承+インタフェースでなくてもいいわけで
・多重継承+ややこしい規則(C++、Eiffelなど)
・単一継承+mix-in(Rubyなど)
でもよかった。どれも一長一短ある
じゃあなぜインタフェースを採用したかと言われると、もうそれは哲学としか言いようがないのでは
0821デフォルトの名無しさん
2008/10/04(土) 20:44:13それなりに真剣ではあるけど、自尊心が能力に大きく先行してるから、
過去の発言で現在の自分がジャッジされる空間、ヘタ打った時にそれを無かったことに
できない空間では、とてもじゃないけど怖くてモノ言えないんですよ。
0822デフォルトの名無しさん
2008/10/04(土) 20:45:440823デフォルトの名無しさん
2008/10/04(土) 20:46:500824デフォルトの名無しさん
2008/10/04(土) 20:48:52まぁ実際にはRuby批判のほうが圧倒的に人格攻撃多いんだけどね。
0825デフォルトの名無しさん
2008/10/04(土) 20:50:55その人達の的外れな意見に興ざめしたよ。程度が低い
0826デフォルトの名無しさん
2008/10/04(土) 21:01:11いや>>818下一行は俺ってばネタにマジレスしてるよ、っていう自虐
もし本気な人がいたらごめんなさい、開発者に見えるところでやってください
って書いた時点で思い出したけどいるじゃん>>656
0827デフォルトの名無しさん
2008/10/04(土) 21:09:03自分と違う意見の人達がどいつもこいつも「必死に的外れなことを言っている」
ようにしか見えない一種の病気があって、大抵は20代前半にピークを迎えるけど、
君のもそれじゃないの?
0828デフォルトの名無しさん
2008/10/04(土) 21:12:240829デフォルトの名無しさん
2008/10/04(土) 21:17:04713,743,777みたいなやつは?
0830デフォルトの名無しさん
2008/10/04(土) 21:17:520831デフォルトの名無しさん
2008/10/04(土) 21:22:03本当に、ただそれだけのことなんだけど
0832デフォルトの名無しさん
2008/10/04(土) 21:26:40質問の意図がはっきりしないけど、雰囲気から察するに、
ある勢力の中から「変なの」をちょっと捕まえて、その「変さ」を勢力全体に当てはめて
一気に全否定するデザインパターンを使いたがってます?
0833デフォルトの名無しさん
2008/10/04(土) 21:27:05まず無いよな?
ループカウンタのようなもの以外では明示的に1を足すよな?
んで、ループカウンタの大部分はRubyではブロックつきメソッドで用が足りるよな?
ループカウンタ用途以外ではRubyでは +=1 とかでよくね?
0834デフォルトの名無しさん
2008/10/04(土) 21:29:040835デフォルトの名無しさん
2008/10/04(土) 21:29:40何で前置と後置両方無いのかとか、評価順序が変わらないのかとか
ループ変数での需要が無いぶん、
わざわざ演算子として用意するだけの需要があるのかって疑問も出てくるだろうし
(たぶん使う人は使うんだろうけどさ)
0836デフォルトの名無しさん
2008/10/04(土) 21:35:14おそらくeach_with_indexも知らないレベル。
なぜ他の言語の文法を、代替手段があり、なおかつなぜ入れないかの
説明もしてるのに、採り入れろと騒ぐのかわからん。
0837デフォルトの名無しさん
2008/10/04(土) 21:37:19そういうことは言わない方がいいのでは?
0838デフォルトの名無しさん
2008/10/04(土) 21:43:44> 本質的な問題としてさ、C とかの ++ のある言語でさ、ループカウンタ以外で ++ を使うことってある?
for文の中で if (要素を見て判定) ++found; みたいなことをする時、found += 1; と書いてる奴は少ないと思う。
0839デフォルトの名無しさん
2008/10/04(土) 21:50:170840デフォルトの名無しさん
2008/10/04(土) 21:51:030841デフォルトの名無しさん
2008/10/04(土) 22:19:00普段このスレが、どれくらい話題に飢えているのかが分かるな
0842デフォルトの名無しさん
2008/10/04(土) 22:49:44配列など.select{|v|条件式}.size
0843デフォルトの名無しさん
2008/10/04(土) 22:50:04一見誰でも参加できるしねw
0844デフォルトの名無しさん
2008/10/04(土) 22:51:530845デフォルトの名無しさん
2008/10/04(土) 22:54:05いやRubyの話じゃなくて、
「C とかの ++ のある言語」で「ループカウンタ以外で ++ を使う」例を書いたんだ。
0846デフォルトの名無しさん
2008/10/04(土) 22:57:54どんなエディタor開発環境を使うかの話をですね(以下loop do〜end
0847デフォルトの名無しさん
2008/10/04(土) 23:02:21GNU Emacsにruby-modeが結局入らなくなってしまったのがとても悲しい
英語でドキュメント書く人いないの?関数や変数の説明がないと取り込まれないしなー
0848デフォルトの名無しさん
2008/10/05(日) 00:06:300849デフォルトの名無しさん
2008/10/05(日) 00:25:49DBやIOストリームから1行ごと読み込んで、別の処理もしつつカウントもしたい場合は?
0850デフォルトの名無しさん
2008/10/05(日) 00:33:19つまり
require 'rubygems'
ということを C で行なう方法です。
あとクラスを参照するには
VALUE klass = rb_const_get(rb_str_new2("ClassName"));
でいいでしょうか。
0851デフォルトの名無しさん
2008/10/05(日) 00:35:50どのバージョンだと入らないの?
ちなみに俺は GNU Emacs 22.1.1 使ってるけど ruby-mode あるよ
0852デフォルトの名無しさん
2008/10/05(日) 04:01:13DB関連は疎いから割愛しておくけど
現在の行ならIO#linenoで判るし
IOもEnumerableをincludeしてるから、selectも同じく使えるが。
ちなみにブロック内には別の処理だって挟めるから「別の処理もしつつ」はあまり問題にならんかと。
まあ、全く内容を保持する必要がなく、カウント/集計のみ取りたいというのであれば
素直に+=1するけど。
…むしろ別の言語の癖でcnt=cnt+1とわざわざ書いてしまうこともあるけれどw
0853デフォルトの名無しさん
2008/10/05(日) 08:39:44根拠をkwsk
0854デフォルトの名無しさん
2008/10/05(日) 09:21:430855デフォルトの名無しさん
2008/10/05(日) 10:56:27集計なんかは、単一の対象だけを数え上げることは稀だから、selectじゃ難しいんじゃね?
それにデータが大量にある場合、selectだと条件に一致した元のデータがメモリ上に積まれてしまうのも難点だわな
0856デフォルトの名無しさん
2008/10/05(日) 10:59:560857デフォルトの名無しさん
2008/10/05(日) 11:03:570858デフォルトの名無しさん
2008/10/05(日) 13:24:18>拡張モジュールで、あるライブラリを読み込むにはどうしたらいいですか。
rb_require("hoge");
>あとクラスを参照するには
任意のクラスであればそのとおり。
組み込みクラスであれば、
rb_cObject
などの変数を利用できる。詳細は ruby.h。
0859デフォルトの名無しさん
2008/10/05(日) 14:21:48「別に積まれても良くね?」と思ってしまう俺はRuby脳
まあ、積まなくても+=1で無問題だが
0860デフォルトの名無しさん
2008/10/05(日) 14:45:160861デフォルトの名無しさん
2008/10/05(日) 16:27:15d = destination+5;
for (i = 0; i < n; i++) {
*d++ = *s++;
}
みたいなんを、添字がもっと鬱陶しい感じの式になる時に使うことはあるな。
でも ruby で ++ 使いたくなったってのはずいぶん昔のことになる。
0862デフォルトの名無しさん
2008/10/05(日) 17:26:36Cを使ってて後置++でならコンパクトに書けるとき、くらいだのう。
0863デフォルトの名無しさん
2008/10/05(日) 18:32:11それはダメな使い方では
少なくとも非常に紛らわしい
0864デフォルトの名無しさん
2008/10/05(日) 18:34:470865デフォルトの名無しさん
2008/10/05(日) 18:49:500866デフォルトの名無しさん
2008/10/05(日) 18:52:200867デフォルトの名無しさん
2008/10/05(日) 18:57:020868デフォルトの名無しさん
2008/10/05(日) 19:02:430869デフォルトの名無しさん
2008/10/05(日) 19:04:30紛らわしいって、いったい他のどんな可能性と紛れるんだ?
0870デフォルトの名無しさん
2008/10/05(日) 20:10:350871デフォルトの名無しさん
2008/10/05(日) 21:14:59> *d++ = *s++;
の場合は代入と increment の前後を考えるし、++ を
使うと副作用があるか確認が必要だと思う。
ミスしやすいから ++ を non-trivial なものと混ぜるなという
安全ルールがあったと思うんだが。
0872デフォルトの名無しさん
2008/10/05(日) 21:26:41評価された後に副作用?としてインクリメントされる、みたいな理解で
問題ないですか?
>>861の場合を妄想すると、
*d に *s を代入し、この式の次の処理までのどっかのタイミングで
両方ともインクリメントされてる、ていう風に動作するの?
0873デフォルトの名無しさん
2008/10/05(日) 22:04:14++ の戻り値は使わない方が良い
個人的なコードなら構わんが
他の人がメンテナンスする可能性があるなら地球がヤバイ
0874デフォルトの名無しさん
2008/10/05(日) 22:08:310875デフォルトの名無しさん
2008/10/05(日) 22:20:30こと文字列の操作に関しては、
イディオム的によく使われる書き方だと思うが
有名な例としてstrcpy
void strcpy(char *s1, char *s2)
{
while(*s1++ = *s2++)
;
}
0876863,871
2008/10/05(日) 22:20:32ttp://www.learncpp.com/cpp-tutorial/33-incrementdecrement-operators-and-side-effects/
> As a general rule, it is a good idea to avoid the use operators that
> cause side effects inside of compound expressions. This includes all
> assignment operators, plus the increment and decrement operators. Any
> operator that causes a side effect should be placed in it’s own
> statement.
繰り返さないが Stroustrap が書くの手伝ったルールでも (AV199)
ttp://www.research.att.com/~bs/JSF-AV-rules.pdf
>>872
基本的にそういうことになる。ついでに operator precedence も考えない
といけないから*(p++) であることを認識することも必要。
この場合は変なことしない限り平気だと思うけど、やはり >>872 のような
疑問が出るし、一瞬にしろ間違いがありえないか考えなければならないから
バラした方が良いと俺は思うし、そうしてる。考えるだけ面倒。
C使ってる時代 pointer arithmetic 振り回して、ついでに無駄(と思った)
カッコ削って「わからん奴がアホ」みたいな調子でやってた時もあったけど、
数年たって読んだら自分でも考えないと読めなくて反省した記憶がある。
>>873 「地球がヤバイ」って気に入った
0877デフォルトの名無しさん
2008/10/05(日) 22:23:050878デフォルトの名無しさん
2008/10/05(日) 22:29:29だからアホなんだよ
0879デフォルトの名無しさん
2008/10/05(日) 22:30:51実際良く見るし定石って言っても問題ないかと(良いか悪いかは別)
0880デフォルトの名無しさん
2008/10/05(日) 22:56:15少くとも>>861程度なら定石でしょ
まあこの話は置いとくとして
仮に>>861のような使い方が一般的にダメだとしたら
ますますRubyに++なんていらなそうだが
0881デフォルトの名無しさん
2008/10/05(日) 22:57:41思ってたけど、馴れるとどうでもよくなったなあ。
0882デフォルトの名無しさん
2008/10/05(日) 23:01:220883デフォルトの名無しさん
2008/10/05(日) 23:02:340884デフォルトの名無しさん
2008/10/05(日) 23:05:090885デフォルトの名無しさん
2008/10/05(日) 23:18:230886863,871
2008/10/05(日) 23:18:45安全のためのルールがあるって書いたから一応根拠出しただけだよ。
君の方が煽るだけで議論だと思ってるのかな?
言ってることが間違ってるという反論があるならどうぞ。
チームで coding するときは誤解や間違いを避けるためにそれなりのルールがある。
0887デフォルトの名無しさん
2008/10/05(日) 23:25:58君
言
チ
?
0888デフォルトの名無しさん
2008/10/05(日) 23:31:45っ C++STD2003 5.2.6.1
The value obtained by applying a postfix ++ is the value that the operand had
before applying the operator.
[Note: the value obtained is a copy of the original value ]
0889デフォルトの名無しさん
2008/10/06(月) 00:16:26++ は間違いなく使うわな
0890デフォルトの名無しさん
2008/10/06(月) 00:35:49> あとクラスを参照するには
VALUE klass = rb_path2class("ClassName");
0891デフォルトの名無しさん
2008/10/06(月) 07:09:10http://www.aera-net.jp/latest/
http://www.excite.co.jp/News/magazine/MAG18/20081006/282/
0892デフォルトの名無しさん
2008/10/06(月) 11:13:590893デフォルトの名無しさん
2008/10/06(月) 15:29:440894デフォルトの名無しさん
2008/10/06(月) 15:40:060895デフォルトの名無しさん
2008/10/06(月) 17:06:070896デフォルトの名無しさん
2008/10/06(月) 20:21:50クリスマスにリリースすることの話
0897デフォルトの名無しさん
2008/10/06(月) 20:46:570898デフォルトの名無しさん
2008/10/06(月) 20:50:520899デフォルトの名無しさん
2008/10/06(月) 22:00:250900デフォルトの名無しさん
2008/10/06(月) 22:18:09Python・PHPとかだとどうなんだろう?
0901デフォルトの名無しさん
2008/10/06(月) 22:32:000902デフォルトの名無しさん
2008/10/06(月) 22:35:37果たして1.9.1が、どれくらい使われはじめるのか
そしてどれくらい混乱を巻き起こすのか
0903デフォルトの名無しさん
2008/10/06(月) 22:50:06PHPって今も作者が影響力を持っているの?
0904デフォルトの名無しさん
2008/10/06(月) 23:04:19名前の露出が少ない気がするな。誰だっけ?
0905デフォルトの名無しさん
2008/10/06(月) 23:09:22もう蚊帳の外じゃないのかなぁ。
0906デフォルトの名無しさん
2008/10/06(月) 23:16:30ラスマス・ラードフ
0907デフォルトの名無しさん
2008/10/07(火) 00:13:300908デフォルトの名無しさん
2008/10/08(水) 02:08:34リナザヴ向けと、WM6向けのGUIをそれぞれ分けて作ると手間なので出来るだけ共通化して書きたいのですが…
0909デフォルトの名無しさん
2008/10/08(水) 08:10:080910デフォルトの名無しさん
2008/10/08(水) 08:45:37html
0911デフォルトの名無しさん
2008/10/08(水) 13:03:14WideStudioがいいとおもう
0912デフォルトの名無しさん
2008/10/09(木) 08:14:430913デフォルトの名無しさん
2008/10/09(木) 13:57:14前にIO言語をいじっていた時に、++がなかなか実装できなくてないたぞ
Io Language
http://pc11.2ch.net/test/read.cgi/tech/1201100624/19-36
Rubyで++実装しにくい理由がよくわかったよ。
まあ、やるならソースいじったほうが早かったけど。
0914デフォルトの名無しさん
2008/10/09(木) 21:16:240915デフォルトの名無しさん
2008/10/10(金) 03:39:02もし ++ があるのに += 1 とか書いてたら格好悪いもんな。
一般に ++ のある言語は、プリミティブな数値を破壊的にインクリメントしているわけだけど、
数値すらも(実装上はともかく概念的には)オブジェクトである Ruby では、++ は素直に実装しづらい。
でもだからこそ、Ruby である程度一貫性を保ちながら実装できたら、成果として大きいとは思う。
0916デフォルトの名無しさん
2008/10/10(金) 05:39:16100.timesとかFixnumがメソッドをもちえる言語なんてビックラですよ
0917デフォルトの名無しさん
2008/10/10(金) 08:19:15俺はあっても使わない
0918デフォルトの名無しさん
2008/10/10(金) 09:11:580919デフォルトの名無しさん
2008/10/10(金) 09:23:44そういうのがRubyにいくつあるか自体は別にいいんだが、
++の代替可能っぷりと実装困難性からして
「特別扱いにしてでも導入する価値」は低いとは言わざるを得ない
導入希望側の主張はそのへんの現在位置を踏まえた上でやって欲しいと思う
あって当然&代替不能&実装簡易と思ってるのは君たちだけだ
0920デフォルトの名無しさん
2008/10/10(金) 09:27:34ビックラしたというのは否定はしないわ
というか、upto とかはいいんだが、times が整数の持つメソッドだってなんかイメージと違わね?
0921デフォルトの名無しさん
2008/10/10(金) 09:33:44100 timesという順序で並ぶと、英語的に綺麗になるから
でも確かに、timesを予約語にして
loop 100 times do
とかやった方が良かったんじゃないかなーとは思う
0922デフォルトの名無しさん
2008/10/10(金) 11:16:02>特別扱いの代物になることだけは絶対に確かだな
>
>そういうのがRubyにいくつあるか自体は別にいいんだが、
>++の代替可能っぷりと実装困難性からして
>「特別扱いにしてでも導入する価値」は低いとは言わざるを得ない
これが現時点での結論だよな
0923デフォルトの名無しさん
2008/10/10(金) 12:06:110924デフォルトの名無しさん
2008/10/10(金) 13:15:17だよねwこんなところで言うならMLになげりゃいいのにw
0925デフォルトの名無しさん
2008/10/10(金) 13:57:090926デフォルトの名無しさん
2008/10/10(金) 14:40:51>だよねwこんなところで言うならMLになげりゃいいのにw
べつにそこまでするようなことでもない
0927デフォルトの名無しさん
2008/10/10(金) 15:11:05まんどくせ、意味わかんね。で終了
0928デフォルトの名無しさん
2008/10/10(金) 15:17:30君が否定派をキチガイとして見たくてたまらない肯定派だからじゃない?
自覚の有無にかかわらず。
0929デフォルトの名無しさん
2008/10/10(金) 17:34:42ウェブシステム開発・モバイルサイト開発のPHPプログラマ[兼務]
https://www.find-job.net/fj/showjob.cgi?id=60511&from=23
Ruby on Rails,PHP,WEBサービスエンジニア募集中!
https://www.find-job.net/fj/showjob.cgi?id=70178&from=23
0930デフォルトの名無しさん
2008/10/10(金) 20:32:32こいつはどう思う?
ttp://blog.livedoor.jp/gushwell/archives/51504534.html
まあ、後追い感はあるけど。
0931デフォルトの名無しさん
2008/10/10(金) 21:43:43Smalltalkだとif文やwhile文あたりも論理型オブジェクトへの
メッセージ送信だったりしてビックラできる。
(a > 10) ifTrue: [ Transcript show: 'a is greater than 10.' ].
みたいなー。
0932デフォルトの名無しさん
2008/10/10(金) 21:46:50別に俺は ++ あれば使う派だけど、無くても別にいいや。
ただ、++ あるべきだという理由はどんなのあるの?
ちょっと便利程度しか思いつかんのだが。
0933デフォルトの名無しさん
2008/10/10(金) 22:09:56断然追加すべき!
そう思わない人間はキチガイ!
0934デフォルトの名無しさん
2008/10/10(金) 22:13:000935デフォルトの名無しさん
2008/10/10(金) 22:16:02b = a += 1
がわかりにくいような気はする
a = 0
b = a++
だとわかりやすい
まあ
a = 0
b = a = a + 1
でいいんだけどさ
0936デフォルトの名無しさん
2008/10/10(金) 22:23:20a++ならホワイトスペース入れなくていいので、2文字ですむ。
0937デフォルトの名無しさん
2008/10/10(金) 22:25:07そのレベルの話なら別に
a = 0
b = a
a += 1
でいいじゃん。わかりやすいよ。
0938デフォルトの名無しさん
2008/10/10(金) 22:27:40その例はむしろ不味い
下手にCの後置インクリメント演算子を連想すると
bは0になってしまう
0939デフォルトの名無しさん
2008/10/10(金) 22:50:38偏見だが、++ 推進派の人にとっては2行目が常用不能だと思う
0940デフォルトの名無しさん
2008/10/10(金) 23:05:492番目は一番解りにくい例じゃん…
C系の++演算子(前置/後置)の戻り値使ったことある?
0941デフォルトの名無しさん
2008/10/10(金) 23:18:19a = 0
b = ++a
puts b # =0 あれっ?
なんちゃって
単項演算子 の + - って面白いな
puts +-+-+-+-+a
とか通るのが
いっそ、selfのすり替えが出来るリフレクションを追加して
単項の ++ 演算子も新設して破壊的にすり替えるとか
0942デフォルトの名無しさん
2008/10/11(土) 01:49:56他の言語でどういう動作になってるかは知ったこっちゃねえと思うが
0943デフォルトの名無しさん
2008/10/11(土) 02:02:01「self のオブジェクトを切り替えるメソッドだが、返り値は切り替え前の self」とかありえねー
0944デフォルトの名無しさん
2008/10/11(土) 02:08:40>
>という案ですね.まあ,採用するならそれしかないかな,とは思っ
>ているんですけど,
Matzだってこういってるのに何言ってんだか
0945デフォルトの名無しさん
2008/10/11(土) 02:33:44ary[i++] = ....
みたいなのも想定されるだろうから、後置だったらインクリメント前の値を返さないと文句が殺到しそう
0946デフォルトの名無しさん
2008/10/11(土) 02:45:20そうやってどんどん要求が膨れあがるんだろう…
そもそもRubyはC言語じゃないし
0947デフォルトの名無しさん
2008/10/11(土) 02:49:54実は += があるから ++ を入れろなんて変な要求が出てくるんじゃね?
自己代入があるんだから ++ も入れられるだろ、って感じで
ならいっそ += も削除しちゃえば良いんじゃね
既存コードはオプション付ければ動くってことで
ちょっとコードが長くなるだけで、意外と困らない気がするんだが、どうよ?
0948デフォルトの名無しさん
2008/10/11(土) 02:53:350949デフォルトの名無しさん
2008/10/11(土) 02:56:58ちょっと前と同じことを繰り返してるように思えるんだが
0950デフォルトの名無しさん
2008/10/11(土) 02:57:32a+=1はrepeatしてないので++は無くてもいいが
0951デフォルトの名無しさん
2008/10/11(土) 03:00:150952デフォルトの名無しさん
2008/10/11(土) 03:03:490953sage
2008/10/11(土) 03:32:000954デフォルトの名無しさん
2008/10/11(土) 03:45:48つーか実装するのは簡単なんだからやりゃいいのに
a = b++ は a = b; b = b.succ に、 a = ++b は b = b.succ; a = b になるようにすればいいだけじゃん
b = b + 1 と書きたい人の自由を制限するわけでもないし
0955デフォルトの名無しさん
2008/10/11(土) 06:18:26a=2++ +3はいくつ?
0956デフォルトの名無しさん
2008/10/11(土) 06:37:372+=1が無理なのと同様
0957デフォルトの名無しさん
2008/10/11(土) 06:41:52実際、++を導入した時点で、>>945みたいなことをやる人間が出るのは想像に難くない
>>954
左の例おかしくないか
b = 2
a = b++
p(a, b) #=> 2, 3
0958デフォルトの名無しさん
2008/10/11(土) 06:43:36じゃあ
x = 2
a = x+++3
でもいいや
これは現行の Ruby では 5 だ
++ が導入されたら 6 になるのか?
a = x++3
これはパースエラー?それとも 5 ?
0959957
2008/10/11(土) 06:45:160960デフォルトの名無しさん
2008/10/11(土) 06:47:48というか、
eval [1, 2, nil, nil, 3].join('+')
の返り値が 7 になるのは勘弁して欲しいわけで…
0961デフォルトの名無しさん
2008/10/11(土) 06:55:15それこそ書くべきじゃないコードじゃないの
もう否定する為の材料の探し方が末期的になってきたなw
0962デフォルトの名無しさん
2008/10/11(土) 07:03:01違う
++ の導入には Ruby パーサの動作を変える必要がある
そのとき、現行で許されている書き方をどうするかという問題は避けて通れない
0963デフォルトの名無しさん
2008/10/11(土) 07:03:30ちょっと使いたい部分のソース見せてよ
出来れば2,30行くらいのメソッドでたのむ
>>960
うちでは6になったけど?バージョンは1.8.6
0964デフォルトの名無しさん
2008/10/11(土) 07:06:05>a = x++3
まあもし実装されるとしたらパースエラーだろう
字句解析は最長一致が原則だから、
x、++、3に分解される。意味が通らんね
0965デフォルトの名無しさん
2008/10/11(土) 07:12:24うん、1+2+++3 だから 6 だな
++ 構造が導入された場合は 1 + 2++ + 3 で 7 になる予定
0966デフォルトの名無しさん
2008/10/11(土) 07:21:34こんなの無理やりわざと書かなきゃ出てこないだろ
0967デフォルトの名無しさん
2008/10/11(土) 07:31:14ああなるほど「導入されたら」の話なのね
つまり++を導入するなら+++とか/*とか考えうる
全ての演算子を導入すれば一件落着ということか
0968デフォルトの名無しさん
2008/10/11(土) 07:32:27配列回して足すより文字列連結でevalのほうが速い時とかどうだろう(あるのかどうかは知らない)
Rubyのパースで今までエラーにしてないものをエラーにしてまで追加する価値のあるものにも思えないが…
0969デフォルトの名無しさん
2008/10/11(土) 07:46:08<+ とか <- とか新しい書き方で導入するのはどうだろう
0970デフォルトの名無しさん
2008/10/11(土) 07:46:25前にも出てきたけど複雑な集計とか、あとは順番にiterateするのでなくカーソル的な挙動が必要な場合とか
0971デフォルトの名無しさん
2008/10/11(土) 07:48:56だから self 切り替えの特殊な succ! でいいじゃんよ
本質的なインクリメントは実装できてるだろ
++ という2文字が使いたいという病気の人は無視でいい
0972デフォルトの名無しさん
2008/10/11(土) 07:55:51明示的に整数を足してるのがよくないのか?
0973デフォルトの名無しさん
2008/10/11(土) 07:59:340974デフォルトの名無しさん
2008/10/11(土) 08:02:250975デフォルトの名無しさん
2008/10/11(土) 09:31:14いったいこの世に整数が何種類あると思っているんだ。
0976デフォルトの名無しさん
2008/10/11(土) 09:33:030977デフォルトの名無しさん
2008/10/11(土) 09:35:55賢い人間は全員肯定してる。
二つの勢力に知的レベルの差がありすぎて、会話が成立していない。
問題は、肝心の教祖様がキチガイのほうに属してることか。
0978デフォルトの名無しさん
2008/10/11(土) 09:38:59俺は ++ 使い慣れてるからあれば使うけど、結局なぜ必要なの?
>>973 が理由?
0979デフォルトの名無しさん
2008/10/11(土) 10:11:44普通に書けるよ
返り値が整数かどうかだけだもの
irb> a = Array.new
irb> i = 0
irb> a[i+=1] = 1
irb> p a
[nil, 1]
0980デフォルトの名無しさん
2008/10/11(土) 10:16:32それは [1] にならないといけない
i++ は i をインクリメントするが、返り値はインクリメント前の整数だ
i をインクリメントしてなおかつ返り値がインクリメント後の整数なのは ++i
0981デフォルトの名無しさん
2008/10/11(土) 10:27:420982デフォルトの名無しさん
2008/10/11(土) 10:31:36インクリメント演算子(またはメソッド)と ++ は違うということが理解されただけだろう
インクリメントを実装するのはめんどくさいが、 それに加えて ++ の動作をエミュレートするのはバカみたいに面倒だ
0983デフォルトの名無しさん
2008/10/11(土) 10:38:270984デフォルトの名無しさん
2008/10/11(土) 11:33:22マシン語のポストインクリメントアドレッシング(680x0とかにあるやつ)に
楽に変換できるからじゃないかと思うんだが。
そんな時代の産物をむりやりRubyに導入しなくても。
0985デフォルトの名無しさん
2008/10/11(土) 12:41:44++なんて.NETなC#にもシェルスクリプトのPowerShellにもあるよw
0986デフォルトの名無しさん
2008/10/11(土) 12:56:520987984
2008/10/11(土) 13:04:02レジスタのインクリメント/デクリメント専用の命令があって、それらは実行が速かったり
命令サイズが小さかったりした。
んで、C言語はもともと実行効率優先の言語なのでそれらの命令を使いたいけど、
初期のコンパイラは最適化が弱かったので、人間がソースコードに明示してやる
必要があったと。それが++や--といった演算子が用意された所以だと思う。
つまりC言語が「高級アセンブラ」だった名残じゃないかと。
C#なんかはCからの派生言語だから、++を残すのはまだ分かるけど、Rubyは
別にC系というわけじゃないんだから、無理に導入する必然性はないと思う。
0988デフォルトの名無しさん
2008/10/11(土) 13:53:31だけど C にも C++ にも C# にも Java にもある ++ は前置と後置で意味が違うんだ。
シンタックスシュガーでもそこをちゃんとエミュレートしないと別の文句が湧くだけだぞ。
0989デフォルトの名無しさん
2008/10/11(土) 13:55:52++を最初に導入したきっかけはそうかもしれないが、今日まで使われている理由がそれだけなはずないじゃん
0990デフォルトの名無しさん
2008/10/11(土) 13:56:180991987
2008/10/11(土) 14:12:18うん、記述に便利という面もあるから、問題がないなら導入してもいいと思う。
でも、このスレの惨状を見る限り、Rubyの言語仕様と++演算子とをうまく
すり合わせるのは一筋縄ではいかないみたいだから、それなら無理すること
ないでしょ、と。
RubyとCじゃ変数の概念からして違うわけだし、困難なのは当然じゃないかと…。
0992デフォルトの名無しさん
2008/10/11(土) 14:18:24おとなしく降参しなさい。
0993デフォルトの名無しさん
2008/10/11(土) 14:39:02オブジェクトの改変ではなく変数の再代入なら、辻褄の合うように導入するのは、ちょっとパーサの挙動いじるだけだと思うけど。
前置と後置で返り値をわけるのも難しい話ではない
0994デフォルトの名無しさん
2008/10/11(土) 14:58:07前置か後置かによって、呼び出され方が異なる。
0995デフォルトの名無しさん
2008/10/11(土) 15:36:01Pythonにはありません。
0996デフォルトの名無しさん
2008/10/11(土) 15:53:49++ を導入するのは難しいが、肯定派の気持ちも汲んで、
Ruby 1.9 の別名は 「Ruby++」 にする。
これでどうだ!
0997デフォルトの名無しさん
2008/10/11(土) 15:59:140998デフォルトの名無しさん
2008/10/11(土) 15:59:480999デフォルトの名無しさん
2008/10/11(土) 16:03:461000デフォルトの名無しさん
2008/10/11(土) 16:12:02Rubyについて Part 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/
1000で次スレってどうよ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。