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


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

[JavaScript,PHP] スクリプト言語33 [Perl,Python]



1 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 13:55:49.86 ]
JavaScript, Perl, PHP, Python, …
スクリプト言語をすべて扱うスレッドです。
最強のスクリプト言語は、どれよ?
さあ、死ぬまで語りやがれ!!!

■ スクリプト言語の用途
簡易Webアプリ、シェルスクリプト

■ スクリプト言語の特徴
1レスで書ける程度の使い捨ての短いコードなら作成が容易だが
実行速度は劣っており、2人以上の開発、1000行を超えるソースコード、
10ファイル以上からなるソースコード、大規模になればなるほど
修正時の影響範囲の把握が困難で簡単なスペルミスが
発見しづらいバグを生み、IDEなどの静的解析ツールの適用が難しく
何から何まで人手でやらなければならずプログラマの負担が大きい。
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがある。

1レスには収まらないが100行程度の短いコードはここで
ttp://play.island.ac/codepaste/

toro.2ch.net/test/read.cgi/tech/1365250318/

293 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:03:43.54 ]
スペルミスは言語の責任じゃないけど
これだけ使われてる言語にしてはまともな開発環境がないのが問題だよな

いっそブラウザに載せればいいのに
今でもChromeのコンソール使うと一応保管や保存できるが
前使った時はどうも挙動があやしいのでやめた

新しいファイルは作れないから
一旦別のエディッタで作ってからみたいになるし

294 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:04:33.28 ]
>>291
ちなみに278は283のレスをしてるだろ

295 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:05:24.80 ]
>>290
JSは奇跡の言語とかJSで凄い時代になるとか気持ち悪い煽動を始めた辺りから
叩いてるけど懲りずに毎日同じ妄想を垂れ流してる奴が
お前以外にいるのか?おそろしい

296 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:07:18.07 ]
あ、あとスペルミスはuse strictして
JSエンジンの設定弄ればV8でもFFのやつでも警告でたはず(実行前に)
JSでも静的解析はできるがevalとかがある都合上OFFになってる

297 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:08:28.58 ]
高機能化して欲しいのになんでブラウザ?
一番高機能なIDEであるVSがブラウザで動いてるところを想像できない

298 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:08:41.67 ]
>>293
右クリックの保存の挙動が怪しいの?
今は多分大丈夫と思う
Chrome Canary使ってるけど

299 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:08:55.20 ]
>>294
補完が使えるのにコピペなんてしないから、
もっと現実味のある理由を考えて

300 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:09:52.95 ]
>>295
俺の前は知らんが、今は俺一人だ
ちなみに俺はソース書いてるJS厨

301 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:10:47.73 ]
vimプラグインの補完は凄いと聞く。俺は数行の編集でしか使わないけど
あと最近はsublimeのステマをやたら聞く



302 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:11:20.89 ]
JSでvarつけ忘れて外部変数とぶつかったらどうなるの?教えて!警告でるの?

303 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:11:48.81 ]
>>299
実はダブルクリックの方が補完より速い場合あるから
マウス毛嫌いしてないで試してみ?
vimだから嫌いそうだけど

304 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:12:23.20 ]
sublimeは実際凄いよ
vimよりいいかも

305 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:13:25.80 ]
>>300
ソース書くって、今日も例を示せと数十回言ったけど返ってきた記憶がない

306 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:14:37.56 ]
>>305
まあほとんどJSのソースしか書いてないからな
たまに議論のついでにちょろっと小さいコード片をいれるくらい

307 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:17:00.39 ]
デタラメを重ねすぎて狼少年にしか見えない

308 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:17:21.27 ]
>>297
デバッガとセットになってて欲しいし
HTML上で使う場合はブラウザ使うし
HTMLの画像とか他のファイルも一元管理できた方がよくない?

>>298
今度試してみるかな
とは言え最近はNode.jsばっかり書いてるんだけどね
Node.jsでもブラウザをデバッガとして使うんだけど
ココら辺ももう少し連携しやすくして欲しいなあ

>>302
出ないよ
それで出たら親スコープの変数触れないじゃん
そうじゃなくて明らかに出てきてない変数から代入しようとしてたりするケースみたいなのは
JSエンジンのオプションで出せるようにできる
あとはvarを必至にすることでスペルミス軽減

309 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:17:47.57 ]
クラスターのプログラム書くときにベクトルのライブラリをググったら
sylvesterとかいうのしか引っかからなかったから
数値計算は相当苦手なのはわかった
まあ低機能だから適当に説明読んで即使えたけどw

310 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:18:48.12 ]
だからさ、親と子で宣言子付けるのが逆なんだよね
それで意味もなくvarだらけのコードになる

311 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:20:04.26 ]
「normって何?」と言ってるJS厨がいて数値計算は相当苦手なんだなあと思った



312 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:21:19.40 ]
俺みたいに理系の院行ってるならノルムは当然知ってるけど、それ以外の一般人は
普通に分からんだろうね

313 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:21:56.12 ]
>>310
何言ってるのかさっぱりわからない。
クロージャーは、関数外部の変数を見れたらいけないと言いたいのか?
それはもはやクロージャーではない。
なぜならクロージャーの要件の一つが外部の変数を見れること。

314 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:22:37.48 ]
>>311
知ってるか知ってないかの違い
ググればわかるようなことを
自慢げに言われてもなw

315 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:22:44.91 ]
>>313
pythonが真のクロージャを備えていないことが
よっぽどコンプレックスなんじゃないの

316 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:25:11.17 ]
Pythonに真のクロージャがないとか
JSのクロージャは危険じゃないとか
言ってる奴はアホだろ

317 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:25:46.24 ]
なんか1周回って戻ってきたな
Pythonのレキシカルスコープがちょっと変わってるんで、それを調べてから書き込んだほうがいい
JS厨の俺としてもうんざりですよ

318 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:26:21.82 ]
Javaで内部クラスをクロージャとして使うと
外部スコープはfinal変数しか参照できないけど、
そんな感じで、読むのは良いけど書くのはダメってのは
わりとありがち

319 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:27:56.20 ]
>>314
自慢じゃなくてかなり基本的なことだから、共通基盤が違うんだなあと
ノルムと言って伝わらない人は確かに科学的な計算しないと思う

320 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:27:56.92 ]
pythonでも一応外部の変数を「見る」ことはできたはず
代入が出来ないだけ

321 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:29:53.60 ]
>>318
F#とかもそうなんだっけ
そういう安全装置は意味あるし、pythonのスコープがおかしいって指摘が微妙だよな



322 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:30:47.60 ]
>>319
そいつは本当に自分が知らないことを聞いているのか
一般的な事柄としてそういう疑問があると言ってるのか、
そしてついでにいえば、そいつがどのレスと同一人物なのか
もう少し注意深く見た方が良い

323 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:31:14.37 ]
外部変数に代入したくないときに明示するか(var)、
代入したいときに明示するか(nonlocal)の違いじゃないの?

激しくどうでもいい

324 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:31:45.32 ]
>>318
それってfinalじゃなくても良くなるって話を随分前に聞いた覚えがあるけど、
Java7でもまだだっけ?

325 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:32:15.33 ]
Pythonってどうしてそういう仕様にしたんだろう
当然良いことも悪いこともあると思うが
自分には他の言事の差別化が大きいのかなと思ってしまう

326 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:33:03.21 ]
もしかして、pythonが簡潔を売りにしてる割にはself地獄なのも似たような思想なのかね
危険だとか

327 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:35:13.75 ]
>>323
JSのが明らかに危険なのにどうでもいいってw

>>322
それこそ本当にどうでもいいです。
科学的なコードに対して一般的に聞くことにどんな意味が?
JSで書いたほうが良いと言ってた奴だったと思うよ

328 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:36:21.07 ]
Python節、まあいいと思うよ
でも外側のスコープ変数変更出来ない方が普通だとは思わないな
変更されない、方を特殊に扱った方が自然だと思う
JSだってそれはできるし

329 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:38:22.45 ]
>>328
それは超初心者レベルのプログラミングも分かってないってこと
意図しない副作用に注意するなら、変更する場合に明示するほうが自然だろ

330 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:38:27.76 ]
>>327
レス見てきたけど、趣旨としては一般的なことだね
normは確かに数学の用語だけど、norm以外にもいろいろ挙げてる
から意味はあるね
normを揶揄するのは揚げ足取りの類い

331 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:39:53.56 ]
>>285
変更不可な変数の宣言と混同してる



332 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:39:58.67 ]
>>329
確かに
これはnonlocalの方が優れてるわ
まあselfは気に食わないけど

333 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:40:33.94 ]
>>324
final変数しか参照できないって不便だよな。

for(final int i : list) {
 //クロージャー呼び出し
}

for(int i : list) {
 final int i_ = i;
 //クロージャー呼び出し
}


いちいちfinal付けるかfinalつけた変数に代入しないといけないんだよな。

334 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:41:43.58 ]
>>329
自分で書いておいてその程度の事が意図しないとかいう感覚がわからない

内側のスコープにその変数を使ってるもんだと思って、
実際には無くて、外側のいじっちゃいけない同名の変数を
意図せず弄って問題が起きることがあるってこと?

簡単な具体例を説明して欲しい

335 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:42:38.02 ]
>>333
拡張forでfinal宣言するのは常識

> Java セキュアコーディングスタンダード > 01. 宣言と初期化 (DCL)
DCL02-J. 拡張 for 文のループ変数は必ず final 宣言する
www.jpcert.or.jp/java-rules/dcl02-j.html

336 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:42:51.63 ]
>>334
滅多に起きないけど、varを忘れてしまった場合にありうる

337 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:44:09.47 ]
>>335
マジか
これは良い情報
まあ仕事じゃレビューでfinalとってくれって言われるのが落ちだろうけど

338 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:45:06.87 ]
>>324
Java8で、final値だと自明な場合はfinalを書かなくても
final変数として参照できるようになる、らしい

339 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:45:58.38 ]
クロージャが呼ばれるときその中身は見えないし、その変数はそのクロージャ以外でも使われるのなら
変数の中身は当然追いにくくなるし、クロージャは基本的にメリットない気がする
なんで引数で渡したりしないの?

340 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:46:33.01 ]
>>336
あー、言いたいことはわかった気がするけど
ちょっといろいろと仮定が都合良すぎるな
確かに一昔前なら実際起きてそうなことだと思うけど

今は皆慣れてコーディングスタイルとかも良くなってきてるし
そのためにstrictmodeもあるしね

341 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:48:11.95 ]
strict modeの存在自体が危険性を示唆してるし
なんで普通の関数にそんなものを付けなきゃいけないのか謎
クロージャにだけ付ければ良いし、そしたらvar宣言自体が無駄
という結論ではダメですか



342 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:49:43.39 ]
クロージャを普通に使うJSではそれが逆に大変になるということだろうな

343 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:52:10.68 ]
>>339
それはさ、クロージャをクラスに置き換えても同じことが言えるんじゃない?

344 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:52:23.01 ]
var付け忘れというより、varつけて宣言した変数を使うつもりで変数名タイプミスして
グローバル変数になるとかのパターンが、かなり危険だね
なので"use strict"が導入された

>>341
"use strict"は関数毎につける必要はないよ
実質モジュール単位で有効にすればいい

345 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:52:59.24 ]
>>341
どういうこと?
今話してた意図せずスコープリークしてしまうのを防ぐ役目があるじゃん?

クロージャにだけ固いスコープが必要?
よくそのメリットがわかんないな

346 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:53:54.26 ]
>>344
だからさ、それ本当にuse strictで防げるのか?
俺の手元のテストコードがおかしいのか?

347 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:54:23.89 ]
>>343
クラスは変更される変数と独立してないだろ

348 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:55:28.33 ]
>>345
クロージャはコードが長くなりがち。
長いコードはスコープが広いのと同じことになる。
つまり何処で変数を変更しているかわかりにくい。

影響範囲を狭くするために
外のスコープに一切アクセス出来ない
クロージャ(?)が必要。

これをクロージャと呼ばないとかどうでもいい
違う名前でいいから、そういうものが必要。

349 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:55:53.00 ]
use strict で防げる派と防げない派がいるけど

350 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:56:01.24 ]
>>347
メソッドはフィールド変数と独立してるじゃん
同じじゃないの?
外側のクラスに囲まれてるから独立してないというのなら、
クロージャだってさらに外側のクロージャに囲まれているの
だから独立してない

351 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:57:09.50 ]
だからさ、varつけて宣言した変数を使うつもりで変数名タイプミスして
それが偶然グローバル変数とバッティングした場合は
use strict付けてても無力ってことだろ

そんなレアケースどうでもいいわ



352 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:57:31.88 ]
>>346
varで宣言してない変数を触ろうとするとエラーになるんだから
意図しない外側の変数やグローバル変数を弄ることがないってことでしょ?
それでも何か不満があるの?

>>348
クロージャは即時関数とも重なるから
むしろだいたい短いと思うんだけど

353 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:57:58.80 ]
>>351
varを付け忘れた変数が外側とバッティングする場合はそこまでレアではない
ただ、これもレアっちゃレアだと思うが

354 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:58:11.69 ]
>>349
タイプミスして
グローバル変数の宣言になるパターンは防げる
宣言済みの外部変数へのアクセスになるのは防げない

355 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 23:59:44.13 ]
宣言済の変数もゲッター、セッター使えば一応防げる

356 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:02:52.85 ]
お前らと話していると、静的型付け言語のほうが
優れていると言ってるとしか思えなくなって来るな。

人間ミスをする生き物だ。ミスしても謝ればいいだけ。
誰もそれを責める権利は持っていない。
ミスが怖いならコンピュータにでもなれよ。

357 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:03:35.37 ]
クラス内のメソッドはクロージャで、だからselfを付けるってこと?なるほど

358 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:04:36.54 ]
オブジェクトなら簡単に代入参照制限できるし外部関数化もできるけど
プリミティブ型はちょっと面倒だな

まあPython-JSコンバータつくるときはいいかも

359 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:12:48.16 ]
>>308
使ったことないけど、Cloud 9とかintelliJ IDEAってのが良いらしい。
ただ、sublimeもlintやdev toolと連携すればそこそこいけるし、
セットってのがそんなに利点かなあ

360 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:13:13.68 ]
まあスコープ浸透しない変数が本当にあった方がよくてそれで速度向上するんなら
ES.strawmanくらいには挙がってないとおかしいんだが

361 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:15:26.73 ]
速度向上?



362 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:16:09.51 ]
>>359
最近段々とChromeがOS化してきちゃってさ
というか9割の時間Chromeを全画面表示してるし

363 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:16:25.04 ]
Colud 9 IDE
www.publickey1.jp/blog/11/nodejsjavascriptcloud9_ide.html
凄い時代だよなあ
クラウドでIDEとか
Javascriptすげえ

364 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:19:51.95 ]
>>361
初期のconstみたいに実装に思わぬ負担となる場合がある

浸透しないとその分内側は軽くなると普通思うが
前例があるからどうなるのか心配

普通の変数と変わらない程度なら実装のコンパクト化を考えるといらない

365 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:22:14.41 ]
>>364
いや、誰も速度の話なんてしてなかったように思えるのに
急に速度向上の話になったからビックリしただけ

366 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:23:47.20 ]
>>356
どうだろうねえ
静的型付けの方がより安全ではあるけど、動的でも
だいぶ頑張れるしねえ
むしろ柔軟性を考えるとデメリットかもしれない
静的型付け言語だったとしたら、jQueryだのが生まれるイメージがあまり湧かない

367 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:26:41.58 ]
> 静的型付け言語だったとしたら、jQueryだのが生まれるイメージがあまり湧かない
そうか?

jQueryのキモは、セレクタ文字列から、jQueryオブジェクト型を返すだけだろ?
普通に型つきオブジェクト指向のやり方だと思うけど。

368 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:29:22.65 ]
静的言語でjQueryの$関数を実装するとかマジキチ
業界を破門レベル

369 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:29:32.64 ]
>>356
このスレではスコープ関係の議論をしてて、スコープについては
ダイナミックスコープより安全なレキシカルスコープが主流になってるから
あんまり違和感が無かった

370 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:30:34.51 ]
>>365
誰もしてなくてもJSにとって速度向上はものすごく大事なことなの

371 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:31:25.32 ]
>>367
例えばプラグインがメソッドを追加しまくってるけど、
単純な継承では継承の順番を指定しないと駄目だろ



372 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:31:48.16 ]
なぜならJSはリアルタイム性が重視される用途によく使われるから。
GUIとか、その動作速度でさくさく感が大きく変わる。

373 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:33:23.12 ]
>>371
プラグインがメソッド追加するのは
jQueryの失敗点の一つだと思ってるけど。

だって、名前かぶったらどうするのさ?

374 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:35:19.53 ]
VS+C#は戦車、スクリプト言語は拳銃くらいのイメージ

375 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:35:20.19 ]
>>368
いいじゃない
jQuery-C++とかjQuery-Javaとか

JQuery $ = new JQuery();
$(”ul li .hoge”).css("color", "red");

がJavaのコードでも別に良いじゃない

376 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:37:20.94 ]
>>373
noconflictとかでなんとかならんかね
実際そんなに問題出てる?

377 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:39:15.03 ]
>>375
全然よくない
本当は型によって振る舞いを変えるのは
JIT妨害の代表格みたいなものだからJSでも最悪なんだよ

でもjQueryはブラウザとHTMLの柔らかさや非互換性があるからこそ便利なもの
静的言語でやると悪いことしか産まない

378 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:39:50.55 ]
>>375
だよな。作れない理由が思いつかない。

>>376
noconflictは単にjQueryのエイリアスである$を使わない(jQueryだけを使う)
ってだけの意味でしか無いので、何も効果はない。

379 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:41:11.04 ]
>>377
具体的な理由何一つ言ってないなw

380 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:41:20.53 ]
>>374
C, C#, Java あたりは PC で
スクリプト言語はスマホやタブレットなのかもしれない

381 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:41:31.07 ]
Javaで$(”ul li .hoge”)という書き方は内部で$メソッドを定義しない限り
残念ながら出来ない
どうしても、$.$()になる
Cなら出来るだろうけどそれこそ破門レベルw
あと当然extends JQueryはそれぞれ別のクラスになってしまう



382 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:42:49.00 ]
>>378
名前かぶったら別の変数にして使えるじゃん

383 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:42:57.27 ]
jQueryはイベントハンドラとかthisの上書きとかいろいろJSならではのことやってるから
静的言語で移植するのは100%無理
ブラウザのDOM関数叩ける、V8のライブラリとして作るのならなんとかというところ

384 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:44:09.85 ]
>>381
$が関数名として使えないとかいう話?
使えるけど?

> $.$()になる
あぁ、staticインポート機能を知らないのか。

385 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:45:24.42 ]
>>382
えとね、今はプラグインのメソッド名の話してるの

$オブジェクトを別の変数で使う話してないの

386 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:45:25.53 ]
>>384
ああ忘れてたわ
すまん

387 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:46:12.63 ]
>>385
だから、プラグインのメソッド名がかぶるなら、$オブジェクトを別の変数に入れて
それぞれ使い分ければ良いだろ

388 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:47:39.72 ]
staticだと、それこそnoconflictができないよね
まあ何か考えれば方法があるのかもしれないが

389 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:47:41.21 ]
無理だって言われてるのに意地張るなよ
それともチューリング完全だからとかいうのか?

390 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:50:57.95 ]
>>387
お前馬鹿か?

$をhogeって変数に入れても
プラグインのメソッドは、
$にもhogeにも作られるんだよ。

$はオブジェクト、つまり参照型なんだから
コピーは作られない。

391 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:54:19.33 ]
>>388
noconflictもstaticもお前勘違いしてるだろ。
無理に参加しなくていいよw



392 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:55:26.14 ]
>>390
deep copyすればいいじゃない

393 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:58:42.91 ]
>>383
> jQueryはイベントハンドラとかthisの上書きとかいろいろJSならではのことやってるから
> 静的言語で移植するのは100%無理

JavaとJavaScriptでthisの扱いが違うのだからそれは当然
100%同じインターフェースで実装できるわけじゃないが
実用上困らないレベルでは実装可能。

例えばthisは、クロージャー(Javaでは匿名クラス)の第一引数にすれば良い。






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

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

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