- 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/
- 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ドカタと同じ道を辿るだけ
- 434 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:31:08.74 ]
- JsonはJavaでも、リフレクションを使って生成すれば何とかなる気がする
プラグイン側がクラスを用意する必要があるがな ただ、静的言語でこれやるのは破門レベルとされてるから それをやる奴は出てこないだろうw
- 435 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:31:12.27 ]
- >>433
それが狙いw
- 436 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:31:15.95 ]
- >>428
静的言語でjQueryの代わりを作るのが大変だという話だろ 当たり前でも大変なのは変わりねえよ
- 437 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:31:41.69 ]
- >>431
プラグイン無しのJQueryとか考えられないんだが
- 438 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 01:32:53.25 ]
- >>434
> JsonはJavaでも、リフレクションを使って生成すれば何とかなる気がする てんさいがいる気がする。 天災がw 何を考えてるのかさっぱりだね。
|

|