Rubyについて Part47
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/01/16(月) 13:15:31.00質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
前スレ
Ruby 初心者スレッド Part 46
http://hibari.2ch.net/test/read.cgi/tech/1317790320/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0404デフォルトの名無しさん
2012/06/01(金) 10:00:28.940405デフォルトの名無しさん
2012/06/01(金) 10:06:33.96みんながみんな、ちょろっと触ってみただけで「まあ有名になったらまたやってみよう」って放置するから、どれも伸びないんだよね
中途半端にJavaScriptの有名度に「依存」してるから、誰もその言語で何も作らず、結果としてまったく普及しない
開発元が死ぬ気で普及させないとダメ
0406デフォルトの名無しさん
2012/06/01(金) 10:12:59.610407デフォルトの名無しさん
2012/06/01(金) 10:18:04.940408デフォルトの名無しさん
2012/06/01(金) 10:22:26.64他の凡百の言語とは安心感が違うよな。
0409デフォルトの名無しさん
2012/06/01(金) 10:54:34.79Javaは買収でしょ。Obj-Cは別にApple製じゃないし。HyperCardのことか?
C#の安心感は認める。
0410デフォルトの名無しさん
2012/06/01(金) 11:17:55.440411デフォルトの名無しさん
2012/06/01(金) 11:40:55.870412デフォルトの名無しさん
2012/06/01(金) 11:53:34.30なにかひとつ仲間はずれがいるんだが
0413デフォルトの名無しさん
2012/06/01(金) 12:06:15.94触ってみた感じJSXはそうおかしなもんでもなかったよ。CoffeScriptなんかより全然馴染める。
0414デフォルトの名無しさん
2012/06/01(金) 12:26:57.080415デフォルトの名無しさん
2012/06/01(金) 12:31:13.41Goもどうなってるんだろう
0416デフォルトの名無しさん
2012/06/01(金) 12:40:50.41ところでGoはこないだ1.0になってた。
0417デフォルトの名無しさん
2012/06/01(金) 12:43:40.94新言語が登場してから流行るまで10年ぐらいはかかるから
気長に見ないと仕方ないと思う
0418デフォルトの名無しさん
2012/06/01(金) 12:48:31.120419デフォルトの名無しさん
2012/06/01(金) 13:43:42.930420デフォルトの名無しさん
2012/06/01(金) 14:19:09.690421デフォルトの名無しさん
2012/06/01(金) 14:59:46.78↑パズル言語だよね。
仕事中にパズルで遊ぶなと言いたい。
0422デフォルトの名無しさん
2012/06/01(金) 16:12:11.77整合性のないゴミを作り上げる仕事こそが、真の仕事ということなのかな?
0423デフォルトの名無しさん
2012/06/01(金) 16:14:49.510424デフォルトの名無しさん
2012/06/01(金) 16:18:27.70合理性や効率やコストを追求すればする程、資本力がある
ところがさらに強くなり、労働者の仕事がなくなっていく。
非効率であるがゆえに仕事がある。TPPもまたしかり。
0425デフォルトの名無しさん
2012/06/01(金) 17:09:46.620426デフォルトの名無しさん
2012/06/01(金) 20:26:49.760427デフォルトの名無しさん
2012/06/01(金) 21:36:29.760428デフォルトの名無しさん
2012/06/02(土) 00:19:47.85initで良かったのでやないか
0429デフォルトの名無しさん
2012/06/02(土) 00:50:54.47何かしらメタメタな都合かね?
0430デフォルトの名無しさん
2012/06/02(土) 01:57:31.25生成自体はClass#newの内部で、Class#allocateが行う。
そこに情報を埋め込んでいくのがObject#initialize という役割分担。
0431デフォルトの名無しさん
2012/06/02(土) 03:11:56.30ユーザー側としてはinitやnewという名前のインスタンスメソッドを「作れなく」なるけどそれでもいっすか
…まあ、現時点でもそんな名前のメソッド見ないけど…
0432デフォルトの名無しさん
2012/06/02(土) 03:15:37.18これまでにいったいどれだけの電力を無駄にしてきたことか!
0433デフォルトの名無しさん
2012/06/02(土) 03:22:02.89class Object; def initialize(*p); self.i(*p) end end
0434デフォルトの名無しさん
2012/06/02(土) 08:41:46.06Objectとかに関数定義しちゃうのってたとえ使い捨てでも躊躇してしまう。
0435デフォルトの名無しさん
2012/06/02(土) 08:59:16.79Procオブジェクトをどうぞ
0436デフォルトの名無しさん
2012/06/02(土) 10:29:43.99_init_とか書いておいて
それをinitializeに置換するスクリプトでも書いたら
0437デフォルトの名無しさん
2012/06/02(土) 10:33:56.26#ifdefも使えて生産効率上がりまくるな
0438デフォルトの名無しさん
2012/06/02(土) 10:42:03.74と思って久しぶりにperlrun(1)を見てみたが、今はないのね。
0439デフォルトの名無しさん
2012/06/02(土) 10:57:49.880440デフォルトの名無しさん
2012/06/02(土) 11:01:04.020441デフォルトの名無しさん
2012/06/02(土) 11:56:51.89;#
とか書いてた。#が1桁目になければプリプロセッサ指令にはならないので。
0442デフォルトの名無しさん
2012/06/02(土) 12:39:50.320443デフォルトの名無しさん
2012/06/02(土) 13:06:00.50$ /usr/bin/cpp <<EOF
# define foo 1
#define bar 2
;#define baz 3
foo; bar; baz;
EOF
は
#define bar 2
;#define baz 3
1; bar; baz;
になった(展開されたのはfooだけ)
同じものを gcc -E (実体はllvm)に食わせたら bar も 2 に置換された。
0444デフォルトの名無しさん
2012/06/02(土) 13:15:11.310445デフォルトの名無しさん
2012/06/02(土) 13:45:05.24ネオコンとか楽だぞ。
0446デフォルトの名無しさん
2012/06/02(土) 13:54:30.740447デフォルトの名無しさん
2012/06/02(土) 14:01:46.15「予約」されているメソッド名が initialize という誰も使わなさそうな長ったらしいのになるようにわざわざしたんだよ
new でもよかったんだが、それだと new というインスタンスメソッドが def で定義できなくなってしまう
0448デフォルトの名無しさん
2012/06/02(土) 14:03:50.000449デフォルトの名無しさん
2012/06/02(土) 14:05:02.460450デフォルトの名無しさん
2012/06/02(土) 14:06:54.270451デフォルトの名無しさん
2012/06/02(土) 14:08:13.730452デフォルトの名無しさん
2012/06/02(土) 14:12:59.490453デフォルトの名無しさん
2012/06/02(土) 14:14:08.16initializeってみんな使いまくってるじゃん
みんな使いまくってるメソッドをわざわざ長くしてある意味がわかんねぇよ
という疑問
ってかinitとかnewみたいなインスタンスメソッドを定義するなんておかしいだろw
initなんてインスタンスの状態数が増えだけだし、newって何をnewするんだよw
0454デフォルトの名無しさん
2012/06/02(土) 14:16:00.550455デフォルトの名無しさん
2012/06/02(土) 14:22:18.02長いから分けるとか初心者みたいな発想じゃないか…
0456443
2012/06/02(土) 14:23:08.550457デフォルトの名無しさん
2012/06/02(土) 14:32:03.66自転車置き場の議論乙!
って言われたらそれまでだけど2ちゃんってそういう場所なんだよね?
twitterでmatzとかに聞いてもめんどくさそうにされそうだしなw
0458デフォルトの名無しさん
2012/06/02(土) 14:50:22.450459デフォルトの名無しさん
2012/06/02(土) 14:53:21.100460デフォルトの名無しさん
2012/06/02(土) 15:54:47.600461uy
2012/06/02(土) 16:04:12.88右 親指 n
右 人差し指 i
左 人差し指 t
右 人差し指 i
左 小指 a
右 中指 l
右 人差し指 i
左 小指 z
左 中指 e
それいったら
attr_accessorもヤバイ
でも別にそんな頻繁に使うものじゃないし別に。
initialize も attr_accessorもキータイプはしやすい単語だから別にいいわ後からこの辺り変えられるほうがきつい
0462デフォルトの名無しさん
2012/06/02(土) 16:09:30.22ΩΩΩ < な、なんだってー
0463デフォルトの名無しさん
2012/06/02(土) 16:11:45.210464デフォルトの名無しさん
2012/06/02(土) 16:42:28.99rw[TAB] → attr_accessor
0465デフォルトの名無しさん
2012/06/02(土) 17:13:03.96俺のキーボードと配列違うのかな
0466デフォルトの名無しさん
2012/06/02(土) 17:14:33.82qwertyだとiは中指だよな。
0467デフォルトの名無しさん
2012/06/02(土) 17:27:26.170468デフォルトの名無しさん
2012/06/02(土) 17:27:43.61右 人差し指 n
右 中指 i
左 人差し指 t
右 中指 i
左 小指 a
右 薬指 l
左 小指 z
左 中指 e
うちだとこうだな。
nを親指で押すって器用だね。
0469デフォルトの名無しさん
2012/06/02(土) 17:32:19.31右手の角度を傾けるとそんな感じの入力になりそうだ
0470デフォルトの名無しさん
2012/06/02(土) 17:36:58.85右手薬指だって
0471デフォルトの名無しさん
2012/06/02(土) 17:52:41.85いや、>>461が右手中指ですごいって話。右手親指nとあわせて考えた場合
右手を傾けるとなるほど>>461の配置でしっくりくる。
0472デフォルトの名無しさん
2012/06/02(土) 18:01:31.12記号類のキーが遠すぎて押せる気がしない。
0473デフォルトの名無しさん
2012/06/02(土) 18:28:13.480474デフォルトの名無しさん
2012/06/02(土) 18:29:43.530475デフォルトの名無しさん
2012/06/03(日) 01:36:56.280476デフォルトの名無しさん
2012/06/03(日) 06:36:40.600477デフォルトの名無しさん
2012/06/07(木) 12:55:31.35「お前らが仕様がない仕様がない言うから必死こいて仕様策定したんであって
これ以上やりたきゃ少しくらい手と金出せっていうか出してくださいお願いします」
という主張だということでいっすか
0478デフォルトの名無しさん
2012/06/10(日) 02:48:57.27それって効率悪くないの?
keyがSymbolだけの時だけは特別扱いして、実際にはHashオブジェクトを
アロケートしないような実装になってるとか?
0479デフォルトの名無しさん
2012/06/10(日) 03:23:52.10悪いです
>keyがSymbolだけの時だけは特別扱いして
ません
Ruby2.0では真のキーワード引数ができるはずの予定の目標なのでそれまで待って
見やすさ重視で処理二の次という、なんかActiveSupportとかRailsとかあのへんで醸成されたやつなんでもう仕方ない
0480デフォルトの名無しさん
2012/06/10(日) 03:35:56.430481デフォルトの名無しさん
2012/06/10(日) 03:51:28.06なんかテクニカル過ぎるというか、ドヤ顔が見えるというか
ライブラリいっこだけで使ってれば果てしなく浮くから、仕方ないんだけど
Railsあたりのライブラリでは「見渡す限りぜんぶキーワード風引数可能」というのを提供したんでプチパラダイム
0482デフォルトの名無しさん
2012/06/10(日) 06:33:08.320483デフォルトの名無しさん
2012/06/10(日) 07:33:20.800484デフォルトの名無しさん
2012/06/10(日) 08:41:49.70待ちきれないので Python 使ってみたら案外良かった
0485デフォルトの名無しさん
2012/06/10(日) 10:20:02.230486デフォルトの名無しさん
2012/06/10(日) 12:48:34.210487デフォルトの名無しさん
2012/06/10(日) 13:00:23.02そのメソッドを1秒に何百回呼ぶかというだけの話
0488uy
2012/06/10(日) 14:00:54.79def func hs
end
n = 1000000
Benchmark.bmbm do |x|
x.report(:sym) do
n.times do
func({ :test => "aaa"}) end
end
x.report(:hutuu) do
n.times do
func "aaa" end
end
end
Rehearsal -----------------------------------------
sym 2.578000 0.078000 2.656000 ( 2.656250)
hutuu 0.656000 0.000000 0.656000 ( 0.656250)
-------------------------------- total: 3.312000sec
user system total real
sym 2.625000 0.047000 2.672000 ( 2.671875)
hutuu 0.641000 0.000000 0.641000 ( 0.640625)
おせーじゃん
ちなみに引数を
func({ :test => "aaa" , :tete => "ruru" , :ssss => "rubyyy" , :bbb => "aauuu"}) end
にしたら
sym 5.734000 0.062000 5.796000 ( 5.875000)
0489デフォルトの名無しさん
2012/06/10(日) 14:57:30.180490デフォルトの名無しさん
2012/06/10(日) 15:47:56.810491デフォルトの名無しさん
2012/06/10(日) 15:50:27.89普通はfuncの中身がHash作るオーバーヘッドの何倍もあるから些細な違いだろ馬鹿か
0492デフォルトの名無しさん
2012/06/10(日) 16:05:28.190493デフォルトの名無しさん
2012/06/10(日) 16:09:05.580494デフォルトの名無しさん
2012/06/10(日) 17:19:05.210495デフォルトの名無しさん
2012/06/10(日) 17:50:49.41まあ基本、予算イズパワーでございまするがゆえ、ある程度まではお金注ぎ込んだぶんよくなるかとは思われます
すんごい広範で高額になった場合は費用対効果がうまく回らなくなるかもしれないけど、そんな夢みたいな心配する段階じゃないな
0496デフォルトの名無しさん
2012/06/10(日) 19:02:02.55小さな関数でかつ100万回の呼び出しを1秒以内に終えたい場合だけだろ馬鹿か
大体何だよその処理
ハッシュ作るより小さい処理をそんなに呼び出して何がしたいんだよ
0497デフォルトの名無しさん
2012/06/10(日) 19:15:25.050498デフォルトの名無しさん
2012/06/10(日) 19:18:11.870499デフォルトの名無しさん
2012/06/11(月) 02:02:59.38引数はkey, value固定で。
0500デフォルトの名無しさん
2012/06/11(月) 02:25:50.310501デフォルトの名無しさん
2012/06/11(月) 02:29:51.99C#なら使えるとわかったものはすぐに実装されていく
Rubyは遅い
0502デフォルトの名無しさん
2012/06/11(月) 04:13:58.100503デフォルトの名無しさん
2012/06/11(月) 11:55:53.63> 検索 約 2,080 件 (0.19 秒)
こんなのも知らないとか
0504デフォルトの名無しさん
2012/06/11(月) 11:57:44.69正規表現じゃダメなん?
>>503
小さいカレー屋とかが頑張って作ってみたメニューとかが表示されてせつないな
■ このスレッドは過去ログ倉庫に格納されています