[表示 : 全て 最新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/

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では匿名クラス)の第一引数にすれば良い。

394 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 00:59:10.41 ]
>>390
何がどう出来ないんだ?
単なるオブジェクトだよ?
クローンも作れるし、それぞれに独自の拡張が出来る
プロトタイプベースの言語に慣れてないのか?

395 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:00:22.56 ]
jQueryはJavaでは無理って言われて
ついにJavaドカタが本性を現した、の巻

396 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:00:54.91 ]
>>392
プラグインはjQueryにメソッドを生やす。
jQueryをコピーして作られたjQuery2にメソッドは生やさない。

jQueryに生えたメソッドをjQuery2に移し替えても
プラグインはjQuery2ではなくjQueryを参照する。

397 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:02:33.63 ]
まあ実際にjQueryを真似たjsoupというJavaライブラリが存在するしな。
実証されてることをうだうだ言っても意味が無い。

398 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:03:16.21 ]
>>393
>100%同じインターフェースで実装できるわけじゃない
>例えばthisは、クロージャー(Javaでは匿名クラス)の第一引数にすれば良い。

別に昨日が実装できるのは当たり前なんですけど?
あの簡素で柔軟なインターフェースは静的言語では困難って話をしてるんだけど

399 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:03:40.69 ]
gihyo.jp/dev/clip/01/orangenews/vol67/0001


2012年1月27日,XMLをjQuery風に操作できるJavaライブラリ「jOOX 1.0.0」が
リリースされました。jOOXはLukas Eder氏が開発したもので,流れるような
インタフェース(Fluent Interface)(注1)で記述していくことでXMLの走査や
編集が行えます。Java 5から導入されたStatic Importをうまく使っており,
非常に簡潔な記述を実現しています(リスト)。



リスト jOOXを使ったコード
Document doc = $(new File("foo.xml")).document();
Match m = $(doc).find("book").filter(ids("book1", "book2"));

400 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:04:18.51 ]
>>398
> あの簡素で柔軟なインターフェースは静的言語では困難って話をしてるんだけど

具体的には?

401 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:04:39.83 ]
>>396
プラグインAでjQueryにメソッドをはやしてから
別名変数にクローンを保存
ブラグインBでjQueryのメソッドを上書き
余裕



402 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:05:30.54 ]
https://code.google.com/p/joox/

// Parse the document from a file
Document document = $(xmlFile).document();

// Wrap the document with the jOOX API
Match x1 = $(document);

// This will get all books (wrapped <book/> DOM Elements)
Match x2 = $(document).find("book");

// This will get all even or odd books
Match x3 = $(document).find("book").filter(even());
Match x4 = $(document).find("book").filter(odd());

// This will get all book ID's
List<String> ids = $(document).find("book").ids();

// This will get all books with ID = 1 or ID = 2
Match x5 = $(document).find("book").filter(ids(1, 2));

// Or, use css-selector syntax:
Match x6 = $(document).find("book#1, book#2");

// This will use XPath to find books with ID = 1 or ID = 2
Match x7 = $(document).xpath("//book[@id = 1 or @id = 2]");

403 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:05:59.81 ]
そのjOOXとやらのプラグインはどうなってるの?
イベント操作は?

404 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:07:39.75 ]
// This will add a new book
$(document).find("books").append("<book id=\"5\"><name>Harry Potter</name></book>");

// But so does this
$(document).find("book").filter(ids(5)).after("<book id=\"6\"/>");

// This will remove book ID = 1
$(document).find("book").filter(ids(1)).remove();

// Or this
$(document).find("book").remove(ids(1));

405 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:08:41.21 ]
>>403
落ち着け
これはXMLをjQuery風に操作できるライブラリ

406 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:08:52.25 ]
>>396
jQueryを読み込んでから各プラグインを読み込む間
いつでも変数弄ったり自由にできるんだけど

JQ=DC(jQuery)
プラグイン1を読み込む
[jQuery1,jQuery]=[jQuery,DC(JQ)]
プラグイン2を読み込む
[jQuery2,jQuery]=[jQuery,DC(JQ)]
プラグイン3を読み込む
[jQuery3,jQuery]=[jQuery,DC(JQ)]

でぜんぶ別々のプラグインが使える

407 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:14:14.18 ]
>>403
イベント? Javaはブラウザじゃないんだが
一体誰がイベントを送信するんだ?

408 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:15:37.17 ]
イベントとブラウザかどうかは関係ないんだが
タイマー、ソケット、エラーとかいろいろ発生源はある

409 名前:デフォルトの名無しさん [2013/05/04(土) 01:17:55.92 ]
>>380
それは汎用性という観点だろうけど、C/C++は別格

汎用性:
C/C++ >>>>>> C#, Java, JVM言語 >>>>>>>>>>>>>>>>>>>> スクリプト言語

プログラミング能力:

Lv6 => C/C++使い
Lv3-5 => C#, Java, JVM言語使い
無能力者〜Lv1 => スクリプト言語使い

410 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:18:22.60 ]
>>408
> タイマー、ソケット、エラーとかいろいろ発生源はある

だからなんでそれをjQuery風ライブラリで扱わないといかんの?

お前が言ってるのはsetTimeoutでできることを
jQueryでやりましょうって言ってるようなもんだよ。

jQueryが扱う対象はDOMのイベント
DOMのイベントはブラウザが発生させる。

411 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:18:39.92 ]
Javaだとメソッドの引数に無名関数渡すようなのはできるのかね
jQueryのメソッドにはそういうのけっこうあるんだが



412 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:19:00.89 ]
イベントループはユーザーの操作とかと関係ない
シングルスレッド、IOフリーのJSと相性がいいだけ

413 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:19:09.33 ]
クラス相当のものも全部単なるオブジェクト
うひょおおおかっこいい
さすがJavascriptすげーw
クラスをコピーしたりできない他の言語とはひと味違うぜw

414 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:19:26.74 ]
>>411
匿名クラスで可能。

415 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:20:27.00 ]
>>414
jOOXの例で書いてみてくれよ

416 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:21:22.65 ]
>>414
無理
真のクロージャじゃない

あと、Javaの場合jsonで渡すのが難しいだろうね
それこそ全部文字列にしないと

417 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:21:23.43 ]
イベントとか言ってる人はXMLとかHTMLとかDOMの区別がつかんのだろう

418 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:21:30.25 ]
>>408
お前が言ってる云々は意味がわからないな
自分は誰がイベントを送信するんだとか
イベントループをまったく理解してない頓珍漢な言葉に反応しただけですが?

419 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:21:34.90 ]
いや最近の静的言語はより安全だしIDEのサポートもあるから難易度は低いよ
スクリプト言語でちゃんとプログラミングするのはC++並みに難しい
まあ、不等号を間抜けに並べる奴に正論は通じないけど

420 名前:デフォルトの名無しさん [2013/05/04(土) 01:23:39.70 ]
まあJavaScriptはスクリプト言語の王様だかな
妬み、文句を付けたがる落ち目な言語開発者の気持ちはわかるw

421 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:23:48.47 ]
>>415
サンプルコードを見たいならテストコードを見るのが一番手っ取り早いぞ。一つ賢くなったね。

https://github.com/jOOQ/jOOX/blob/master/jOOX/src/test/java/org/joox/test/JOOXTest.java

830行
@Test
public void testMap() throws Exception {
assertEquals(
Arrays.asList("1", "2", "3", "4", "1", "3", "1", "2"),
$.find("book").map(JOOX.ids()));

assertEquals(
Arrays.asList("Amazon", "Roesslitor", "Orell Fuessli"),
$.find("library").map(JOOX.attrs("name")));

assertEquals(Arrays.asList(0, 1, 2, 3), $.children().first().find("book").map(new Mapper<Integer>() {
@Override
public Integer map(Context context) {
assertEquals(context.element(), context.match());
assertEquals(context.elementIndex(), context.matchIndex());
assertEquals(context.elementSize(), context.matchSize());

assertEquals(4, context.matchSize());

return context.matchIndex();
}
}));
}



422 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:25:00.06 ]
なにこの
  
  糞

みたいな言語

423 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:25:11.88 ]
>>419
「ちゃんとしたプログラミング」が必要な場面で
スクリプト言語を選ぶのは無能

わざわざ遅い言語で書く必要性がない

424 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:25:40.10 ]
>>421
本当にできるもんだなぁw

425 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:26:16.00 ]
JavaScriptの速度とかJAVA並なんですけど?

426 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:26:28.29 ]
結局プラグインは何一つなしと

427 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:27:20.30 ]
>>421
うひょ〜〜〜w


ワロス

428 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:27:44.41 ]
>>416
> あと、Javaの場合jsonで渡すのが難しいだろうね
> それこそ全部文字列にしないと

ぷっ。当たり前じゃね?
jsonはJavaScriptの文法から生まれたもので、
JavaScript以外じゃ文字列として渡すしかねーよ。

429 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:27:59.77 ]
>>423
なんのためにスレタイを変更したと思う?
今すぐに死んだほうが良い知的障害を寄せ付けないため

430 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:28:03.91 ]
JS厨まだ居座ってるんだな
スレタイからRuby消して最初にJavaScript持って来てるし

431 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:28:50.25 ]
>>426
プラグインはjQueryの設計ミスなんでどうでもいい。



432 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:29:46.37 ]
>>423
JSはasm.jsとかParallels.jsで今年末にはC#並の速度の言語になってるよ
今でもJAVAに勝ったり負けたりするレベルにはきてるし

433 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:30:10.70 ]
>>430
まあ荒らしが続くようなら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