Rubyについて Part 36 ..
[2ch|▼Menu]
39:デフォルトの名無しさん
09/06/29 20:43:42
>>31
そうそう。逆にPHP使える奴はPerlもHaskellも楽勝だったりする。

40:デフォルトの名無しさん
09/06/29 20:49:03
誰にも構ってもらえてないのか?

41:デフォルトの名無しさん
09/06/29 20:49:13
>>39
ダウト

42:デフォルトの名無しさん
09/06/29 20:51:36
>>39
×PHP
○Python

43:デフォルトの名無しさん
09/06/29 20:52:14
Rubyに限らず他言語を一つでも知ってればlispなんて1日で読めるようになるよ。

44:デフォルトの名無しさん
09/06/29 20:53:39
>>42
それは単純にPython厨に古い人が多くてRuby厨に新しい人が多いってだけだろw
古い人は経験豊富なんだから他言語習得するも簡単

45:デフォルトの名無しさん
09/06/29 20:56:15
PythonはLispのパクリだから親和性が高いのが特徴

46:デフォルトの名無しさん
09/06/29 21:01:19
Ruby会議いくやついる?
あれって、チケット必要なのね。
とっくに売りきれてたorz.



47:デフォルトの名無しさん
09/06/29 21:02:41
RubyにもCommon Lisp成分が入ってると思うが
触ってみると、なるほどご先祖様だと感じられる
Matzが参考にしてると言うだけはある

48:デフォルトの名無しさん
09/06/29 21:05:26
>>39
それはないだろw

49:デフォルトの名無しさん
09/06/29 21:12:04
Ruby も Python も LISP も信者はおかしなのが多い。

50:デフォルトの名無しさん
09/06/29 21:13:46
隔離スレあるんだからいい加減そっち行ったら?

51:デフォルトの名無しさん
09/06/29 21:26:02
>>20
実行結果出力例が納得いかないんだが、test-arithmeticの結果、mathの結果、は別途表示されないの?

それはともかく、

deftest "test_plus" do
 check ["1+2", 3], ["1+2+3", 6]
end
deftest "test_times" do
 check ["2*2", 4]
end
deftest "test_arithmetic" do
 combine_results "test_plus", "test_times"
end
deftest "math" do
 test_arithmetic
end

に対して

pass ... (math test_arithmetic test_plus): 1+2 == 3
pass ... (math test_arithmetic test_plus): 1+2+3 == 6
pass ... (math test_arithmetic test_times): 2*2 == 4

と表示させるテストライブラリくらいはあっという間に書けた。

52:デフォルトの名無しさん
09/06/29 21:33:00
evalかな
そうだとすると、違わないんだけどなんか違うようなやっぱり違わないような
なんだこの無形の障壁は

53:デフォルトの名無しさん
09/06/29 22:04:34
evalです。
作ってみて思ったんだが、>>52の気持ちはよくわかる、というか、対象式を表示させるために文字列で渡してevalするという発想自体が捻じ曲がってる気はする。

54:デフォルトの名無しさん
09/06/29 22:26:43
構文木を直接書き下すlispはそこんとこ突き抜けてるからな。

55:デフォルトの名無しさん
09/06/29 22:30:23
1年ほど前からスピードランニングやってます。
貧乏なので生活費辛くなってPart9で中断してますが。。

率直な感想を言えば、内容は悪くないと思う。聞きやすいしバックのクラシック音楽も意外に効果的。
ただ、会話がいかにも教材のために作られたという感じの内容なのでつまらなくてすぐに飽きます。
例えば、日本人と外国人が映画に行って、お互いの文化を説明しあったりとか。
価格は高すぎると思う。ちゃんと机で教科書開いて学習する意思がある人ならNHKラジオの英語教材買った方が遥かにお得だし効果的。
1年ぐらいの間暇を見つけてはCD聴いてたわけですが、現時点で英語の映画とか観ても相変わらずほとんど聞き取れない。
効果が出るかは謎。出るにしても時間はかかるんだろうなぁ

56:デフォルトの名無しさん
09/06/29 22:31:14
↑誤爆した。すまん

57:12
09/06/29 22:31:20
>>51
まさにそんなかんじ。すげー
でも勉強不足なもんでそのdeftestの実装がどうなってるか
よくわからん。
checkは文字列を引数としてあとでevalするのか。なるほど


58:デフォルトの名無しさん
09/06/30 01:19:50
Proc#to_sあたりでコード片の文字列に戻せたならeval避けられそうなんだけどね

例えばJavaScriptだとユーザー定義の関数は
(インデント等の差違はあるけど)Function#toStringでコード片に戻せる

rubyの実装だとこういうの難しいんだろうか

>>47
Array#cdrあったような気がしてつい探したことがあるw
・・・昔あったんだっけ?

59:デフォルトの名無しさん
09/06/30 06:52:46
いいかげんウザいよ

60:デフォルトの名無しさん
09/06/30 10:25:45
お前はなんの話題なら納得するんだ

61:デフォルトの名無しさん
09/06/30 12:11:29
まぁ、Array#cdrなんて無くても ary[1..-1]で済むからなぁw

62:デフォルトの名無しさん
09/06/30 12:33:45
>>57
実装はこんな感じ。5分ほどで書いたから汚くてごめん。
class Test
 @@tests = []
 def check(*tests)
  name = caller[0...-2].reverse.map{|str| str.sub(/\A.*`(.*)'\z/){$1}}.find_all{|m| @@tests.include?(m)}.join(' ') #`
  tests.flatten.each_slice(2) do |expression, expected|
   result = eval(expression) == expected
   puts "#{result ? 'pass' : 'failed'} ... (#{name}): #{expression} == #{expected}"
  end
 end
 def combine_results(*cases)
  result = true
  cases.each do |c|
   result = false unless send c
  end
  result
 end
 def self.run
  self.new.__send__ @@tests.last
 end
end
def deftest(name, &block)
 Test.class_eval "
  define_method(name, block)
  @@tests.push(name)
 "
end
END {
 Test.run
}

63:デフォルトの名無しさん
09/06/30 13:07:24
> 5分ほどで書いたから汚くてごめん。
謝るくらいなら5時間できれいなものを書け

64:デフォルトの名無しさん
09/06/30 13:28:35
2chのレスのために5時間かけるくらいなら、5分で書いてゴメンするほうを選ぶわな。
みんながみんな、2chに張り付いているわけじゃない。63みたいに。

65:デフォルトの名無しさん
09/06/30 13:29:48
なんで1円にもならんことに5時間もかけにゃならんのだ。

66:デフォルトの名無しさん
09/06/30 13:36:37
>>64-65
だったら一々言い訳つけて女々しいレスすんな

67:デフォルトの名無しさん
09/06/30 13:42:14
こいつ前スレの>>971だろ
酷い劣等感だ

68:デフォルトの名無しさん
09/06/30 14:12:26
Ruby ユーザの脳味噌の中身は PHP みたいですね

69:デフォルトの名無しさん
09/06/30 22:19:01
>>67
そんなわけないだろ。
ちなみに前スレでやり合ってたのもおれじゃない。
監視する価値を感じなくなったからもう書き込むことはないよ。じゃあ

70:デフォルトの名無しさん
09/06/30 22:24:37
ここまで我慢してたけど監視する価値でフイタ

71:デフォルトの名無しさん
09/06/30 22:32:29
watchの機械翻訳かもな
外国のお客さんは大事にするべきかもよ

72:デフォルトの名無しさん
09/07/01 00:41:49
るびまきてるね、編集乙
だが松江Ruby会議と仙台Ruby会議は福岡開催じゃNEEEE


73:デフォルトの名無しさん
09/07/01 01:52:16
>>72
ワロタwww
広島Ruby会議も栃木で開催されてるよ!

74:デフォルトの名無しさん
09/07/01 02:19:50
Ruby会議って面白いですか?
「はじめてのRuby」を一通り読んだ程度の人間が行っても場違いでしょうか?

75:デフォルトの名無しさん
09/07/01 05:30:43
教祖に有って、誤利益の有るツボとか買いたければ参加してみるのも一興。

76:デフォルトの名無しさん
09/07/01 06:54:36
>>72-73
普段どういうコードを書いてるか目に浮かぶようだ

77:デフォルトの名無しさん
09/07/01 10:11:31
Ruby ユーザの質は PHP みたいですね

78:デフォルトの名無しさん
09/07/01 11:12:35
>>77
仲の悪い奴らを一緒に語ると、変なのが湧いてくるからやめてくれ。

79:デフォルトの名無しさん
09/07/01 14:31:17
そもそもperlの再発明だしね。

80:デフォルトの名無しさん
09/07/01 15:24:28
rubyはperlの…とは良く言われるが、一体rubyのどこがperlな訳?
perlオリジナルの機能でrubyが模倣したモノって何よ?

81:デフォルトの名無しさん
09/07/01 15:25:40
>>80
模倣じゃなくて劣化再発明
だからRubyはPerlではないし、Perlの代わりにはならない

82:デフォルトの名無しさん
09/07/01 15:40:54
やっぱり無いんだ、そもそもperlこそがパクリ言語だもんな
そーゆー意味では劣化再発明と言うのは当たってるか

83:デフォルトの名無しさん
09/07/01 16:01:39
RubyがBlack PerlをパクってZen of Rubyを隠しコマンドに入れたのは超有名

84:デフォルトの名無しさん
09/07/01 16:51:33
コマンドラインオプションとかif/unless修飾子とかredoとかだってグーグル先生が
あとperlが出典かわかんないけど、メソッドだと同じ名前のものが腐るほどあるよな

85:デフォルトの名無しさん
09/07/01 18:37:48
他の言語からも取り込みまくってるから、perlと特に似てるって感じではない
いろいろな言語のいろいろな特徴・アイデアを取り込んだのがRuby

強いて言えば、主な用途(スクリプティング、文字列処理、Web)がperlと似てるか


>>83
詳しく

86:デフォルトの名無しさん
09/07/01 22:57:04
perlっぽい使い方を想定してる所は有るね。
松本教祖謹製perlってところか。

87:デフォルトの名無しさん
09/07/01 23:38:09
perlパクってるくせに
perlからの脱却とか言ってperlの悪口ばかり言ってるのも面白いよね

88:デフォルトの名無しさん
09/07/01 23:47:24
>>87
こんなところにまでわざわざご苦労様です

89:デフォルトの名無しさん
09/07/01 23:49:07
rubyはawkのパクり。

90:デフォルトの名無しさん
09/07/01 23:54:52
とりあえず国産言語だから、という理由で覚えてみてる。
scala見たいな別の言語が出てきたら使いたいなー


91:デフォルトの名無しさん
09/07/02 00:46:08
でも国産言語だと世界でメジャーじゃないのがねえ。

主要OSが英語圏で作られてるから、利用環境が充実しない。
plやpyと比べると(ry

92:デフォルトの名無しさん
09/07/02 00:59:57
むしろ国産言語じゃ世界的に普及しまっくてる方じゃね?

93:デフォルトの名無しさん
09/07/02 01:03:09
>>87
だからperlからパクったものをあげてみろって
今んとこ出てるのはif,unless(while,until)修飾子とredoな
# 関数名とメソッド名が似通ってるのはUNIX文化から来てるからperlは関係ない

どうせperlもrubyも他の言語もロクに使ったこと無いんだろ?

94:デフォルトの名無しさん
09/07/02 01:10:03
>>92
まがりなりにも世界的に利用者のある国産言語と言われても思いつかない
KL/1ぐらい?Prologの世界では有名なのかも分からんが、
とてもメジャーとは言いがたいと思う

95:デフォルトの名無しさん
09/07/02 01:18:19
お堅い洋書を読んでいてもRubyの名前は当然のように出てくるぞ

>>93
pack/unpack, shift/unshiftなんかはPerl起源っぽくない?

96:94
09/07/02 01:20:54
あああRubyを除いての話

97:デフォルトの名無しさん
09/07/02 01:52:35
>>94
Lisp 界隈だと KCL (Kyoto Common Lisp) とか ISLISP くらいかねえ
まあ、 KCL は言語じゃなくて処理系だし、 ISLISP は ISO 標準のわりにあまり見掛けないけど

98:デフォルトの名無しさん
09/07/02 05:02:39
>>95
その手の関数はC等で良く使われる手法を、perlでは言語標準にしただけだと思う
perlの関数はunix-cやawkの関数がそのまま使われてるし、他の言語もだいたい同じ
むしろ同じ機能なのにわざわざ別の名前にされても憶えるのが面倒だし混乱の元だから
パクリと言われても同じ名前をつけてくれる方が使う側としてはありがたい

99:デフォルトの名無しさん
09/07/02 06:00:57
Rubyは国産でも日本語対応がいいわけじゃないから何のメリットもないよ

> Ruby(ルビー) †
> 日本産ではあるが日本語の取り扱いは他の言語と同レベルで、特にRubyとしてのアドバンテージはない。

100:デフォルトの名無しさん
09/07/02 06:32:18
標準で日本語の文字コード変換機能を備えてる訳でもないしな。

101:デフォルトの名無しさん
09/07/02 09:12:18
>>99-100
( ゚д゚)ポカーン

102:デフォルトの名無しさん
09/07/02 09:23:08
>>100は皮肉だろ。たぶん

103:デフォルトの名無しさん
09/07/02 10:45:01
>>93
コマンドラインオプションは既に出てるでしょ。
あと、特殊変数の類はほぼ全部perl由来だね。
それに絡んで、Kernelの一部のメソッド類が$_を特別扱いするのもperl由来。

104:デフォルトの名無しさん
09/07/02 12:05:42
> 日本産ではあるが日本語の取り扱いは他の言語と同レベルで、特にRubyとしてのアドバンテージはない。

どこからの引用だそれ?

1.8 までの文字列は 8 ビットスルーで、どんな文字コードでもトラブらないように
作られてるし、1.9 の i18n は、文字コードフェチの夢実装屋の悪夢の CSI が
実現されてるしで、日本語対応は他のスクリプト言語と比べて特徴的な所
なんだが。

検索したら、プログラミングスレまとめ in VIP、かよ。
訂正してやる気も失せる VIP クオリティだな。

105:デフォルトの名無しさん
09/07/02 12:12:31
パクっただのなんだのなんてネタは前世紀で終わらせとけよw

106:デフォルトの名無しさん
09/07/02 12:59:23
なぜこんなに多くの人が日本語の扱いに困っているんだろう。
それを考えてみることも必要。

107:デフォルトの名無しさん
09/07/02 13:01:13
> 多くの人が日本語の扱いに困っている

困ってるのか?

108:デフォルトの名無しさん
09/07/02 13:12:38
>>106
バカだからだろw

109:デフォルトの名無しさん
09/07/02 13:23:37
Ruby ユーザの日本語の認識は PHP の mb_* 並ですね

110:デフォルトの名無しさん
09/07/02 13:41:08
辞書順ソートが標準でできないとダメとか言いたいのか?

111:デフォルトの名無しさん
09/07/02 17:51:07
>>87
スリップストリームに使う車体は
追い抜くためにありますので。

112:デフォルトの名無しさん
09/07/02 23:21:01
>>104
> 日本語対応は他のスクリプト言語と比べて特徴的な所
日本語対応…?
対応…?

113:デフォルトの名無しさん
09/07/03 01:06:20
JISで統一すれば良かったのに、EUCとかSJISを使い続けるのを許してた。
結局、UTFなんて新しいコードがもう一つ増えたしなあ。
欧米だと、utfとascii/iso8859がちゃんとマップしている。

114:デフォルトの名無しさん
09/07/03 01:10:23
今さら去年のRubyConfでのmatzの基調講演を見たが、
ことさらloveだとか強調されるとキモい

115:デフォルトの名無しさん
09/07/03 01:49:57
Ruby愛を語った講演というと、むしろRuby会議2007のDave Thomasを連想する
生で見たことはないが、ニコニコ動画に転がってたと思う
ユーモアたっぷりにRubyを語ってるのは面白かったw

116:デフォルトの名無しさん
09/07/03 02:00:56
C(++)系のプログラマに pack/unpack を直感的に理解してもらう
うまい説明の仕方ってあるだろうか?


117:デフォルトの名無しさん
09/07/03 02:17:19
>116
ソースコードを読ませる。

118:デフォルトの名無しさん
09/07/03 02:35:41
>>116
Cで構造体なんかをfread/writeするコードと
Rubyでpack/unpackするコードを並べて見せればいいじゃまいか

119:デフォルトの名無しさん
09/07/03 04:04:30
char* <=> struct* のキャストにbase64等の便利機能を加えた物、とか

120:デフォルトの名無しさん
09/07/03 08:49:39
それCで書けるなら、Cのほうがいいって結論に成る。
おまいらだと、rubyで書ける事をわざわざCで書かないだろ。

121:デフォルトの名無しさん
09/07/03 08:51:15
むしろC/C++プログラマの方が理解しやすいだろ
ネイティブのintとかエンディアンがどうこうとか日常だし

122:デフォルトの名無しさん
09/07/03 09:51:45
この論点のずれ具合が巨大掲示板の醍醐味。

123:デフォルトの名無しさん
09/07/03 10:42:33
pack/unpackなんて実質的にCプログラマのための機能だろう。
直感的にもなにも、C構造体そのものやん。

124:デフォルトの名無しさん
09/07/03 12:23:48
すいません。どなたか、初心者スレたててください(´・ω・`)
おながいします

125:デフォルトの名無しさん
09/07/03 12:32:03
>>123
あれはRubyらしく操作するということをハナから放棄したシロモノだよね

新しく再構成したRuby専用インタフェースを覚えなおすのとかめんどくさいから流用というのもあるんだろうけど

126:デフォルトの名無しさん
09/07/03 12:41:00
初心者スレって意味あるのか?

127:デフォルトの名無しさん
09/07/03 12:44:48
そりゃ初心者は一定数いるだろうし、
初心者が卒業する一方で新しい初心者も出てくるだろうし
大抵の言語スレで初心者スレがあるのを見ても、あったほうがいいんでない

128:デフォルトの名無しさん
09/07/03 12:54:14
スレ立てトライしてみる

129:デフォルトの名無しさん
09/07/03 12:58:46
Ruby 初心者スレッド Part 29
スレリンク(tech板)

130:デフォルトの名無しさん
09/07/03 13:01:50


131:デフォルトの名無しさん
09/07/03 14:28:28
>>113
EUC-JPもShift_JISもJISベースですがなにか


132:デフォルトの名無しさん
09/07/03 15:08:43
だから何なのかサッパリわからんレスの最後に、なにか、とか書かれてもな。

133:デフォルトの名無しさん
09/07/04 12:13:23
Shift_JIS と名乗って CP932 の文字使ってる Web ページは爆発しろ
あと ~ と 〜 でどうにかなるページももれなく爆発しろ

134:デフォルトの名無しさん
09/07/04 14:33:05
どか〜ん

135:デフォルトの名無しさん
09/07/04 14:46:00
ラテン文字入ってるのに us-ascii と名乗ってるページがあるのと同じようなもんかな、と思うことにしてる

136:デフォルトの名無しさん
09/07/04 17:59:45
何も言わないと、iso8859が仕様ですがなにか?

137:デフォルトの名無しさん
09/07/04 18:10:17
ラテン文字てーと
ABCDEFHIKLMNOPQRSTVWXZ
こうですか。Gもか。



138:デフォルトの名無しさん
09/07/04 18:16:28
>>136
US-ASCIIって名乗ってるって言ってるじゃん

139:デフォルトの名無しさん
09/07/07 09:34:04
しつもんー
Ruby は外部 iconv のバージョンとか構成とか関知してないよね
WINDOWS-31J が使えない Iconv モジュールとか存在しうるよね
でも SHIFT_JIS は期待していいよね

140:デフォルトの名無しさん
09/07/07 09:45:11
URLリンク(www.gnu.org)
> Japanese
>   EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1

この6つは存在するものとして扱っていいと思う

これ以外はシステムに存在しなかったときのエラー処理が要るな
エラー処理ったって何すればいいのかさっぱりわからんが(w
自前で変換表持って置換でもすればいいのか?

141:デフォルトの名無しさん
09/07/07 20:46:44
ISO-2022-JP系で使ってるようなエンコーディングを
外部とのデータ交換用ではなく内部で使おうとするのは
かなり技術的なセンスが欠落してるよな

まだ昔のX-Multiがやってたような
独自の固定長のコード体系の方がマシというか

142:デフォルトの名無しさん
09/07/07 20:48:51
メール前提だと文字化けしない事が重要なので、一切変換せず扱えるのも大きい。
バイト文字列として扱えば良いけどね。

143:デフォルトの名無しさん
09/07/08 00:03:58
これからの時代は文字コードはUnicode系しか認めん。
みんながテキストファイルをUTF-8にしておけば文字コード関係のトラブルは格段に減るのに。

144:デフォルトの名無しさん
09/07/08 00:19:07
メール程度の日本語を使いたいだけならUTF-8一択で問題が極小になるという
現代の真実が主流になるのは一体いつのことだろう。
Outlookか?Thunderbirdか?鶴亀か?Beckyか?正直何が悪いんだ?

145:デフォルトの名無しさん
09/07/08 08:33:31
フォントとグリフと文字集合とエンコーディングを分けて話さないと
CSIの怖い人がきそうだな


146:デフォルトの名無しさん
09/07/08 09:09:34
文字集合とエンコーディングとcharsetを区別して
(定義を暗誦するとかではなく)日常的に使える人は日本で一握りだろうな

147:デフォルトの名無しさん
09/07/08 10:42:18
言語と用字(スクリプト)の区別とかもだねー。



148:デフォルトの名無しさん
09/07/08 23:31:08
オブジェクト指向だと、メソッドの長さは15行程度ってえらそうな人が書いてたですが
そんなものなの?…

149:デフォルトの名無しさん
09/07/08 23:41:37
>>148
そうとは限らないが、たいてい短い方が好ましいのは確か

とはいえ、重要なのは「処理内容がきちんとメソッドに分割されているかどうか」だから
長さそのものが問題になるわけではない

150:デフォルトの名無しさん
09/07/09 00:10:03
なるほど…しっかり分割していけば、だいたいその程度に収まる事が多い
という感じか・・・

151:デフォルトの名無しさん
09/07/09 00:18:58
javaはクラスやメソッドが長いって馬鹿にするやつが多いけど
あれはeclipseで補完するもんなのにわかってないおん

152:デフォルトの名無しさん
09/07/09 00:32:54
補完機能つきの重量級IDEを使わないと仕事にならないということですね、分かります

153:デフォルトの名無しさん
09/07/09 00:42:23
しかしIDEでの補完を使えば、LL言語よりも生産性は上がる。
なにしろ、変数の型付けが厳格で、定義していない変数は使えないから、
単純なミスタイプなら、遅くともコンパイルする段階で防げる。
これはちょっとしたことのようでかなり大きい。

154:デフォルトの名無しさん
09/07/09 00:55:12
>LL言語よりも生産性は上がる
問題の種類による。ウォーターフォールで仕様策をガッチリきめて
作り始めるならともかく、形を考えながらプロトタイプを
チャッチャと作ってすぐ練り直す問題(今はほとんどがこれ)だと
LL言語のほうがメリットが大きい。

鶏を裁くのに牛刀を使う必要はないってこと。


155:デフォルトの名無しさん
09/07/09 01:01:34
LL言語て

156:デフォルトの名無しさん
09/07/09 01:04:36
牛刀で鶏なんて表現知らなかった・・・
あまりに上手いこと言えてて誰かの名言か何かと思えば故事だったのか

157:デフォルトの名無しさん
09/07/09 01:11:20
漏れが知ってるぐらいだから結構知られてる表現じゃないか

>>155
AST木ってのを見たことがある

158:デフォルトの名無しさん
09/07/09 01:47:56
RAS症候群はわかりやすい意思疎通を行おうとする正常な人間の証だろ

そういうことを言い出すと、
DVDディスクとか、IT技術とか、LCDディスプレイとかBB弾とか
HIVウィルスとかBS放送とかもダメになる。そんな馬鹿なことはあるまい。


159:デフォルトの名無しさん
09/07/09 02:06:11
>>158
ほう、現在のDVDが何の略かご存知とお見受けする
ぜひ御教えを請いたいものだ

160:デフォルトの名無しさん
09/07/09 02:27:42
今のDVDはDVDの3文字を擁する規格だからな
まーどうでもいいっちゃどうでもいいが
あと「LL言語」は日本語としては普通
LLとだけ書かれてもよーわからんし、読むときもLの部分だけ訳して考えてなどおるまいて

プログラムとしてではなくプログラミング最中の静的言語のメリットは完全な補完ができることだろ
Rubyの補完なんて文脈なしで文字列としてしかできんからへぼいことこのうえない
まあそれでもけっこうなんとかなるこたなるんだが、Javaのようなものとは比べるべくもない

161:デフォルトの名無しさん
09/07/09 03:18:01
「軽量言語」でええじゃろ

162:デフォルトの名無しさん
09/07/09 06:52:36
普通にLLつってるな。
文脈でわかるもんだし。

163:デフォルトの名無しさん
09/07/09 07:14:23
LLと呼び習わされる言語群、という程度の意味合いしか持たせてないからLL言語と言ってる
そんな引っかかるほど頻繁に使う言葉じゃないし

セミナとかで使いまくってるような人はまた違う感覚があるのだろう

164:デフォルトの名無しさん
09/07/09 11:05:35
>>151
名前の長さの話なんか誰もしてないぞ。

165:デフォルトの名無しさん
09/07/09 11:14:11
>>151ではないが名前の長さのことなんて言ってないと思うぞ

RubyでもIDEを使えばけっこう構文エラーチェックがされて楽だけどな

166:デフォルトの名無しさん
09/07/09 11:26:13
Java の Eclipse に負けている Ruby の emacs/vi の機能ってなに?

167:デフォルトの名無しさん
09/07/09 11:39:09
>>166
はやーい

168:デフォルトの名無しさん
09/07/09 11:57:41
eclipse のほうが遅い

169:デフォルトの名無しさん
09/07/09 12:05:47
Emacs や vim のほうがエディタとしての体をなしている、というあたりだな

べつに、Eclipce で完結してるならそれはそれでいいじゃんね
Emacs や vim を試して「○○機能がないからこれではプログラミングできない」と考えたなら使わなきゃいいんだしさ

170:デフォルトの名無しさん
09/07/09 12:37:02
irbでのタブによるオートコンプリートやvimのオムニ補完が存在することから考えれば、
rubyをはじめとしたスクリプト系言語でもabbrev以上のレベルの補完機能は
普通に需要があると思うけどね

動的言語ゆえの実装の難しさから実装例が少ないだけの話を
「LLに補完は不要」といわんばかりの主張にすりかえちゃうのは
いわゆる酸っぱいブドウでしかないよねえ

171:デフォルトの名無しさん
09/07/09 12:46:58
irbのは実行中のインスタンスバイナリが手元に存在してるからできる芸当だろ

あるクラスに対して略語展開以上の妥当なメソッド名や変数名候補を提供するには
「クラスの実際のパースとモジュール参照の解決だけを行うがインスタンス生成はしない」
ということをする必要があるが、それはつまり普通にスクリプトの実行だよな

172:デフォルトの名無しさん
09/07/09 12:56:21
もっと言っちゃうと、
「区別のために関数名を長くして、
 使用時の利便性は環境による補完などのアシストで補う」
っていうアプローチって、静的言語によく使われている手法ではあるけど、
そもそもの元祖ってLISPのREPLだからむしろ動的言語側から
発生したアイデアなんだよねw

関数名を長くするか小さくするかなんて言語を利用する際の
考え方の違いでしかなくて、
動的か静的かなんて観点とは直交なんだけど、
歴史を知らない人って目先の相違点で近視眼的に敵味方を分けちゃうんだよねー。

173:デフォルトの名無しさん
09/07/09 12:58:41
えー、

class C
eval("def hoge; end")
end

C.new.

この時点で hoge が候補に出てきて欲しいということ?

174:デフォルトの名無しさん
09/07/09 13:05:06
>>173
それが出ないのはさすがに諦めていいんじゃないかと思う。

175:デフォルトの名無しさん
09/07/09 13:10:09
じゃあ何が自動で出て欲しいのよ
require した完成済みのクラスやモジュールのメソッド?
作ってる最中のコンパイルエラーのクラスのメソッド?
今まさに書いてる引数に指定してもエラーを起こさない妥当なクラスが入ってる変数名?

176:デフォルトの名無しさん
09/07/09 13:10:54
実際Netbeansは内蔵のjrubyで解析かけてるし、vimもrubyと連携してオムニ補完してるんだけどね。

実用上役に立つレベルにもっていくにあたって
エディタのコードハイライトみたいなお手軽な実装量で済まないのは確かだけど、
やれば出来るし、動く現物が今存在するわけだしねえ。

そもそも補完に完璧を目指す必要なんかなくて、
使用する際の8割でアシストが出来るなら5倍の効率化だし、
9割効くなら10倍の効率化になるわけだし。



177:デフォルトの名無しさん
09/07/09 13:17:59
> require した完成済みのクラスやモジュールのメソッド?
これは ri あたりから引いてくるのが既にあるな
fastri が動作しなくなって久しいが

> 作ってる最中のコンパイルエラーのクラスのメソッド?
変な書き方してると補完試すたびにスクリプト片が中途半端に動作して
テストサーバに接続とかそういうことが起きそうで怖い
というか現在のバッファに書いてあるなら動的略語展開でなんとかならんか

> 今まさに書いてる引数に指定してもエラーを起こさない妥当なクラスが入ってる変数名?
これは無理だろ、型の情報がない

178:デフォルトの名無しさん
09/07/09 13:25:21
>>177が最近の技術に疎いだけというオチがつく悪寒
vimの奴のソースでも見てみたらいいんじゃね?

179:デフォルトの名無しさん
09/07/09 13:29:02
そのへんで楽したいなら無理せずにJavaやれよJava
静的言語は素晴らしいって実感するぞ

180:デフォルトの名無しさん
09/07/09 13:31:00
Java をずっとやってきて、動的言語の素晴らしさを実感しているけど?
用途によるね。

181:デフォルトの名無しさん
09/07/09 13:35:09
Rubyでメソッド引数の型をアノテーションか何かで註記する標準的な方法って
無いの?
いくら動的型だからって、或る程度想定してるクラスの範囲ってあるでしょ?

182:デフォルトの名無しさん
09/07/09 13:37:45
>>181
マジでなんもないよ
必要なメソッドさえ動作すれば何でもいいから

マニュアル的に注釈をする方法は、マニュアルシステムによっては存在するけど、案の定全く流行ってない

183:デフォルトの名無しさん
09/07/09 13:41:53
よくわからんけど、
Eclipse(Aptana Rad Rails)より Netbeans Ruby のほうが、
補完の候補が出てくるのが速い気がする。

184:デフォルトの名無しさん
09/07/09 13:43:59
まあメソッド定義から与えられた引数がどう使われるか(どんなメッセージがsendされるか)
追跡して、引き数に指定できる変数を絞り込むぐらいなら出来る。

method_missing使ってどうこうしてるようなケースじゃ厳しいが。
まあ完璧である必要もないしな。

185:デフォルトの名無しさん
09/07/09 13:53:54
>182
えーと、逆に言えば、メジャーなマニュアルシステムを選べば、
標準的とまでは言わないまでも、まぁまぁ一般的な型の註記法があるって感じ?
例えば?

186:デフォルトの名無しさん
09/07/09 13:55:27
>>182
yard流行ってないよね
URLリンク(yard.soen.ca)
最初はきちんとクラスを書いていたものの「Rubyだとホントはどんなクラスでもいいんじゃね??」とか
気づいてしまった人が多いのではないかと推測

# 挨拶する
#
# @param [String] name 挨拶する対象
def hello(name)
 puts "hello, #{name}"
end

# 家にいるかどうかをチェック
#
# @return [true, false] 家にいるかどうかの真偽値
def at_home?
 # check
end

187:デフォルトの名無しさん
09/07/09 14:04:09
>>186
yardoc の引数のはたくさん書かなきゃいけなくなるからめんどくさくなるんだよ
each で回せればなんでもいい場合は [#each] とも書けるが、必要なメソッドったって結構あるしなー

188:デフォルトの名無しさん
09/07/09 14:08:32
マニュアル書くのめんどいメソッドは駄目メソッドという教育効果が

189:デフォルトの名無しさん
09/07/09 14:13:24
>186
それはわざわざ書き方がめんどくさいのを選んでるせいかも?

ScalaかHaskell的なシグネチャが有れば十分じゃない?
その例で言えば、こんな感じ
hello : String => nil # Scala的書法
hello : {def to_s: String} => nil  # ScalaのStructual Typing的書法
hello :: String -> nil # Haskell的書法

190:デフォルトの名無しさん
09/07/09 16:01:31
is_a? ではなく respond_to? で制限をかけることを思いついた
が、使うメソッド全列挙がめんどいのでやっぱり駄目だな

191:デフォルトの名無しさん
09/07/09 16:20:01
respondで縛ると結局JavaのXXXableインターフェースみたいになっちゃうからね

指定が煩雑な割に完全に型が決定できるわけでもないから
JavaのうれしくないところとRubyのうれしくないところが悪魔合体したような有様に

192:デフォルトの名無しさん
09/07/09 16:30:29
phpunit なら PHPDoc をある程度自動生成するのにね
yardoc を生成するのを作ったら

193:デフォルトの名無しさん
09/07/09 16:51:54
いや、その、なんていうかだな、yard の @params のクラス名称の8割くらいの用途は、
実は引数の名称で用が済むんだよ

引数の名称に data とか e とか使いまくってるならまだしも、
普通は相当の意味のある引数名になってるだろ

 def hoge(str, params)

って書いてあったら、str はよっぽどでなけりゃ String だし、
params は意表をつく攻撃をする意図がなければたいてい Hash だろ
それ以上の情報は @params のクラス名称でもわからんわけだしな

194:デフォルトの名無しさん
09/07/09 17:02:31
それゆえに真面目にyardを書いても大してうれしくないという話になり、
今のまんまでいいじゃん、でここまで来たのが現状だからなあ

195:デフォルトの名無しさん
09/07/09 17:12:54
変数名に「str」ってハンガリアン記法の問題そのままだなw

196:デフォルトの名無しさん
09/07/09 17:18:59
yardoc の一番よくないところは、必死でクラスを書いても現時点で特にメリットがないということ
このクラスを利用して補完がうまく動くぜーということも特になく、マニュアルの行が1個増えるだけ

マニュアルを読むときの話なのなら説明文やそれこそ引数名を直接読んでもらえれば
クラス名なんて不完全な情報だけどころか意図まで全部わかるわけだ

197:デフォルトの名無しさん
09/07/09 17:23:55
>>195
title_string_or_empry_when_tag_contains_nothing_or_nil_when_tag_itself_doesnt_exist_called_by_HTMLParser_ParsedData_title とか
そういう一発で内容がわかるほうがいっすか

198:デフォルトの名無しさん
09/07/09 17:30:40
>>196
まあrdocの代表的な実装が、メソッド名クリックとかで
該当部分のソースを見れるようになってるのが
その辺の現実を如実に示してるよね。

>>197
責務を分割しろとかパッケージ化して共通の修飾部を外せとか言われるんじゃね
つうかstrが文字列だとわかると嬉しいのかどうかってのがよしあしの分岐点だよな

199:デフォルトの名無しさん
09/07/09 17:39:45
// i に 100 を代入する
i = 100;

のような「見ればわかることまでいちいち書かんでええ」系のツッコミの適用範囲が
Ruby ではえらい広いから
どこまでコメント書くべきなのか書かなくてもいいもんかちょっと迷う

200:デフォルトの名無しさん
09/07/09 18:02:25
>>197
意味分からない。

ハンガリアン記法と同じ問題を抱えてると具体的に書いたのだが、
なんでそんなに見当違いのレスがくるんだ?

201:デフォルトの名無しさん
09/07/09 18:13:01
CやJavaのような強く型付けされた言語と違って、引数の型情報のないLLでは
引数の名前に型名情報を加えたほうが使いやすい場合も多いだろう。
Smalltalkだと、aString, anEvent, aRectangle, xNumber, yNumberみたいに書いたもんだ。
この場合は、変数の役割よりも型名のほうが偉い。

202:デフォルトの名無しさん
09/07/09 18:58:07
引数にstrをとるメソッドが文字列処理のヘルパークラスみたいに
strの内容が文字列でさえあれば問題なくなにがしか処理できるのなら
引数名はstrで必要にして充分だよな。

逆に引数の内容が何らかの意味のある文字列であって、
想定外の内容だったときにはエラーを返さなきゃいけないような処理なんであれば、
その「想定している何か」の情報を引数名に込めてやりたいところ。

203:デフォルトの名無しさん
09/07/09 18:59:23
まああと Smalltalk の場合はクラス名の部分を選択してクラスの説明読んだり
クラスブラウザ立ち上げてブラウズしたりって意味もあるけどねって話はいいとして、
名前をつけるので迷いがちなら、ケント・ベック読んでおけばとりあえず指針は得られる。

URLリンク(www.amazon.co.jp)

204:デフォルトの名無しさん
09/07/09 19:10:01
ケントベック本というと、読んだ後に引数名を
aTarget
とかにしまくってしまうような偏見がある


205:デフォルトの名無しさん
09/07/09 21:12:14
Smalltalk の場合は、引数の名前の他にキーワードセレクタも引数の使い方を表す情報として使用できる。
この使い方は、Rubyのメソッドが引数をハッシュでとる場合に近い。
ハッシュのキーに意味を持たせれば、値の名前は要らない。

206:デフォルトの名無しさん
09/07/10 01:10:26
「その、まあ」なやつは前RAIDスレにいなかったか?今もいるかもしれんが

207:デフォルトの名無しさん
09/07/10 08:48:47
URLリンク(github.com)
うへえ、90KBのソースファイル全部から一番外側のモジュール定義を物理的に引っこ抜いて、
一番最後に空のモジュール作って再代入しよった
っていうかこんなんgithubでやるな、追随や衝突解決がめんどくさいから
どうせ「スペースがもったいない」「インデントが深いから」とかいうアホな理由だろこれ

module WWW
 class Mechanize
  def …
  class Page
   def …
  end
 end
end

       ↓

class Mechanize
 def …
 class Page
  def …
 end
end
module WWW; end
WWW::Mechanize = ::Mechanize

208:デフォルトの名無しさん
09/07/10 09:00:33
「いっちゃん外側の纏め用モジュールの扱い」ってのは難儀なとこではある
ここにはメソッドも定数も定義されず、クラスをまとめるモジュール空間の提供としてのみ存在するもの

インデント深くなるから外に出しちゃえってのはそれはそれでいいんじゃないの
WWW::Mechanize と Mechanize の2つが存在することになるから WWW モジュール作った意味なさそうだけどさ

てんだらーが nokogiri 疲れでトチ狂ったのかと思ったら別の人の直接コミットなのね

209:デフォルトの名無しさん
09/07/10 09:11:47
この場合は ::Mechanize でアクセスできなくすればいいんだろ
…方法思いつかんが
なんかある?

210:デフォルトの名無しさん
09/07/10 10:19:37
これずううううううっと思ってたんだけどさ、オフィシャルページの HTML のタイトルさ、
「ダウンロード」とか「ニュース」とか単語になってるのなんとかなんね?
「Ruby ダウンロード」とか「ニュース - オブジェクト指向スクリプト言語Ruby」とか
他のサイトと区別できるタイトルつけようぜ

211:デフォルトの名無しさん
09/07/10 10:22:55
Object.send(:remove_const, 'Mechanize') とか


212:デフォルトの名無しさん
09/07/10 10:51:30
それは WWW::Mechanize ごとアクセスできなくなるんでは…

class Mechanize; end
module WWW; end
WWW::Mechanize = ::Mechanize
Object.__send__(:remove_const, 'Mechanize')
p Mechanize.new rescue "Mechanize.new.failed"
p WWW::Mechanize.new rescue "WWW::Mechanize.new.failed"

"Mechanize.new.failed"
#<Mechanize:0xb7cfaec4>

んぬう

213:デフォルトの名無しさん
09/07/10 11:08:50
クラス名は単なる定数で、参照先がたまたまクラスオブジェクトだってことさ。


214:デフォルトの名無しさん
09/07/10 11:14:11
>>210
チラシの裏に提案を書いてもどうにもならないことは自覚してる?

215:デフォルトの名無しさん
09/07/10 11:14:32
class Hoge
end

と書いたとして、これがいつ class クラスのオブジェクトとして存在し始めるかというのは意識しにくいかもね

216:デフォルトの名無しさん
09/07/10 11:25:48
__send__でprivate呼べなくなったんじゃなかったっけ

>>215
class 〜 endがself返せばirbとかでわかりやすいんだろうけど

ってこれも他のブロックのように最後の返値を返すのか
class Foo; end #=> nil
class Bar; self; end #=> Bar


217:デフォルトの名無しさん
09/07/10 11:59:30
WWW::Mechanize = ::Mechanize

これさ、あたりまえだけど
WWW::Mechanize.name
の返値は
"Mechanize" のままなんだな。

素直に
module WWW; class Mechanize; end; end
した場合は
"WWW::Mechanize"


218:デフォルトの名無しさん
09/07/10 12:23:37
Structといい、一応ファーストクラスオブジェクトなのに
そのへんの仕様で足引っ張ってる感じだw

219:デフォルトの名無しさん
09/07/10 12:45:52
とりあえず、この変更にはユーザーデメリットしかないと思う
俺としてはMechanizeが下手打ってくれて有難いが

220:デフォルトの名無しさん
09/07/10 12:50:29
うっさいよhttpclient

221:デフォルトの名無しさん
09/07/10 12:55:00
今は Anemone かも
あれはASCII 文字使い以外には機能が不足しまくりで、基本機能揃えて実際の現実フォローを行うと
単に Mechanize になるだけなんじゃねともっぱらの評判

222:デフォルトの名無しさん
09/07/10 16:23:46
>>214
それを「気にして」いるのは君だけだよ

223:デフォルトの名無しさん
09/07/10 16:36:05
エスパー参上

224:デフォルトの名無しさん
09/07/10 18:22:16
>>209
module WWW; end
class WWW::Mechanize
end


225:デフォルトの名無しさん
09/07/10 19:40:18
>>220
HTTPのクライアントなんだけどさ、
@HTTP/HTTPSが使えて
AGET/POSTその他メソッドのレスポンスを
 サーバからクライアントへの全文の受信を待たずに
 ある程度の大きさの塊で順次受け取れて
BWindows(mswin32)で動く
ライブラリってなんかあるかな?

@、AまでならlibcurlのRubyバインディングのcurbがあるんだけど、
curbはドキュメントでLinux以外想定してないと明記されてるわ
mingwでgem installしてみたら案の定拡張ライブラリのコンパイルで
引っかかるわで、
今泣きながらDL経由でlibcurl叩こうとしてるんだけど。

226:デフォルトの名無しさん
09/07/10 19:50:15
>>225
つまり net/http を使わないってことね

227:デフォルトの名無しさん
09/07/10 20:04:26
>>226
うん。net/httpだとAが出来ないと思う。

意図としては、サーバ側から取得してくるリソースが
典型的なHTMLみたいに数KB〜数100KB程度のサイズの場合は
内容を全部取得してからまとめて処理してもいいんだけど、
動画みたいな数MB〜数100MB程度のサイズの場合は
頭から数10KBとか数100KB程度の大きさでいいから順次取得して
逐次処理したいんだ。


228:デフォルトの名無しさん
09/07/10 22:04:04
>>227
>動画みたいな数MB〜数100MB程度のサイズの場合は
>頭から数10KBとか数100KB程度の大きさでいいから順次取得して
>逐次処理したいんだ。

動画じゃないけど、おなじようなことをしたいです。
これってRubyでやるときは、どんな設計にするのがいいの?

229:デフォルトの名無しさん
09/07/10 22:06:37
不用意にnet/httpを使わない
サーバが対応してるなら、こっから100キロバイトぶんだけくれというHTTPヘッダを送りつけ続ける


230:デフォルトの名無しさん
09/07/10 22:13:31
net/http は逐次処理させるの自体はできた気がする
ただ、どう小細工しても「取得完了時にメモリを数百MB占有」というのは回避できない

231:デフォルトの名無しさん
09/07/10 22:18:25
そういえばopen-uriなんかでもコールバック設定できたよね
ダウンロード状況の進捗とか示すのに使うやつ
逐次処理だけできればいいのならそれで足りそうな気が

232:デフォルトの名無しさん
09/07/10 22:21:33
>>227
230も言ってるけど、逐次処理できるよ
HTTP#getにブロックを渡せばいい
(HTTP.getではできないので注意)

233:225,227
09/07/10 22:24:01
>>229
ご存じの通り、Rangeヘッダでの取得だとサーバ側がパーシャルで返してくれなかったときに寒いことに。
で、net/httpを一部いじったりしてレスポンスのボディをある程度逐次に取れるようにしても、
単純な実装だとkeepaliveとかpipelineとかが絡んできたときにcontent-lengthやらchunkやらの取り扱いで面倒なことに。

>>228
Linuxで動けばいいのならcurbのon_bodyがそのまんま。
あらかじめコールバックハンドラ用のprocを登録しておくと、
目的のURLにアクセスしてレスポンスのbodyをある程度受け取ったタイミングで
受け取ったデータを引数にしてprocを呼んでくれる。

eventmachine使うとクライアント的な動作についてもイベントドリブンな感じで
実装できるっぽいけど、一から作るのもな、という。
実際目的が同じかはともかくほぼ一から作ろうとしてる人もいるみたいだけど。
URLリンク(blog.masuidrive.jp)


234:225,227
09/07/10 22:30:51
>>232
おお。もっかい確認してみます。

結局作りたいモノって大した物じゃなくて、
手元にあるmouseHoleもどきのHTTPプロキシに
URLリンク(www.artonx.org)
みたいな仕掛けを仕込みたいってだけなんですが。

235:デフォルトの名無しさん
09/07/11 21:11:56
いよいよAndroidの国内端末(HT-03A)出たね
これでRuby動かしてみた人居る?

236:デフォルトの名無しさん
09/07/13 10:45:37
ruby/tkのビルドで自動でライブラリさがしてくれるようになったね>nagaiさん乙でした
でも、makeにすっごく時間がかかるようにもなってしまった。

237:デフォルトの名無しさん
09/07/16 04:57:23
p Time.at(100).strftime("%H:%M:%S") => "01:01:40"

これで "00:01:40"を返して欲しいんですが
時間は常に +1 されて帰ってくるんでしょうか?

238:デフォルトの名無しさん
09/07/16 05:33:56
TZ=UTC0 ruby -e'p Time.at(100).strftime("%H:%M:%S")'
"00:01:40"

時差+1ってことはフランスかどっかにお住まいですか。Merci

239:デフォルトの名無しさん
09/07/16 05:43:31
>>238
ああっ 標準時刻とのずれか!
9時間なら気づけたのに!

場所はドイツからです。 Danke schön!!

240:デフォルトの名無しさん
09/07/17 20:43:15
Ruby 会議、初日行ってきたお
通訳しているレオさん(?) かっこよすぎる

声もイカす

・自分はずーっと大講堂だったが、高井さんのエンタープライズRailsがおもしろかった
 ヨドバシに並ぶようになったらポイントで買おう
・外人さんがけっこう見かけた

241:デフォルトの名無しさん
09/07/17 22:04:15
>>240
オレはずっと1Fだったが、ささだ研がブラック研究室ということが分かったよかったw


242:デフォルトの名無しさん
09/07/17 23:09:01
懇親会でアーロンがおよげたいやきくん歌ってた。

243:デフォルトの名無しさん
09/07/17 23:38:33
わざわざ日本に着てまで喋るだけあるな……

244:240
09/07/18 01:32:36
終わったあと、新宿でエヴァ破をひとりで見てから帰ってきた。

>>241
笹田さんって Ruby 1.9 の YARV を作っている方だよね?
そのセッションも聞きたかったのだが、Rails 3 のほうを聞いていたので聞けなかった。
ブラックだったのか.....

明日も早起きしないと。

245:デフォルトの名無しさん
09/07/18 09:24:17
>>242
ひげの山男さんマジぱねえっす(日本に馴染んでる的な意味で)

246:デフォルトの名無しさん
09/07/18 14:04:03
>>244
昨日午前中見てきた

247:デフォルトの名無しさん
09/07/18 14:04:50
> ブラックだったのか.....
あれはまぁ自虐ネタだから

248:デフォルトの名無しさん
09/07/19 00:36:45
レオさんは俺の嫁

今日の1Fの最後のコマ(GC)にいたんだけど、
Ruby 本体のメンテナ(コミッタ)は、ほぼ日本人ばかりなの?
外人さんもいるの?

あるいは Linux Kernel みたいにパッチは世界中から受け付けるけど、
コミッタは日本人だけなのかな?

249:デフォルトの名無しさん
09/07/19 01:38:29
>>248
URLリンク(yugui.jp)

日本人が多いけど、外人さんもいる様子
有名な人だと、Dave ThomasとかDavid Flanaganとか

250:デフォルトの名無しさん
09/07/19 16:35:21
実際に誰が動いているかとかはコミットログやChangeLogみるとか、
「Ruby のコミット数ランキング」を見るとか。
URLリンク(dame.dyndns.org)

まぁ、Rubyってあんまりパッチ来ないかなぁ、受け付けてはいるんだけどね。
Ruby内部のコードを読んで、いろいろつっこみをしてくる外人さんって、
Ruby本を書いているから細かいところまで見ているってイメージがある。
あと、パッチが外から来づらい理由として、継続して送ってくる人には
コミット権をあげちゃうからってのもあるかな。

251:デフォルトの名無しさん
09/07/19 23:01:55
ブラック研究室に入ったんだがどうやら俺は限界らしい
URLリンク(www.ci.i.u-tokyo.ac.jp)



映画化決定

252:デフォルトの名無しさん
09/07/19 23:04:02
日本Rubyの会 公式Wiki - 日本Ruby会議2009 アンケート
URLリンク(jp.rubyist.net)


アンケートを書くまでがRuby会議です。

253:デフォルトの名無しさん
09/07/20 17:09:14
プレゼンはustreamのrecordedでもうほとんど見れるんだな、すげー時代だ
kwatchのいうテンプレートとAOPってのがamritaとどこが違うのかわからんかった
スレでtenjinのアピールしてたのっていつごろだったっけ

254:デフォルトの名無しさん
09/07/20 18:45:13
AOPはJavaでは比較的知られているけど、たしかにHTMLテンプレートと絡ませると面白いかも。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5380日前に更新/227 KB
担当:undef