JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
+ JavaScript の質問用スレッド vol.123 +
http://peace.2ch.net/test/read.cgi/hp/1423915644/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
+ JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/03/22(日) 16:19:45.75ID:nW67tQ7U
467デフォルトの名無しさん
2017/12/12(火) 21:14:31.67ID:m2RQFNY8 本来一回限りで消えてしまう関数スコープを
無名関数にそれへの参照を保持させることですぐには消えないものにする
という一種のテクニックです
技術的にはそんなに難解ではないのですが、
用語法が分かりにくいんですよね
クロージャって何のこと指して言ってるの?っていう。
>>465
ハーゲ
無名関数にそれへの参照を保持させることですぐには消えないものにする
という一種のテクニックです
技術的にはそんなに難解ではないのですが、
用語法が分かりにくいんですよね
クロージャって何のこと指して言ってるの?っていう。
>>465
ハーゲ
468デフォルトの名無しさん
2017/12/12(火) 21:54:07.20ID:4svaTAZj469デフォルトの名無しさん
2017/12/13(水) 00:22:32.40ID:SAZcFDe1 var outFunc = function(){
var count = 0;
return function(){ return ++count; };
}();
console.log(outFunc()); // 1
console.log(outFunc()); // 2
クロージャは静的スコープ。簡易クラス
内側の関数から見て、スコープ外のcount を使っている。
一見、スコープの外側の環境を閉じ込めているように見えるが、
実際にはその変数をコピーしておらず、ただ参照しているだけなので要注意!
内側の関数を戻した、外側のoutFunc をクラスと見れば、
count がメンバー変数(プロパティ)で、内側の関数がメソッドになる。
メソッドでメンバー変数を更新すれば、更新後のメンバー変数が保持されるのは当たり前
var count = 0;
return function(){ return ++count; };
}();
console.log(outFunc()); // 1
console.log(outFunc()); // 2
クロージャは静的スコープ。簡易クラス
内側の関数から見て、スコープ外のcount を使っている。
一見、スコープの外側の環境を閉じ込めているように見えるが、
実際にはその変数をコピーしておらず、ただ参照しているだけなので要注意!
内側の関数を戻した、外側のoutFunc をクラスと見れば、
count がメンバー変数(プロパティ)で、内側の関数がメソッドになる。
メソッドでメンバー変数を更新すれば、更新後のメンバー変数が保持されるのは当たり前
470デフォルトの名無しさん
2017/12/13(水) 00:29:51.85ID:SAZcFDe1 初めてのJavaScript 第3版、オライリー、2017
これを読むには、数年以上の勉強が必要。
ES6(2015) の本だから、Babel で、ES5 に変換して実行する。
初心者は、ES3, ES5, ES6 の順番に勉強する方が良い
特に、ES6ではクラス構文もできて、
オブジェクト指向に近くなったから、難易度が急上昇した
漏れは、10言語は知っているけど、この本に苦戦中
これを読むには、数年以上の勉強が必要。
ES6(2015) の本だから、Babel で、ES5 に変換して実行する。
初心者は、ES3, ES5, ES6 の順番に勉強する方が良い
特に、ES6ではクラス構文もできて、
オブジェクト指向に近くなったから、難易度が急上昇した
漏れは、10言語は知っているけど、この本に苦戦中
471デフォルトの名無しさん
2017/12/13(水) 07:14:43.01ID:u+kiVKe2472デフォルトの名無しさん
2017/12/13(水) 07:29:26.28ID:u+kiVKe2473デフォルトの名無しさん
2017/12/13(水) 07:30:57.93ID:u+kiVKe2474デフォルトの名無しさん
2017/12/13(水) 11:05:15.10ID:p2PjkbUD >>469
ありがとうございます
たしかにふるまいはクラスに似ていますね
静的スコープというのはレキシカルスコープというやつですね
たまに本の中で見かけるけど、良く分からず、分からないままにしていた言葉です
いま検索したところ、「JavaScript Good Parts」の中に
「JavaScriptの関数は、(大部分は)レキシカルなスコープを持つファーストクラスオブジェクトである」
と言及がありました。しかしその後、「レキシカルなスコープ」については説明がない
こんな風に、ただ出てくるだけの言葉、という印象があり、
今まで流していたのですが、これを機に勉強したいと思います
ありがとうございました
ありがとうございます
たしかにふるまいはクラスに似ていますね
静的スコープというのはレキシカルスコープというやつですね
たまに本の中で見かけるけど、良く分からず、分からないままにしていた言葉です
いま検索したところ、「JavaScript Good Parts」の中に
「JavaScriptの関数は、(大部分は)レキシカルなスコープを持つファーストクラスオブジェクトである」
と言及がありました。しかしその後、「レキシカルなスコープ」については説明がない
こんな風に、ただ出てくるだけの言葉、という印象があり、
今まで流していたのですが、これを機に勉強したいと思います
ありがとうございました
475デフォルトの名無しさん
2017/12/13(水) 15:17:12.86ID:OuVjfgAH >>474の件ですが
レキシカルスコープを分からなかったというより
ダイナミックスコープを知らなかっただけでした
ダイナミックスコープはコードの実行時にコールスタックを辿って変数を決める方式で
関数の中でローカルとして宣言されていない変数を見つけると、
処理系はコールスタックを辿り、呼び出し元のスコープの中で変数を探す
それを変数が見つかるか、グローバルスコープに突き当たるまで繰り返す
そういうものが
ダイナミックスコープだというのですが、
そんなの見たことがありません
それもそのはずで、
現代のプログラミング言語のほとんどがレキシカルスコープを採用しているとのこと。
そしてレキシカルスコープはダイナミックではないスコープ、
つまり現代のほとんどのプログラマーが「スコープとはこういうものだ」
と考えているスコープです
つまり構文の包含関係によって変数が決められる方式です
構文の包含関係に基づくので、変数が解決されるのは構文解析時です
そんなわけで普段プログラムを書いていて、
レキシカルスコープとダイナミックスコープの違いを意識することはあまりなさそうですが
処理系の内部動作にまで視点を広げた時には、
興味深いトピックとして立ち上がってきそうですね
レキシカルスコープを分からなかったというより
ダイナミックスコープを知らなかっただけでした
ダイナミックスコープはコードの実行時にコールスタックを辿って変数を決める方式で
関数の中でローカルとして宣言されていない変数を見つけると、
処理系はコールスタックを辿り、呼び出し元のスコープの中で変数を探す
それを変数が見つかるか、グローバルスコープに突き当たるまで繰り返す
そういうものが
ダイナミックスコープだというのですが、
そんなの見たことがありません
それもそのはずで、
現代のプログラミング言語のほとんどがレキシカルスコープを採用しているとのこと。
そしてレキシカルスコープはダイナミックではないスコープ、
つまり現代のほとんどのプログラマーが「スコープとはこういうものだ」
と考えているスコープです
つまり構文の包含関係によって変数が決められる方式です
構文の包含関係に基づくので、変数が解決されるのは構文解析時です
そんなわけで普段プログラムを書いていて、
レキシカルスコープとダイナミックスコープの違いを意識することはあまりなさそうですが
処理系の内部動作にまで視点を広げた時には、
興味深いトピックとして立ち上がってきそうですね
476デフォルトの名無しさん
2017/12/13(水) 19:01:59.92ID:u+kiVKe2477デフォルトの名無しさん
2017/12/13(水) 19:22:41.91ID:zb+ujaUZ ダイナミックスコープというとLispでしか見たことねぇ
478デフォルトの名無しさん
2017/12/13(水) 19:58:36.06ID:uoR9h+SG ググれないブス >>475
朴訥おじさん >>470
ガチアスペ >>431
の3人で別スレ立てて、好きなようにやってみろ。
俺はそっちには行かないし、そこが繁盛するならそれでいいし。
お前らが駄目なのは、良い物をより良い物が倒す実力主義ではなく、
良い国に悪い韓国人がたかる背乗り主義だからなんだよ。
だから少しマシになってもすぐお前らによって潰されてしまう。
しかもお前らはそれを未だに自覚できてない。学習能力0だなマジで。
韓国人死ね
脱線するが、経団連もこの辺完全にお花畑老害になっている。
自分達の国を自分達で改善できないゴキブリ韓国人なんて呼んだ所で、
この国が良くなる筈もない。悪くなるに決まっている。
だから移民なんてそんなに簡単じゃない。
お前らがスレを上手く運営できると思っているのなら、
実際にお前らで別スレを立てて繁盛させ、結果的に人をそこに集め、旧来のスレを殺してみせろ。
これは実力主義であり、正しいスレの殺し方だ。
ゴキブリ韓国人流の背乗り主義はマジでやめろ。誰の為にもならない。
朴訥おじさん >>470
ガチアスペ >>431
の3人で別スレ立てて、好きなようにやってみろ。
俺はそっちには行かないし、そこが繁盛するならそれでいいし。
お前らが駄目なのは、良い物をより良い物が倒す実力主義ではなく、
良い国に悪い韓国人がたかる背乗り主義だからなんだよ。
だから少しマシになってもすぐお前らによって潰されてしまう。
しかもお前らはそれを未だに自覚できてない。学習能力0だなマジで。
韓国人死ね
脱線するが、経団連もこの辺完全にお花畑老害になっている。
自分達の国を自分達で改善できないゴキブリ韓国人なんて呼んだ所で、
この国が良くなる筈もない。悪くなるに決まっている。
だから移民なんてそんなに簡単じゃない。
お前らがスレを上手く運営できると思っているのなら、
実際にお前らで別スレを立てて繁盛させ、結果的に人をそこに集め、旧来のスレを殺してみせろ。
これは実力主義であり、正しいスレの殺し方だ。
ゴキブリ韓国人流の背乗り主義はマジでやめろ。誰の為にもならない。
479デフォルトの名無しさん
2017/12/13(水) 22:26:39.76ID:OuVjfgAH 何か気持ち悪い人が棲息していますが昔からなんでしょうか?
質問者と回答者で力を合わせて浄化を目指しましょう
質問者と回答者で力を合わせて浄化を目指しましょう
480デフォルトの名無しさん
2017/12/13(水) 22:45:00.28ID:uoR9h+SG481デフォルトの名無しさん
2017/12/13(水) 22:54:52.19ID:OuVjfgAH ちなみに>>474のJavaScript Good Partsの箇所ですが
JavaScriptでJavaScriptを実装するという面白い試みを紹介している箇所だったので
その記事が載っている「ビューティフルコード」をぽちりました
少し読みましたが、これも良書のにおいがプンプンします
こういうセレンディピティが起きるのが質問スレの醍醐味ですね
JavaScriptでJavaScriptを実装するという面白い試みを紹介している箇所だったので
その記事が載っている「ビューティフルコード」をぽちりました
少し読みましたが、これも良書のにおいがプンプンします
こういうセレンディピティが起きるのが質問スレの醍醐味ですね
482デフォルトの名無しさん
2017/12/14(木) 01:38:00.53ID:bGPtLfUR 静的スコープは、Ruby, Groovy では、{ }, block で作れる。
モジュール・クラスも、{ }で囲むだけで、スコープを作れる
でも、JS では、スコープの機能は、function にしたから、
スコープを作るために、functionをネストしなければならない。
モジュール・クラスのスコープを作る場合も、functionを使わなければならない
つまり、スコープと関数の概念を切り離せていない。
関数スコープだけなのは、Python と同じ
でも、Ruby, Groovy では、ネストしなくてよい
Rubyのblock(処理)を、オブジェクトとして持ち運ぶ場合は、
proc に変換して、どこでも実行できる。
つまり、第一級関数と同じ
JS みたいに、functionを使って、スコープを作るのは、ややこしいだけ
モジュール・クラスも、{ }で囲むだけで、スコープを作れる
でも、JS では、スコープの機能は、function にしたから、
スコープを作るために、functionをネストしなければならない。
モジュール・クラスのスコープを作る場合も、functionを使わなければならない
つまり、スコープと関数の概念を切り離せていない。
関数スコープだけなのは、Python と同じ
でも、Ruby, Groovy では、ネストしなくてよい
Rubyのblock(処理)を、オブジェクトとして持ち運ぶ場合は、
proc に変換して、どこでも実行できる。
つまり、第一級関数と同じ
JS みたいに、functionを使って、スコープを作るのは、ややこしいだけ
483デフォルトの名無しさん
2017/12/14(木) 01:39:01.61ID:LEbaYuuB484デフォルトの名無しさん
2017/12/14(木) 01:43:59.68ID:LEbaYuuB JavaScriptの場合は
let func = () => console.log("ok");
func()
みたいにして実行できるけど、
Rubyだと、
func.call() みたいにしないといけないのがダサいんだよな
callってなんだよwww
let func = () => console.log("ok");
func()
みたいにして実行できるけど、
Rubyだと、
func.call() みたいにしないといけないのがダサいんだよな
callってなんだよwww
485デフォルトの名無しさん
2017/12/14(木) 02:02:21.42ID:LEbaYuuB http://hamuhamu.hatenablog.jp/entry/2015/05/01/050530
> Rubyのメソッドは、変数への代入が出来ないので、第一級オブジェクトではない。
> 第一級オブジェクトではないから変数への代入が出来ないといったほうが正しいのかも。
>
> Rubyのメソッドをクロージャとして扱うには Proc や lambda を使います。
> 厳密に言うと Rubyにおいて Proc や lambda を扱ったものは、第一級オブジェクトではないらしい。
> Rubyのメソッドは、変数への代入が出来ないので、第一級オブジェクトではない。
> 第一級オブジェクトではないから変数への代入が出来ないといったほうが正しいのかも。
>
> Rubyのメソッドをクロージャとして扱うには Proc や lambda を使います。
> 厳密に言うと Rubyにおいて Proc や lambda を扱ったものは、第一級オブジェクトではないらしい。
486482
2017/12/14(木) 03:26:42.01ID:bGPtLfUR まあ漏れが言いたかったのは、JS のfunction を使う場合、
別に関数として呼び出すわけじゃない
多くの場合、スコープが欲しいだけだから、{ } で十分。
一々、function を使わされるのが、誤解を招く
言語に、関数スコープしか無いから
別に関数として呼び出すわけじゃない
多くの場合、スコープが欲しいだけだから、{ } で十分。
一々、function を使わされるのが、誤解を招く
言語に、関数スコープしか無いから
487デフォルトの名無しさん
2017/12/14(木) 03:30:45.38ID:LEbaYuuB488デフォルトの名無しさん
2017/12/15(金) 02:30:34.13ID:OK9q/vji まあ何でもかんでも{}で足りるというわけでもない
その点での即時関数の代わりにGoogleが推してるdo文は実際欲しい
O.oの二の舞いにならなければよいが
その点での即時関数の代わりにGoogleが推してるdo文は実際欲しい
O.oの二の舞いにならなければよいが
489デフォルトの名無しさん
2017/12/15(金) 02:54:50.32ID:/sicteF5 純粋関数を
1.同じ入力に対しては同じ出力を返す。
2.「副作用」をもたない。つまりプログラムの状態を変えない。
と「初めてのJavaScript」は説明します
そして関数外部にあった変数をクロージャに含んで、
スタティック変数のように使うようにしたことを、「副作用がなくなった」と言います
スタティック変数的な変数であっても
「プログラムの状態」には変わりがないのでは?
とも思うのですが、ここでいう「プログラムの状態」というのは、
関数の外の変数、という意味なのでしょうか?
またオブジェクトのメンバを変更するオブジェクトメソッドは
副作用があるのでしょうか?ないのでしょうか?
1.同じ入力に対しては同じ出力を返す。
2.「副作用」をもたない。つまりプログラムの状態を変えない。
と「初めてのJavaScript」は説明します
そして関数外部にあった変数をクロージャに含んで、
スタティック変数のように使うようにしたことを、「副作用がなくなった」と言います
スタティック変数的な変数であっても
「プログラムの状態」には変わりがないのでは?
とも思うのですが、ここでいう「プログラムの状態」というのは、
関数の外の変数、という意味なのでしょうか?
またオブジェクトのメンバを変更するオブジェクトメソッドは
副作用があるのでしょうか?ないのでしょうか?
490デフォルトの名無しさん
2017/12/15(金) 07:29:42.36ID:yuhdgz4g またgoogle一発で回答に辿りつける質問をしてやがる
相当に知能が低いんだろうな
荒らすな ハーゲ
相当に知能が低いんだろうな
荒らすな ハーゲ
491デフォルトの名無しさん
2017/12/15(金) 12:20:54.74ID:/sicteF5 >>490
またハゲた発想ですね〜
ツルッパゲです
ググったんですか?見つかったんですか?
それならそれをここに書けばいいのです
ググって見つかってはい終わりじゃないんですよ
情報は検討しなければならないのです
ネットに書かれてあればそれが事実だ、真実だ、とはならないんです
そのために質問スレがあるのです
分かりますね?
またハゲた発想ですね〜
ツルッパゲです
ググったんですか?見つかったんですか?
それならそれをここに書けばいいのです
ググって見つかってはい終わりじゃないんですよ
情報は検討しなければならないのです
ネットに書かれてあればそれが事実だ、真実だ、とはならないんです
そのために質問スレがあるのです
分かりますね?
492デフォルトの名無しさん
2017/12/15(金) 19:10:29.62ID:OK9q/vji >>489
定義は難しいというか、本来プログラミング言語のものではないので無理がある
例えば同じ引数を与えると必ず同じ値を返す関数と言ってもいいが、
内部的にMathを利用していて、それが書き換えられた場合まで突かれると厳しい
まあそこまで厳密ではなくて良いとすれば、反対にMathのような関数外の変数を書き換える
関数と言っても良いが、これでもループを形成すれば副作用的なものは作れる(モナド)
結局純粋関数かどうかなんて実用的なプログラミング言語には関係ない話で考えなくても良い
それよりかは、「外部変数を書き換えないようにする」とかもっと具体的な部分に注目したほうが良い
定義は難しいというか、本来プログラミング言語のものではないので無理がある
例えば同じ引数を与えると必ず同じ値を返す関数と言ってもいいが、
内部的にMathを利用していて、それが書き換えられた場合まで突かれると厳しい
まあそこまで厳密ではなくて良いとすれば、反対にMathのような関数外の変数を書き換える
関数と言っても良いが、これでもループを形成すれば副作用的なものは作れる(モナド)
結局純粋関数かどうかなんて実用的なプログラミング言語には関係ない話で考えなくても良い
それよりかは、「外部変数を書き換えないようにする」とかもっと具体的な部分に注目したほうが良い
493デフォルトの名無しさん
2017/12/15(金) 19:40:38.29ID:yuhdgz4g >>491
普通に検索すれば一発でたどり着くしわかりきっている事なので普通のスレ住民には問題無い
ローカルルールなど知らんと宣言してるスレ荒らしの無能さに起因する事情など考えてやる必要はない
消えろ ハーゲ
普通に検索すれば一発でたどり着くしわかりきっている事なので普通のスレ住民には問題無い
ローカルルールなど知らんと宣言してるスレ荒らしの無能さに起因する事情など考えてやる必要はない
消えろ ハーゲ
494デフォルトの名無しさん
2017/12/15(金) 22:49:36.49ID:QRFEcBGB495デフォルトの名無しさん
2017/12/16(土) 00:32:27.16ID:ArLhqftT496デフォルトの名無しさん
2017/12/16(土) 03:45:36.96ID:cfKhsYp6497デフォルトの名無しさん
2017/12/16(土) 09:08:48.12ID:TBmZZU6f498デフォルトの名無しさん
2017/12/16(土) 12:17:20.92ID:PI7Fni2Y ブックマークレットに登録したMutationObserverを使って変更を検知できるようになったのですが、
ページがリロードされるとMutationObserverで登録した処理が
無効になってしまいます。どうすればいいでしょうか。
ページがリロードされるとMutationObserverで登録した処理が
無効になってしまいます。どうすればいいでしょうか。
499デフォルトの名無しさん
2017/12/16(土) 12:25:26.17ID:plaGBrRo >>498
ブックマークレットは自動的に実行できないので
ページ開いた時に実行できるブラウザ拡張機能を使用する
例えば、Tampermonkey とかな
ちなみに俺はこれを使って、ページを開いたらすぐに
ダウンロードボタンを押すようにしているw
ブックマークレットは自動的に実行できないので
ページ開いた時に実行できるブラウザ拡張機能を使用する
例えば、Tampermonkey とかな
ちなみに俺はこれを使って、ページを開いたらすぐに
ダウンロードボタンを押すようにしているw
500デフォルトの名無しさん
2017/12/16(土) 13:17:40.00ID:PI7Fni2Y >>499
スパイウェアじゃないよね?
スパイウェアじゃないよね?
501デフォルトの名無しさん
2017/12/16(土) 15:16:12.12ID:l/j+3zYC Javascriptで出来てるから不安なら自分で調べれば良い
502デフォルトの名無しさん
2017/12/17(日) 18:01:20.58ID:RetSeKI5 配列についての質問なのですが、
配列にプロパティを持たせたい場合、
どのように宣言すれば良いでしょうか。
下記のようなことがしたいと考えています。
var cell = new Array(3){
プロパティ1つ目 x;
プロパティ2つ目 y;
};
上記のようなことがしたい場合、
x,yの要素を持つクラスを作成し、
配列でインスタンスを作成するしかないでしょうか?
何か良い方法があれば御指南頂ければと思います。
よろしくお願いします。
配列にプロパティを持たせたい場合、
どのように宣言すれば良いでしょうか。
下記のようなことがしたいと考えています。
var cell = new Array(3){
プロパティ1つ目 x;
プロパティ2つ目 y;
};
上記のようなことがしたい場合、
x,yの要素を持つクラスを作成し、
配列でインスタンスを作成するしかないでしょうか?
何か良い方法があれば御指南頂ければと思います。
よろしくお願いします。
503デフォルトの名無しさん
2017/12/18(月) 01:18:31.16ID:TbHEuMcS あるクラスのインスタンスを、欲しい数だけ作る
それらを、配列(入れ物・コンテナ)に入れる
それらを、配列(入れ物・コンテナ)に入れる
504デフォルトの名無しさん
2017/12/18(月) 02:24:48.51ID:AyELD5Wz var cell = new Array(3);
としたなら、cellはArrayのインスタンス
>x,yの要素を持つクラスを作成し、
>配列でインスタンスを作成するしかないでしょうか?
この辺の意味が分からんけど、
cell.プロパティ1つ目 = x;
cell.プロパティ2つ目 = y;
としない、またはできない理由は何?
としたなら、cellはArrayのインスタンス
>x,yの要素を持つクラスを作成し、
>配列でインスタンスを作成するしかないでしょうか?
この辺の意味が分からんけど、
cell.プロパティ1つ目 = x;
cell.プロパティ2つ目 = y;
としない、またはできない理由は何?
505デフォルトの名無しさん
2017/12/18(月) 03:52:52.68ID:y8UTlrAF よく分からんが、
3x3の2次元配列を用意してcell[x][y]とアクセスできるCellクラスを作りたいってことか?
3x3の2次元配列を用意してcell[x][y]とアクセスできるCellクラスを作りたいってことか?
506デフォルトの名無しさん
2017/12/18(月) 05:39:05.31ID:y8UTlrAF それとも
cell[0]へのアクセサcell.x
cell[1]へのアクセサcell.y
を定義したいということだろうか
cell[0]へのアクセサcell.x
cell[1]へのアクセサcell.y
を定義したいということだろうか
507502
2017/12/18(月) 09:08:59.64ID:GCevG/T9 質問が悪く、すみません。
アクセスの仕方としては、
cell[0].x = 保管したい値1;
cell[0].y = 保管したい値2;
のような感じです。
オセロの作成を色々手探りでやっているのですが、
cellには画像、x座標、y座標のデータを持たせて、
画像のクリックイベントで格納しておいたx座標y座標を使いたいと考えています。
cellのインデックスには空、白、黒の3つを割り当てたいと考えています。
長々とすみません。
アクセスの仕方としては、
cell[0].x = 保管したい値1;
cell[0].y = 保管したい値2;
のような感じです。
オセロの作成を色々手探りでやっているのですが、
cellには画像、x座標、y座標のデータを持たせて、
画像のクリックイベントで格納しておいたx座標y座標を使いたいと考えています。
cellのインデックスには空、白、黒の3つを割り当てたいと考えています。
長々とすみません。
508デフォルトの名無しさん
2017/12/18(月) 11:48:27.42ID:QFnOzmP0 {x,y}の配列が作りたいって事ね
一時はTypedObjectとかあったけど、
まあそれに倣わなくても地道にループで初期化するので良いと思うけどね
どうしても最大限抽象化したいのならProxyArray案もあるけど
一時はTypedObjectとかあったけど、
まあそれに倣わなくても地道にループで初期化するので良いと思うけどね
どうしても最大限抽象化したいのならProxyArray案もあるけど
509デフォルトの名無しさん
2017/12/18(月) 12:01:43.50ID:gMlWIj9K >cellのインデックスには空、白、黒の3つを割り当てたいと考えています。
これがよくわからん
これがよくわからん
510デフォルトの名無しさん
2017/12/18(月) 12:05:17.13ID:AyELD5Wz cell[0] = {};
cell[0].x = 保管したい値1;
cell[0].y = 保管したい値2;
cell[0]はObjectクラスのインスタンスとも言えるけど、そこまで深く考えなくてもいいと思う
cell[0].x = 保管したい値1;
cell[0].y = 保管したい値2;
cell[0]はObjectクラスのインスタンスとも言えるけど、そこまで深く考えなくてもいいと思う
511502
2017/12/18(月) 23:23:12.95ID:GCevG/T9512デフォルトの名無しさん
2017/12/18(月) 23:28:13.94ID:SUjpjhtq おいおい、ここまで話を進めたのはいいけど、
最初の初期化であれば普通はこう書くだろ?
var cell = [{x: 値1, y:値2}];
最初の初期化であれば普通はこう書くだろ?
var cell = [{x: 値1, y:値2}];
513デフォルトの名無しさん
2017/12/18(月) 23:28:37.89ID:SUjpjhtq 配列なら複数形のほうがいいかもな
var cells = [{x: 値1, y:値2}];
var cells = [{x: 値1, y:値2}];
514デフォルトの名無しさん
2017/12/18(月) 23:56:31.62ID:TbHEuMcS 普通に、マス目のクラスを作って、メソッドも加える
そのインスタンスを、64個作って、配列に入れておく
そのインスタンスを、64個作って、配列に入れておく
515デフォルトの名無しさん
2017/12/19(火) 00:41:12.80ID:XZb67Fvp 他のゲームならコマのオブジェクトを作るほうがいいかもしれんけど
オセロなら8x8のマスのオブジェクトに空・白・黒の状態持たせたほうがいいよねぇ
オセロなら8x8のマスのオブジェクトに空・白・黒の状態持たせたほうがいいよねぇ
516デフォルトの名無しさん
2017/12/20(水) 00:05:23.45ID:I9jY9U5H すみません、もしこのスレで
axiosを使っている人がいましたら
伺いたいのですが
activexobject(microsoft.xmlhttp)を呼び出す方法と
もしそれがなければ改造方法の指南を受けたいです。
よろしくお願いします。
axiosを使っている人がいましたら
伺いたいのですが
activexobject(microsoft.xmlhttp)を呼び出す方法と
もしそれがなければ改造方法の指南を受けたいです。
よろしくお願いします。
517デフォルトの名無しさん
2017/12/20(水) 07:53:01.76ID:+SxGwy2+ なんでaxios?
new ActiveXObject()じゃいかんのか?
new ActiveXObject()じゃいかんのか?
518デフォルトの名無しさん
2017/12/20(水) 07:56:45.40ID:LPYqovlm クラウドワークスやランサーズで作成依頼しなよ
519516
2017/12/20(水) 23:53:51.72ID:I9jY9U5H すみません、
Vueのコンポーネント作成で使いたいと思いました。
昔のIEでローカル配置データの読み込みができたらと考えていました。
Vueのコンポーネント作成で使いたいと思いました。
昔のIEでローカル配置データの読み込みができたらと考えていました。
520デフォルトの名無しさん
2017/12/21(木) 00:18:55.83ID:hxAUg2rz ローカルファイルとか、OS のネイティブAPI を使うのなら、Electron。
Electron から、Angular, React, Vue を使う
Electronではじめるアプリ開発
~JavaScript/HTML/CSSでデスクトップアプリを作ろう
野口 将人・倉見 洋輔、2017
Electron から、Angular, React, Vue を使う
Electronではじめるアプリ開発
~JavaScript/HTML/CSSでデスクトップアプリを作ろう
野口 将人・倉見 洋輔、2017
521デフォルトの名無しさん
2017/12/21(木) 16:16:41.07ID:id1EZsfE 分かりにくくて申し訳ないです。
<body onload=“function a();”>
function a(){
sum = new Sum()
}
function Sum(){
...........略
}
3つのカタマリ は別ファイルなのですが、実行するとUncaught ReferenceError:Sum is not difinedと出てしまいます。
不備が分かる方、問題点を教えていただけるととても助かります。
上から順にHTML. script.js script-2jsで
javascriptはscriptタグを2つ並べて参照しました。
<script>〜</script>
<script>〜</script>
<body onload=“function a();”>
function a(){
sum = new Sum()
}
function Sum(){
...........略
}
3つのカタマリ は別ファイルなのですが、実行するとUncaught ReferenceError:Sum is not difinedと出てしまいます。
不備が分かる方、問題点を教えていただけるととても助かります。
上から順にHTML. script.js script-2jsで
javascriptはscriptタグを2つ並べて参照しました。
<script>〜</script>
<script>〜</script>
522デフォルトの名無しさん
2017/12/21(木) 16:30:20.65ID:IAn/uGw3 script.jsとscript-2jsの読む順番をひっくり返せ
523デフォルトの名無しさん
2017/12/21(木) 17:32:55.79ID:id1EZsfE >>522
順序を入れ替えましたが、ダメでした.......
順序を入れ替えましたが、ダメでした.......
524デフォルトの名無しさん
2017/12/21(木) 18:59:15.11ID:oRquw3RP まともに質問できないゴミクズ質問者に見当違いの答えを返すアホ回答者
ゴミクズ質問者のせいで終わったスレ
原因は確実に9文字のアレだな
ゴミクズ質問者のせいで終わったスレ
原因は確実に9文字のアレだな
525デフォルトの名無しさん
2017/12/21(木) 19:32:01.61ID:id1EZsfE >>524
その9文字を教えていただけると助かります
その9文字を教えていただけると助かります
526デフォルトの名無しさん
2017/12/21(木) 20:16:32.59ID:prpojwIY どうせ間違いだから聞くだけ無駄w
527デフォルトの名無しさん
2017/12/21(木) 21:10:06.93ID:0DSNwaJI 3つのファイルは同じ場所にあるの?
後aとSumはもういいからhtmlを省略せずに示してくれると分かりやすい
後aとSumはもういいからhtmlを省略せずに示してくれると分かりやすい
528デフォルトの名無しさん
2017/12/21(木) 23:24:13.84ID:hxAUg2rz ><body onload=“function a();”>
全角文字を使うな。
半角ダブルクォーテーションにする
<body onload="function a();">
全角文字を使うな。
半角ダブルクォーテーションにする
<body onload="function a();">
529デフォルトの名無しさん
2017/12/22(金) 19:09:03.87ID:qarTviTk >>527
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>gaming</title>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<script src="script-2.js"></script>
<script src="script-3.js"></script>
<script src="script-4.js"></script>
<body onload="initial()">
<h1>javascript game!</h1>
<p>click here to start game</p>
<canvas id="canvas" style="background-color:#eef;" width="800" height="400" onclick="start();">
<audio id="item_get" preload="auto">
<source src="item _get.mp3" type="audio/mp3"></audio>
</body></html>
コピペする時点で、変な処理が加わった可能性もあるのですが、構造はこのようです。
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>gaming</title>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<script src="script-2.js"></script>
<script src="script-3.js"></script>
<script src="script-4.js"></script>
<body onload="initial()">
<h1>javascript game!</h1>
<p>click here to start game</p>
<canvas id="canvas" style="background-color:#eef;" width="800" height="400" onclick="start();">
<audio id="item_get" preload="auto">
<source src="item _get.mp3" type="audio/mp3"></audio>
</body></html>
コピペする時点で、変な処理が加わった可能性もあるのですが、構造はこのようです。
530デフォルトの名無しさん
2017/12/22(金) 19:17:47.53ID:qarTviTk531デフォルトの名無しさん
2017/12/22(金) 19:19:43.35ID:qarTviTk532デフォルトの名無しさん
2017/12/22(金) 21:19:07.25ID:6yk8gXaG >>531
めんどくせーから、やり方教えるから自分でやれ
まずひとつのファイルに書いて動くかどうか確認しろ
動かなかったら動くと思うところまで削って確認しろ
動いたら、ファイルを分けるなどして動かなくなる
ところまで戻していけ
そうすりゃどこに原因が有るかわかる
めんどくせーから、やり方教えるから自分でやれ
まずひとつのファイルに書いて動くかどうか確認しろ
動かなかったら動くと思うところまで削って確認しろ
動いたら、ファイルを分けるなどして動かなくなる
ところまで戻していけ
そうすりゃどこに原因が有るかわかる
533デフォルトの名無しさん
2017/12/22(金) 21:35:37.49ID:qarTviTk >>532
そうですね、自分でいろいろいじってやってみます!
そうですね、自分でいろいろいじってやってみます!
534デフォルトの名無しさん
2017/12/22(金) 23:01:02.77ID:RZt5N+k9 そんなにファイルを分けているなら、CommonJS でも使えば?
Node.js, Electron, Webpack, Babel, jQuery とか
Node.js, Electron, Webpack, Babel, jQuery とか
535デフォルトの名無しさん
2017/12/23(土) 00:09:58.18ID:p1jtMZEV オブザーバーの利点が今ひとつ解らない。
カスタムイベント用意して
個別にそのイベントリスナー登録すればすむのに
管理オブジェクトがオブザーバーリスト持ったり
専用の関数を継承したり等
何故態々面倒な事をするのだろうか。
カスタムイベント用意して
個別にそのイベントリスナー登録すればすむのに
管理オブジェクトがオブザーバーリスト持ったり
専用の関数を継承したり等
何故態々面倒な事をするのだろうか。
536デフォルトの名無しさん
2017/12/23(土) 00:51:49.01ID:FPRjmoIB Mediator
中央管制塔のように全体を統轄する
「Observer Mediator」で検索!
自分でやったら、イベントの削除とかが面倒くさい。
削除しなかったら、ずっとメモリを使い続ける(メモリリーク)
イベントを取り付けた要素の、先祖の要素が削除された場合に、
イベントを削除する機会を失うから、メモリリークになる
jQuery では、そういう場合でも、メモリリークにならないから、すごい!
中央管制塔のように全体を統轄する
「Observer Mediator」で検索!
自分でやったら、イベントの削除とかが面倒くさい。
削除しなかったら、ずっとメモリを使い続ける(メモリリーク)
イベントを取り付けた要素の、先祖の要素が削除された場合に、
イベントを削除する機会を失うから、メモリリークになる
jQuery では、そういう場合でも、メモリリークにならないから、すごい!
537デフォルトの名無しさん
2017/12/23(土) 05:07:57.15ID:SOP9Z5sy もう随分前からNative-JS間の循環参照の問題は解決して
参照が残ってなければ消えるけどな
ネイティブの実装も極めて特定の場合に参照が残っている場合でも消えてしまうんだが
jQueryはそれをより気にせずアグレッシブに消すというだけで良し悪しがある
参照が残ってなければ消えるけどな
ネイティブの実装も極めて特定の場合に参照が残っている場合でも消えてしまうんだが
jQueryはそれをより気にせずアグレッシブに消すというだけで良し悪しがある
538536
2017/12/23(土) 23:45:25.73ID:FPRjmoIB Backbone.js ではメモリリークになるけど、
jQuery ではならない、って聞いた
jQuery ではならない、って聞いた
539デフォルトの名無しさん
2017/12/24(日) 14:34:11.59ID:WeE5WMFr node.jsでのファイルの存在確認には
fsモジュールのaccessメソッドが使われますが、
ファイルがないと例外が投げられます(同期の場合)
この挙動おかしくないですか?
ファイルがあるならtrue、ないならfalseを返せばいいはずです
例外は何かしら例外的な事象を知らせるために投げられるものですが
ファイルの有無を調べるメソッドにおいて、
ファイルがないことは例外的事象でも何でもありません
何でこんなことになってるのでしょうか?
fsモジュールのaccessメソッドが使われますが、
ファイルがないと例外が投げられます(同期の場合)
この挙動おかしくないですか?
ファイルがあるならtrue、ないならfalseを返せばいいはずです
例外は何かしら例外的な事象を知らせるために投げられるものですが
ファイルの有無を調べるメソッドにおいて、
ファイルがないことは例外的事象でも何でもありません
何でこんなことになってるのでしょうか?
540デフォルトの名無しさん
2017/12/24(日) 14:43:46.49ID:o8ETW9H4 下記のコードについて質問です。
配列内容をシャッフルするコードのようなのですが、
forの動作に疑問を持ったので教えて頂ければと思います。
・,(カンマ)で区切ってある箇所は連続して処理されるという認識で間違いないでしょうか?
・for文が止まる理由は、for文の真ん中の条件式の k; が0になる=false と判断されるということでしょうか?
Array.prototype.shuffle = function() {
for(var j, x, k = this.length; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
return this;
};
質問が分かりづらかったらすみません。
よろしくお願いします。
配列内容をシャッフルするコードのようなのですが、
forの動作に疑問を持ったので教えて頂ければと思います。
・,(カンマ)で区切ってある箇所は連続して処理されるという認識で間違いないでしょうか?
・for文が止まる理由は、for文の真ん中の条件式の k; が0になる=false と判断されるということでしょうか?
Array.prototype.shuffle = function() {
for(var j, x, k = this.length; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
return this;
};
質問が分かりづらかったらすみません。
よろしくお願いします。
541デフォルトの名無しさん
2017/12/24(日) 15:07:00.78ID:UCQX5tUj542デフォルトの名無しさん
2017/12/24(日) 15:41:38.56ID:A3ERayLu >>540
意味がわからないのは、そのコードの可読性が低いから、
だめだよ。そんな書き方をしたら
普通に書こう。前提として for(ここ; ここ; ここ) の「ここ」の部分は省略できる
まず、一番目の「ここ」は初期化なのだから forの外に移動できる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
return this;
};
そして、3番目の「ここ」はループの中に入れることができる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x
}
return this;
};
意味がわからないのは、そのコードの可読性が低いから、
だめだよ。そんな書き方をしたら
普通に書こう。前提として for(ここ; ここ; ここ) の「ここ」の部分は省略できる
まず、一番目の「ここ」は初期化なのだから forの外に移動できる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k; j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x);
return this;
};
そして、3番目の「ここ」はループの中に入れることができる
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k), x = this[--k], this[k] = this[j], this[j] = x
}
return this;
};
543デフォルトの名無しさん
2017/12/24(日) 15:45:14.80ID:A3ERayLu あとは整形しよう
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k);
x = this[--k];
this[k] = this[j];
this[j] = x;
}
return this;
};
そしてforではなくwhile使ったりと普通の書き方に書き直す
Array.prototype.shuffle = function() {
var k = this.length;
while(k) {
var j = Math.floor(Math.random() * k);
k--;
var x = this[k];
this[k] = this[j];
this[j] = x;
}
return this;
};
Array.prototype.shuffle = function() {
var j, x, k = this.length;
for(; k;) {
j = Math.floor(Math.random() * k);
x = this[--k];
this[k] = this[j];
this[j] = x;
}
return this;
};
そしてforではなくwhile使ったりと普通の書き方に書き直す
Array.prototype.shuffle = function() {
var k = this.length;
while(k) {
var j = Math.floor(Math.random() * k);
k--;
var x = this[k];
this[k] = this[j];
this[j] = x;
}
return this;
};
544デフォルトの名無しさん
2017/12/24(日) 16:00:39.17ID:A3ERayLu ES6使った最新の書き方だとこうなるかな
Array.prototype.shuffle = function() {
for (let i = this.length; i > 0; i--) {
const a = i - 1;
const b = Math.floor(Math.random() * i);
[this[a], this[b]] = [this[b], this[a]];
}
return this;
};
console.log([0,1,2,3,4,5,6,7,8,9].shuffle());
そしてlodashにはshuffle関数は用意されてるので何も作る必要はないw
https://lodash.com/docs/4.17.4#shuffle
Array.prototype.shuffle = function() {
for (let i = this.length; i > 0; i--) {
const a = i - 1;
const b = Math.floor(Math.random() * i);
[this[a], this[b]] = [this[b], this[a]];
}
return this;
};
console.log([0,1,2,3,4,5,6,7,8,9].shuffle());
そしてlodashにはshuffle関数は用意されてるので何も作る必要はないw
https://lodash.com/docs/4.17.4#shuffle
545540
2017/12/24(日) 16:21:10.56ID:o8ETW9H4546デフォルトの名無しさん
2017/12/24(日) 16:40:02.32ID:Aqm+dg8E その実装のは破壊的、lodashのは非破壊的、別もの
547デフォルトの名無しさん
2017/12/25(月) 12:00:33.73ID:4sWgRikP shuffleだけのためにlodashを使うのは、徒歩30秒の距離で車を使うようなもの
548デフォルトの名無しさん
2017/12/25(月) 12:13:26.06ID:f+SL+sZc 別に誰もそれだけの為に導入しろと言ってる訳ではなかろう
549デフォルトの名無しさん
2017/12/25(月) 20:32:26.17ID:A5UkwOIg550デフォルトの名無しさん
2017/12/26(火) 04:19:36.08ID:TqP2PjCC 今回は仕事でデバッグするわけじゃないんだから可動性は関係ない
勉強では可読性は時間をかけてほぐせばいいだけ
ただ初心者はアルゴリズムの理解力がないからどのみち他人のコードを読むのは辛いのが当たり前
勉強では可読性は時間をかけてほぐせばいいだけ
ただ初心者はアルゴリズムの理解力がないからどのみち他人のコードを読むのは辛いのが当たり前
551デフォルトの名無しさん
2017/12/26(火) 13:57:09.06ID:92mUXoN6 youtube player api で動画を再生しているdivの画像を取得
(youtube動画のフレーム画像を取得)
する方法はありますか?
(youtube動画のフレーム画像を取得)
する方法はありますか?
552デフォルトの名無しさん
2017/12/26(火) 16:08:36.57ID:jvaXshWl >>550
アルゴリズムどころか基本的な文法で詰まってるだけじゃん
アルゴリズムどころか基本的な文法で詰まってるだけじゃん
553デフォルトの名無しさん
2017/12/26(火) 18:26:24.24ID:rRAcDTGz 素人なりに firefox の addon を書いている最中なのですが
それに適した質問スレなどはありますか
このスレが最適でしょうか
それに適した質問スレなどはありますか
このスレが最適でしょうか
554デフォルトの名無しさん
2017/12/26(火) 21:25:20.55ID:TqP2PjCC 今の拡張機能界はChromeベースのがWeb標準になって
Firefox/Edgeもそれとかなりの互換性持ってるから
ここで聞いても答えてくれやすいと思うよ
結構難しいAPIも多いしね
Firefox/Edgeもそれとかなりの互換性持ってるから
ここで聞いても答えてくれやすいと思うよ
結構難しいAPIも多いしね
555デフォルトの名無しさん
2017/12/26(火) 22:47:46.06ID:q5h+DApT556デフォルトの名無しさん
2017/12/27(水) 09:48:28.06ID:F3frNi7j557デフォルトの名無しさん
2017/12/28(木) 12:36:05.48ID:YvqDgyTx イマドキのJavaScriptの書き方2018
https://qiita.com/shibukawa/items/19ab5c381bbb2e09d0d9
これの「辞書・ハッシュ用途はオブジェクトではなくてMapを使う」
っていうところですが、
オブジェクトをハッシュとして使うことのデメリットなんて実際上ないし、
Mapの書き方の方がイケてないと思うのですが、どうなのでしょうか?
特にMapオブジェクト生成時に、キーと値を配列で渡しているのが気になります
そもそもオブジェクトをハッシュとして使うというアイデアからJSONが生まれて
JSONが現在も広く使われているのに、
わざわざMapに書き換えるのってアホくさいと思います
そうですね?
https://qiita.com/shibukawa/items/19ab5c381bbb2e09d0d9
これの「辞書・ハッシュ用途はオブジェクトではなくてMapを使う」
っていうところですが、
オブジェクトをハッシュとして使うことのデメリットなんて実際上ないし、
Mapの書き方の方がイケてないと思うのですが、どうなのでしょうか?
特にMapオブジェクト生成時に、キーと値を配列で渡しているのが気になります
そもそもオブジェクトをハッシュとして使うというアイデアからJSONが生まれて
JSONが現在も広く使われているのに、
わざわざMapに書き換えるのってアホくさいと思います
そうですね?
558デフォルトの名無しさん
2017/12/28(木) 12:46:33.55ID:I2ZsYrio559デフォルトの名無しさん
2017/12/28(木) 12:54:46.38ID:YvqDgyTx >>558
オブジェクトをMapに書き換えるメリットって本当にありますか?
オブジェクトをMapに書き換えるメリットって本当にありますか?
560デフォルトの名無しさん
2017/12/28(木) 12:54:48.29ID:E7wukrMJ わからないからゴミクズと呼ばれる
561デフォルトの名無しさん
2017/12/28(木) 13:09:05.03ID:YvqDgyTx オブジェクトではキーと値の一対一の対応が明確なのに
Mapオブジェクトを使う方法ではそこここに配列が介在していて
そのあたりがぼやけています
これはハッシュ専用のオブジェクトを使うというアリバイだけのために
支払うコストとしては多すぎます
そうですね?
>>560
ハーゲ
Mapオブジェクトを使う方法ではそこここに配列が介在していて
そのあたりがぼやけています
これはハッシュ専用のオブジェクトを使うというアリバイだけのために
支払うコストとしては多すぎます
そうですね?
>>560
ハーゲ
562デフォルトの名無しさん
2017/12/28(木) 15:00:20.01ID:vjcxarUk Mapはキーが文字列じゃなくてもOK
563デフォルトの名無しさん
2017/12/28(木) 16:16:29.91ID:YvqDgyTx なるほど
それはオブジェクトにはないメリットですね
用途によっては適所がありそうです
ありがとうございました
それはオブジェクトにはないメリットですね
用途によっては適所がありそうです
ありがとうございました
564デフォルトの名無しさん
2017/12/28(木) 18:15:58.45ID:EahqhR5N565デフォルトの名無しさん
2017/12/28(木) 20:42:21.94ID:E7wukrMJ 本当にゴミクズ ドキュメントに書いてある事を指摘されて
「なるほど」
生きている価値がない
「なるほど」
生きている価値がない
566デフォルトの名無しさん
2017/12/28(木) 20:45:46.92ID:E7wukrMJ567デフォルトの名無しさん
2017/12/28(木) 21:27:26.25ID:MFN1+dHK >>566
相変わらすハゲですね〜
オブジェクトをハッシュとして使ってきた用法に関しては
依然としてオブジェクトの方がいいと思いますよ
ただMapにはMapの使い道がある、と言っているのです
分かりますね?
相変わらすハゲですね〜
オブジェクトをハッシュとして使ってきた用法に関しては
依然としてオブジェクトの方がいいと思いますよ
ただMapにはMapの使い道がある、と言っているのです
分かりますね?
■ このスレッドは過去ログ倉庫に格納されています
