[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/30 06:06 / Filesize : 147 KB / Number-of Response : 543
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Perl,PHP】LL バトルロワイヤル 22【JavaScript,Python】



1 名前:uy mailto:sage [2012/05/09(水) 00:31:27.68 ]
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、Perl、PHP、Python、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

前スレ

【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】
toro.2ch.net/test/read.cgi/tech/1330003774/

116 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:15:48.11 ]
原文が間違ってたとしても
その原文の意図を汲み取るのが重要

>>105は本当に原文が意図するところなのか?

117 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:27:01.31 ]
>>116
原文の意図が間違っていると言いたい
原文は意図していることを意図できていないにもかかららず、
説明できていると思っているんだろうな。

>>95の説明じゃAdaって聡明じゃない。
stupid

118 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:35:58.55 ]
96はめちゃくちゃ。
意訳してるつもりで大外ししてる。ちゃんと読め。

119 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:12:22.17 ]
だから原文がおかしいって言ってるだろ。
頭の悪い奴が書いた英語の原文を意訳するつもりなんかないよ

>>95の日本語ではAdaは聡明じゃないし、>>112の英語の原文でも聡明じゃないし。
まあ、>>112の英文の訳として>>95の日本語訳は適切だと思うよ。

120 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:14:25.74 ]
書いた人はLarry Wall御大でございます

121 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:20:04.56 ]
119が聡明じゃないのは間違いない。

122 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 01:28:39.32 ]
切り取り方が変なだけで原文はおかしくない

123 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 01:34:13.44 ]
スクリプトは俳優に渡すもの、プログラムは観衆に渡すもの


ぶっちゃけ、酒の席でのオヤジギャクと変わらんw

124 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 02:56:12.35 ]
>>105とその後の言い訳のデタラメっぷりはひどいな



125 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 04:04:59.88 ]
文字列の処理が容易である
とくに文字列のパターンマッチ能力に優れている
動的データの処理に優れている
OSとの連携に強い(OSのコマンド、GUIツールキット)
インタプリタ型である
(スクリプト言語に共通する特徴)

スクリプト言語のいろは|Cマガジン2000年10月号

126 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 04:10:37.18 ]
awk タンが微妙になってしまうお

127 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 04:14:04.03 ]
参考訳を貼るけどそもそも原文がおかしい、とか最初から書いておけばよかったろ?

翻訳より言い訳に力を入れているようだが

128 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:03:59.46 ]
なんでこのレベルの奴がこの板にいるんだよ
年々レベル下がってるじゃねーか死ね

129 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:11:15.46 ]
じゃあハイレベルなネタを提供してやれよ

130 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:34:08.72 ]
良い年こいたオヤジが言語どーこーの本気で下らない記事を
書いてるのみると還暦の魔法少女ぐらい厳しいものを感じるよね

131 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:36:11.56 ]
おまえの脳味噌の、ものごとを評価する能力が厳しいんだろw

132 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:23:27.30 ]
Railsの黒魔術って、メタプログラミングに強いRubyならではのものなの?
Pythonで同様の黒魔術って(可読性重視の文化は別として)できるものなんだろうか?

教えてエロイひと

133 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:07:39.69 ]
>>132
Railsの黒魔術ってなにをいってるの?
自動でいろいろ作ってくれることを指してる?
なんでメタプログラミングの話がでてくるのかさっぱりわからない。
CoC 設定より規約 (Convention over Configuration)になってるから
自動でいろいろ作ってくれるだけでしょ

Railsに影響を受けたFrameworkはたくさん出てるんだから、
Ruby系でも、PHP系でも、Python系でも、Java系でも
使いやすいの選べばいいんじゃないかな
Python系のDjango人気あるようだよ。Railsより高速だし。

Frameworkネタは専門スレのがいいっぽい
ここはWebアプリ関係ない人が多いようだから。

134 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:12:54.55 ]
フレームワーク系スレ張っておく

【Python】Python Webフレームワーク総合スレ
kohada.2ch.net/test/read.cgi/php/1329996601/

【RoR】Ruby on Rails Part14
kohada.2ch.net/test/read.cgi/php/1329492840/

【PHP】PHPフレームワーク総合スレ15
kohada.2ch.net/test/read.cgi/php/1292118428/



135 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:22:38.41 ]
>>133
「Railsの黒魔術」で検索した結果。一般にどういうことを指しているか。

www.slideshare.net/tmtm/ruby-3424591
メソッドが実行時に生成される。クラスが実行時に生成される。
パース時ではなく実行時オープンクラス、既存のクラスを変更できる。
特異メソッド。演算子もメソッド。クラスもオブジェクト
メソッドも動的に生成。定数の動的取得
文字列からメソッド呼び出し。
クラスが継承された時に実行されるメソッド
メソッドが存在しない時に実行されるメソッド
メソッドが追加/削除された時に実行されるメソッド
クラスの祖先を調べる
オブジェクトにメソッドがあるか?

世間一般にはこういうことを黒魔術と呼びます。
さて、世間の常識で話を進めましょうか?

136 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:23:51.20 ]
ふしゅるるる

137 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:36:20.94 ]
>>132
Rubyでのいわゆる黒魔術は
eval系メソッドとリフレクション(の組み合わせ)を指すことが多い
これら自体は割とどんなスクリプト言語でも使える

138 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:38:14.68 ]
>>133
DSLとかリフレクションが強力ってのじゃないの?

Pythonもわりとなんでもできるけど
隠れた仕組みで標準じゃない動作をさせたりするのは違和感がある。個人的に。
そういうのは明示的にアノテーションでなんとかさせたい。

139 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 00:32:35.51 ]
>>135
そのslideは、「Ruby」についてのものだろう?
132は「Railsの黒魔術」といっていたんだぞ?

RubyとRailsをごっちゃにしてる人にコピペされても。

140 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 00:40:56.70 ]
>>139
ちゃんと読め。
Railsで使われてる黒魔術だ。

RailsがRubyで書かれてるんだから
黒魔術のコードがRubyになるのは当たり前。

141 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 00:52:31.54 ]
Railsの黒魔術というとActiveRecordだけど、
あれの、動的にアクセッサができるって意味ないよな。

静的でいいじゃんって思う。

たとえば、カラム名nameってのがあったとして、find_by_nameが
動的に作られるって言うけどさ、その場合、find_by_nameを
使ったコードがすでに書いてあるわけだろ?

実行する前からnameってカラムがありますってわかってるわけじゃん?
nameってカラムがあるのがわかってるから、find_by_nameを呼び出しますって
コードに書くわけじゃん?

実行前にわかってる、つまり静的でいいよね?

142 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 01:07:42.60 ]
できることよりコードが少なめruby
できることよりコードが多めjava

143 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 01:14:00.06 ]
>>140
間違ったからって強引な屁理屈こねるのはやめろw

現状、Rubyが実質Railsくらいにしか使われてないから、
Ruby=Railsな印象があるのは認めるけど、あくまで別物。
RubyはRuby。言語。
RailsはRails。フレームワーク。

黒魔術なんて誰が言い出したのかしらんがアホっぽいね。
ソースみればなにやってるか、どうなってるか理屈わかるのに
なにが魔術なんだか

144 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 01:14:52.71 ]
>>141
Rubyは実行時に決まることが多いので、それに合わせた方が問題が少ない。

DB叩いてみないと name というカラムが本当にあるかはわからない。
SQLiteのインメモリデータベースのように、テーブルやカラムも実行時に作成している場合もあるからね。
あるいは、ビューを実行時に作って使い捨てたりとか。

それに、find_by_nameも自分で定義したメソッドかも知れないし、
他のライブラリが定義したメソッドかも知れない。

ActiveRecordの場合は、DBが情報持っているのだから、
アプリ側で静的な定義をすることで同じ情報を二重に持っている必要はないよねという考えでもある。



145 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 01:15:55.19 ]
>>141
データベースに接続するのは実行時だから
カラム名やらを静的には把握できないでしょ
脳内で分かってるのはプログラマだけ

146 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 01:53:59.07 ]
>>144 >>145
いや、だからさ、何が便利なわけ?

コード上に、find_by_name()書くでしょ?
これはもうファイルに保存されてるよね?

DB叩いてみてフィールドがなければこのコードはエラー起きるよね?

それは動的も静的も変わりないよね?

何か間違ってる?

147 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 02:34:44.79 ]
無くなってもそんなに困らないけどあった方がスムーズに書ける機能だとは思うな
find_by_name("tom")
find.where(:name => "tom")
上の方がよくない?
あと昔はwhereが無くてもっと長く書かないといけなかった

148 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 02:37:39.23 ]
もっと長く書いてみて

149 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 02:47:57.96 ]
スマホなんで勘弁してくれ
conditions時代だよ

150 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 03:21:37.08 ]
>>147
だから、find_by_nameを静的に作ればいいだけでしょ?
コードジェネレータをコンパイル時に自動実行するだけ。

151 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 03:22:42.57 ]
俺が言いたいのは、DBのアクセッサ生成は
静的でできることだよね。ってこと。

152 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 04:05:47.05 ]
Railsの話題はRailsスレへ。
>>134

153 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 06:38:02.72 ]
結論
 Rubyは黒歴史

154 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 09:13:27.45 ]
perlは前世
rubyは黒歴史
pythonは理想郷
schemeは宗教
javascriptはルネサンス



155 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 10:19:53.17 ]
>pythonは理想郷
kwsk

156 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 10:43:44.63 ]
インデント強制から何故かfateのタイトルを思い出したので

157 名前:uy mailto:sage [2012/05/17(木) 12:09:35.46 ]
>>135
世間一般でそれを「黒魔術」と呼ぶのは言語側がその機能を提供してないから
黒魔術によって優秀な()プログラマが、勝手に機能を作っちゃうって事だろ
その時に書かれたコードや、内部の動作は黒魔術だけど

constants
ancestors
variables
methods
define_method

など、メソッド呼び出すだけで、他言語では黒魔術使わない限りできないような事が最初から出来るようになっているならば
黒魔術とはいわず優れた処理系というべき

method_missingをPHPで実装して使ったら黒魔術だけど、
Rubyでmethod_missingを使うのは別に黒魔術ではないと思う
つうか毎日使ってたら魔術()とか思わないし、慣れればただの自分の技術

158 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 12:12:55.48 ]
魔法も魔術も毎日使うよ

159 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 12:54:57.31 ]
method_missingをよく分かって使うのは結構なんだが、乱用は良くないから
黒魔術と呼んで抑制することは悪くないとは思う。
モンキーパッチと呼ぶのも同じように思ってる。


160 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 13:00:24.55 ]
黒魔術と言うからには何か害があるのか?

161 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 13:06:29.29 ]
>>160
あまり動的な変更をやり過ぎると把握し辛くなるね
組み込みクラスの挙動とか弄ったりされると
Ruby使いでも注意深く読まないと挙動が読めなくなる

162 名前:uy mailto:sage [2012/05/17(木) 14:23:24.77 ]
常識的に考えて(AA略)
ヤバイと思う事は出来てもやらないのが、Rubyでソースコードをかける最低ラインだと思う
module Kernel
   def print *h
      puts "うぇwっうぇww"
   end
end

print "test message"


163 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 14:43:45.49 ]
インタプリタ言語でありながら解読されにくいプログラムを書けるってこと

164 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 18:05:11.67 ]
糞読みにくいコードを書いて悦に入ってる奴は死ねってことなら同意。
一人で作って永久にお前がメンテするなら良いけどな。

Perlユーザーに多いんだよな、糞読みにくいコードをドヤ顔で書く奴。
俺がPythonを推すのは、こういう輩が絶滅して欲しいから。

自分の書いたコードを黒魔術、とか自慢げにいう奴は一生一人で誰にも迷惑をかけずに作ってろ。



165 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:00:17.24 ]
>>157 にあるいくつかのメソッドで、Pythonにはないメソッドはどれだろう

逆にPythonのinspect.getargspec(?)のような、メソッドの引数を調べるメソッドは、
Rubyにはないのかな

166 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:04:24.54 ]
>>164
まるで「Pythonじゃどうやっても読みやすいコードしか書けない」みたいな言い方だが
本当にそうなのか?

167 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:21:21.62 ]
>>166
そこまでの拘束力はないけど、そういう風習・土壌があるから書かない。
PerlでもRubyでも冗長に書けば見通しよくできるけど逆に変態扱いされる。

168 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 20:07:57.26 ]
Perlはもう数年前から読みやすいコードを書こうって方向にシフトしてるじゃない

>>165
こんなのがあるらしい
>>> def foo(a, b, c); end
>>> method(:foo).arity #=> 3

169 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 20:19:45.27 ]
Method#parametersの方がいいかも


170 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 20:31:28.35 ]
>>> def bar(x, y, *z, &r); end
>>> method(:bar).parameters
=> [[:req, :x], [:req, :y], [:rest, :z], [:block, :r]]

おお、ほんとだ

171 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 21:26:59.96 ]
>>168 >>169
thnx

Method#parametersは1.9.2からみたいですね
1.8.7では駄目でした

172 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 21:29:49.26 ]
Rubyはカス言語だなあ

173 名前:uy mailto:sage [2012/05/17(木) 22:24:40.98 ]
for i in "a".."c"
  $nn ||= (
    puts "1回だけ処理したい"
    true )
  p i
end


そんな事より、こんな風にループのブロックに入ったときに
最初の1回だけ処理するっていうのを簡単に書ける言語ってないの?



174 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 22:33:15.02 ]
breakで抜ければいいんじゃないか



175 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 22:35:56.13 ]
>>173
最初の1回は必ず実行するループは、
Do - While 系のループとしてよく見るけどな

Rubyにはないの?どんな言語にもありそうだけど。
そもそも回数が未定のループでforを使うほうが変じゃないの。
forは基本的に、回数がわかっている時に使うものだと教えられた。

ufcpp.net/study/csharp/st_loop.html
ここの、[do-while 文]、のところのようなやつ。
Javaにも同様のあったはず

do
繰り返したい文 // 条件式が真の間繰り返される
while(条件式);

do-while 文は while 文と異なり、最低1回は文が実行されます。
つまり、while 文は条件式の評価を行ってから文を実行するのに対し、
do-while 文は文を実行してから条件式を評価します。

176 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 22:41:30.30 ]
>>175
そうじゃなくて、uyが言いたいのは
最初の一度だけ代入、みたいな処理だと思う

Ruby の ||= の動作ちゃんと解ってりゃ
同等のものが if で簡単に書けるのは当たり前の話なんだが…

177 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 22:49:24.85 ]
stackoverflow.com/questions/136793/is-there-a-do-while-loop-in-ruby
ふーむ

178 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 22:51:21.37 ]
lispのloopなら

179 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 23:34:14.91 ]
C言語

for (i = 0, puts("hoge\n"); i < 10; i++) {
}

180 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 23:37:02.08 ]
putsなのに\nを指定してるあたりプロだな

181 名前:uy mailto:sage [2012/05/17(木) 23:59:59.32 ]
>>175
ちょっと違う

>>179
それじゃダメなんだ
イテレータというか { } のブロック内でやりたい時がある

>>177
なんか英語だけど俺と同じことで悩んでる奴らかそれ

182 名前:uy mailto:sage [2012/05/18(金) 00:22:51.09 ]
class Array
  def uy_each
    c = yield self.first
    if c.class == Proc
      self.each do |m|
      c.call m
      end
    else
      self[1..-1].each do |m|
        yield m
      end
    end
  end
end

[5,6,7].uy_each {|o|
p o
->o{
  p o
}}


["5","6","7"].uy_each {|o|
p o
}

英語サイトに人に感化されてこんなのを考えてみた

183 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 07:00:22.30 ]
なんで、どの言語も変な癖を入れるんだろ
PHPでいいじゃん

184 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 08:06:34.23 ]
PHPに癖がないとでも?



185 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 09:59:57.70 ]
PHPは関数の名前に一貫性がないあたり、癖があるとおもうけどな。

Microsoft OfficeのExcelとかAccessが同じような内容の関数が別名で
それぞれ覚え直さないといけないというのに絶望したよ。PHPにはそれを感じる。

あと、バージョンによって挙動が異なる関数とかもめんどくせぇ。

PHPがそれなりにWeb開発言語として有用だった事は認めるが
いい加減役目は終わらせるべきだと思うね。

186 名前:uy mailto:sage [2012/05/18(金) 10:13:57.68 ]
名前の一貫性とかの前に
www.php.net/manual/ja/class.recursivefilteriterator.php
こんな言語でよく頑張るなと感心する

PHPでプログラミングできるって才能じゃね

187 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:20:57.13 ]
AccessはMSが他社から買収したんだっけ?
PowerPointは買収だった気がする

188 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:11:39.81 ]
PHPerはイテレータなんて難しい概念は理解出来ないからおk
それにしても酷い実装だなぁ、これw

189 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:24:51.69 ]
後方互換性を切り捨てて命名規則に一貫性が出ないものか
移行には適当なトランスレータでも作ってさ
言語の便利な機能は良いけれど,それサバンナでも同じこと言えるの?

190 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 12:42:23.84 ]
PHPはイテレータはおろか、SPLを使ってる奴なんて、全世界で1000人もいないと思うぞ

191 名前:デフォルトの名無しさん mailto:uy [2012/05/18(金) 13:49:59.25 ]
ぺちぱ

192 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 14:23:49.05 ]
Visioも買ってきたものだね

193 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:14:48.76 ]
>>186
PHPにeach系のイテレータないのかと思ってみてみたが、

「foreach ループを終えた後でも、 $value は配列の最後の要素を参照したままとなります。
unset() でその参照を解除しておくようにしましょう。 」
と警告がかいてあった。

ありえなくないか?
簡単にかけるからイテレータがあるのに、unsetしろ、とかwww

www.php.net/manual/ja/control-structures.foreach.php

Webにしか使えないしPHPはほんとウンコだな
スクリプト言語ならPythonかRuby。

194 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:06:55.93 ]
ブロックスコープないんだねぇ。。。



195 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:09:21.08 ]
JSもブロックスコープないな。

それから、イテレータから(例外みたいな大道具なしで)サクっと抜け出す機能は、
後付けするのが難しい。JSでもそんなわけで結局イテレータが使えないことが
よくある。

196 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:38:33.69 ]
Ruby最強か

197 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:16:32.35 ]
えっ

198 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 22:51:50.24 ]
>>193
ブロックスコープとかあまり関係ない。

$a = new MyObject();
unset($a); ← こうしないと$aは解放されないってだけ。


普通はfunctionの中で使う。
もちろんローカル変数は関数が
終わったら解放される。

言い換えるとグローバル変数は使うなってだけ。


199 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:22:06.31 ]
最近はpythonばっかりでほとんどruby使わなくなったけど
イテレータ周りはrubyが本当に優秀だなと思う
イテレータが入れ子になっても可読性落ちないよね

200 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:49:38.50 ]
Rubyは処理したいオブジェクトを何でも先に書いちゃうのが直感的でわかりやすい
aaa.to_i とか aaa.each do ~~  とか あとifの後置なんかもそうだよね
オブジェクトファースト記法とか勝手に命名してる
適当で横着な書き方をしてもそれなりに綺麗なコードになるのは凄いと思う

Rubyの書きやすさに慣れちゃうとPythonですら書いててたまにイラッとくるし、
JSやらPerlぐらい汚いとアルコールでイライラを抑えないととてもじゃないけどやっていけないレベル
PHP?キーボード20個ぐらいオジャンにしたわセミコロンとかうぜーよ意味ないだろあれ

201 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:56:04.96 ]
受刑者にRuby覚えさせて出所後の社会復帰を助けるっていうプロジェクトあったじゃん
あれの支援を受けた受刑者が出所後に採用された会社でPHPやらされて、
破綻した言語仕様に発狂して飲み屋で暴れて塀に逆戻りっていうエピソードもまんざら冗談じゃないなって思ったよ

まあそれくらいRuby凄いってことですわ
ほんと半端ないっすよRuby

202 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:59:44.06 ]
まさか……自己紹介……

203 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 06:15:45.68 ]
>>198
それは問題じゃない
要素への参照を受け取る時は気をつけないとハマるぞと警告している

foreach ($list as &$item) {} # $list = array(1, 2, 3);
$item = 99; # $list = array(1, 2, 99);

204 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 09:51:03.80 ]
>>203
それ見事にはまったことあるわ。
スコープのウンコさと参照のウンコさの合わせ技。


自分がやったのは単純な代入じゃなくてこんなんだった:
foreach ($list as &$item) { ... }
...
foreach ($list as $item) { ... }




205 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 10:15:01.96 ]
int i;
for(i=0; i<10; i++) {
 if(・・・) break;
}

if(i == 10) {
 printf("全部終わった");
} else {
 printf("途中で終了");
}

これみたいなもんだろ?
変数がどこで宣言されてるか、考えましょうってだけの話じゃんか。

206 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 10:17:04.63 ]
>>203
> 要素への参照を受け取る時は気をつけないとハマるぞと警告している

ん? unsetの話だろ。

お前の話だと、
$list = unset か array(1, 2, unset) になるぞ。

207 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 10:55:44.77 ]
phpにunsetなんて値はねえよ

208 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:12:27.28 ]
>>201
60%の人間はプログラミングの素質がない
cpplover.blogspot.jp/2012/05/60.html

209 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:21:35.02 ]
やべーmongrel殺しちまった
弊社のエブサービスが死んでしまって糞客に文句垂れられるかもしれんが、
そんなことはない、ログに残っていないで突っぱねよう
信頼、安全、安心のmongrelでございます、お客様。
やっちまっただよ 徹夜明けでの自宅での仕事はミスが多いね
来月からは会社で仕事しよう

210 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:22:24.63 ]
読んでみたけど何を言わんとしてるのかサッパリわからなかった

211 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:22:46.85 ]
>>208

212 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:30:09.70 ]
プログラミングは一を聞いて十を知る人向けのものだってことだろう

>>209
よくわからないけどとりあえずエブ鯖板にタレコミにいってくるお

213 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:31:36.51 ]
>>209
ごちゃごちゃ言う前に鯖起動しなおしたの?

214 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:37:55.63 ]
>>210
自分の頭で考えられない奴、論理を自分の都合で変える奴は
プログラマに向かないっつー話。



215 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:27:10.15 ]
>>214
くだらないブログをうのみにしないいで
自分の頭で考えましょう。

216 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:33:00.35 ]
このスレの頭でっかち君たちのほとんどが60%の方に当てはまったんだろうな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<147KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef