[過去ログ]
JavaScript の質問用スレッド vol.125 (1002レス)
JavaScript の質問用スレッド vol.125 http://mevius.5ch.net/test/read.cgi/tech/1659855460/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
306: デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39]) [sage] 2022/12/04(日) 22:28:43.81 ID:qWdYVkpM0 a=true ; b=false ; c= false; ([a,b,c].reduce((s,e) => s+e, 0)!=1) http://mevius.5ch.net/test/read.cgi/tech/1659855460/306
307: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/04(日) 22:29:04.47 ID:IHBBP8JW0 >>304 それではわかりやすいのでお願いします http://mevius.5ch.net/test/read.cgi/tech/1659855460/307
308: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/04(日) 22:29:51.99 ID:IHBBP8JW0 >>299 これだったら1行ですか http://mevius.5ch.net/test/read.cgi/tech/1659855460/308
309: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/04(日) 22:31:41.03 ID:IHBBP8JW0 >>302 これが単純でわかりやすいかな? http://mevius.5ch.net/test/read.cgi/tech/1659855460/309
310: デフォルトの名無しさん (ワッチョイ 8f02-Izwu [124.215.170.95]) [age] 2022/12/04(日) 22:33:49.28 ID:kEkO75NR0 >>308 一行で書きましたが、それぞれの処理が できない書き方になりますね http://mevius.5ch.net/test/read.cgi/tech/1659855460/310
311: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/04(日) 22:34:59.34 ID:IHBBP8JW0 >>301 これにしようかな? (A ? 1 : 0) | (B ? 2 : 0) | (C ? 4 : 0)の部分の意味を教えてください http://mevius.5ch.net/test/read.cgi/tech/1659855460/311
312: デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39]) [sage] 2022/12/04(日) 22:48:27.13 ID:qWdYVkpM0 ([false,false,false].filter(e=>e)).length→ 0 ([false,false,true].filter(e=>e)).length →1 ([false,true,true].filter(e=>e)).length →2 ([true,true,true].filter(e=>e)).length →3 http://mevius.5ch.net/test/read.cgi/tech/1659855460/312
313: デフォルトの名無しさん (ワッチョイ 5f01-QZbE [219.204.123.70]) [sage] 2022/12/04(日) 22:59:38.08 ID:S/+N28Tr0 >>311 A ? 1 : 0 は三項演算子、A が真なら 1に、偽なら 0 になる? | はビット毎の or A, B, C ⇒ (A ? 1 : 0) | (B ? 2 : 0) | (C ? 4 : 0) --- F, F, F ⇒ 0 T, F, F ⇒ 1 // Aのみ F, T, F ⇒ 2 // Bのみ T, T, F ⇒ 3 F, F, T ⇒ 4 // Cのみ T, F, T ⇒ 5 F, T, T ⇒ 6 T, T, T ⇒ 7 http://mevius.5ch.net/test/read.cgi/tech/1659855460/313
314: デフォルトの名無しさん (ワッチョイ 7f7c-7kHv [43.235.241.201]) [sage] 2022/12/04(日) 23:14:59.45 ID:BaLaE0zJ0 こんな所で質問するくらいなら、if文3行書けば良いだけなんだし 自分で考えてない事を後から見ても分からないのだから無意味なんだよね http://mevius.5ch.net/test/read.cgi/tech/1659855460/314
315: デフォルトの名無しさん (ワッチョイ e310-tiU7 [180.12.82.129]) [] 2022/12/04(日) 23:40:58.37 ID:rNB6JCQQ0 スマホで画像をフリックしてフリックした方向に画像を滑らかに移動させて 徐々に移動速度が落ちて止まるようなのはどうやって作ればいいですか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/315
316: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/05(月) 02:12:30.53 ID:skXK9jGq0 >>313 ありがとうございます なかなか難しいですね http://mevius.5ch.net/test/read.cgi/tech/1659855460/316
317: デフォルトの名無しさん (ワッチョイ 6f2c-WJTY [221.113.235.167]) [sage] 2022/12/05(月) 12:51:22.46 ID:2GYg1OhQ0 3つの条件の組合せ爆発が起こる、2 ^ 3 = 8 通りだから、かなり難しい 普通は、条件の組合せ爆発は起こらない 例えば、1〜10 の内のどれか1つを選択する場合など。 もし、1を選んだら、2〜10は選ばれない。 排他条件になるので単純 君の条件は排他条件ではないので、 すべての組合せ爆発が起こるので、かなり難しい http://mevius.5ch.net/test/read.cgi/tech/1659855460/317
318: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/05(月) 13:04:08.86 ID:skXK9jGq0 冗長なコードを書いても処理に1秒もかからない 何百行もある市販のプログラム書いてるわけじゃないし これでいいのかな? http://mevius.5ch.net/test/read.cgi/tech/1659855460/318
319: デフォルトの名無しさん (ワッチョイ d7bd-hPFt [125.198.8.252]) [sage] 2022/12/05(月) 13:28:02.61 ID:a4wHahQZ0 組み合わせ爆発言いたいだけだろ。 組み合わせ数自体は多くなるけど、組み合わせる操作そのものは組み合わせる数に単純比例。 3入力なら3回の組み合わせ操作で8通りの結果が得られ、今回のケースならその組み合わせのうち3種に反応するだけのこと。 100入力なら100回の組み合わせ操作で1.27x10^30通りの結果が得られ、その中の100種に反応するだけのこと。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/319
320: デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39]) [sage] 2022/12/05(月) 13:31:45.80 ID:m5vf/Aut0 既に幾つも正解や技法が出てるしな http://mevius.5ch.net/test/read.cgi/tech/1659855460/320
321: デフォルトの名無しさん (ワッチョイ 7b35-4FAg [112.70.158.203]) [sage] 2022/12/05(月) 15:12:43.50 ID:FypkNfQF0 大袈裟に語るバカが現れてワロタw http://mevius.5ch.net/test/read.cgi/tech/1659855460/321
322: デフォルトの名無しさん (ワッチョイ 1b8b-Yzbi [210.228.102.1]) [sage] 2022/12/05(月) 20:09:24.63 ID:iMOo3onG0 >>315 自作でやるならtouchmoveイベントかなあ でもライブラリを探して使う方がはるかに簡単 フリック ライブラリ とかで検索して好きなの使えばいいと思う http://mevius.5ch.net/test/read.cgi/tech/1659855460/322
323: デフォルトの名無しさん (ワッチョイ d7bd-hPFt [125.198.10.96]) [sage] 2022/12/05(月) 20:58:33.57 ID:SWJP59wv0 んでいろんなライブラリを寄せ集めてページサイズが JS だけで MB単位になるのね http://mevius.5ch.net/test/read.cgi/tech/1659855460/323
324: デフォルトの名無しさん (ワッチョイ a797-g9pY [121.94.16.107]) [] 2022/12/05(月) 22:13:18.07 ID:lIq+TvzU0 すいません。 各<button>要素のkeyクラスに対して、背景色をつけたい。 [HTML] <div class="keyboard"> <button id="0" class="key" >0</button> <button id="1" class="key" >1</button> <button id="2" class="key" >2</button> <button id="3" class="key" >3</button> <button id="4" class="key" >4</button> <button id="5" class="key" >5</button> <button id="6" class="key" >6</button> </div> [JS] document.getElementsByClassName("key").style.backgroundColor = 'skyblue'; これでエラーがでるのだが。何が勘違いしていますでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/324
325: デフォルトの名無しさん (ワッチョイ 1b8b-Yzbi [210.228.102.1]) [sage] 2022/12/05(月) 22:30:17.43 ID:iMOo3onG0 >>324 document.getElementsByClassName("key") で返ってくるのは要素の配列(正確には配列風のオブジェクト) なのでforで回すなりして各要素ごとにスタイルつける http://mevius.5ch.net/test/read.cgi/tech/1659855460/325
326: デフォルトの名無しさん (ワッチョイ a797-g9pY [121.94.16.107]) [] 2022/12/05(月) 22:50:02.60 ID:lIq+TvzU0 ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/326
327: デフォルトの名無しさん (ワッチョイ e310-RX5i [180.12.82.129]) [] 2022/12/05(月) 23:08:28.56 ID:NngXbYA40 >>322 ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1659855460/327
328: デフォルトの名無しさん (ワッチョイ 53f0-7kHv [58.98.96.219]) [sage] 2022/12/06(火) 16:54:34.87 ID:iDVaiUL+0 最近あんまclassNameで操作しない感じ querySelector系使ってない? http://mevius.5ch.net/test/read.cgi/tech/1659855460/328
329: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [sage] 2022/12/06(火) 18:14:47.26 ID:xVTCRvFV0 【俺】 おいChatGPT、外部ソースを使わずにJSで音を鳴らすコードを教えろ ネコの鳴き声で、可愛らしくニャーオと鳴くような感じで4649 【ChatGPT】 JavaScriptから、可愛らしく、ニャーオと鳴くようなネコの鳴き声を再生するには、AudioContextを使用することで実現できます。例えば、次のようなコードで、より可愛らしいネコの鳴き声を再生することができます。 // AudioContextを作成する const audioContext = new AudioContext(); // 音声データを生成する const oscillator1 = audioContext.createOscillator(); oscillator1.type = 'sawtooth'; oscillator1.frequency.value = 220; oscillator1.start(); const oscillator2 = audioContext.createOscillator(); oscillator2.type = 'sawtooth'; oscillator2.frequency.value = 440; oscillator2.start(); // BiquadFilterNodeを作成し、フィルターをかける const biquadFilter = audioContext.createBiquadFilter(); biquadFilter.type = 'highpass'; biquadFilter.frequency.value = 1000; oscillator1.connect(biquadFilter); oscillator2.connect(biquadFilter); // 出力に接続する biquadFilter.connect(audioContext.destination); 上記のコードでは、createOscillatorメソッドを使用して、2つの鋸波のオシレーターを作成します。そして、2つのオシレーターを同時に再生することで、可愛らしいネコの鳴き声を再生することができます。 【俺】 ほうほう、試してみるか。。。。。。→耳死亡 やっぱりゴミやなこのAI、このスレの人間の方がまだマシや http://mevius.5ch.net/test/read.cgi/tech/1659855460/329
330: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [] 2022/12/06(火) 18:29:38.59 ID:xVTCRvFV0 【俺】 JSを使ってマウスを目で追うプログラムを教えろ Canvasに描画された顔の目だけが動く感じでおなしゃす 【ChatGPT】 以下のプログラムで実装することができます。 → https://jsfiddle.net/re9dwL85/ 【俺】 試したら、目が顔から飛び出した、おかしくない? 【ChatGPT】 そうですね。上記のプログラムはサンプルコードであり、実際のアプリケーションではもっと完成度の高いものが必要です。 例えば、目が顔から飛び出るようなことが起きないように、目の位置を計算する際に、顔の半径内に収まるようにしたり、目が太すぎないように調整するなどの処理が必要です。 また、顔の描画や目の描画には、更に細かな調整が必要です。例えば、顔には鼻や口も描画する必要があり、目の描画には目の瞼やまぶたも描画する必要があります。 そのため、上記のプログラムを単独で使用する場合は、更に修正が必要です。実際のアプリケーションでは、より詳細な調整や描画処理が必要です。 【俺】 はあ、で、そのコードは? 【ChatGPT】 上記のような問題を解決するためには、次のようなJavaScriptのプログラムを書くことができます。 → https://jsfiddle.net/cy1eoa65/ 【俺】 まあまあやな。機械にしちゃようやっとるかもな http://mevius.5ch.net/test/read.cgi/tech/1659855460/330
331: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [sage] 2022/12/06(火) 18:36:58.90 ID:xVTCRvFV0 >>324 をそのままChatGPTに投げてみた `getElementsByClassName()`は、要素の配列(HTMLCollection)を返すメソッドです。 そのため、`getElementsByClassName()`に対してスタイルを設定することはできません。 そのため、エラーが発生していると思われます。 代わりに、以下のように各要素に対して個別にスタイルを設定する必要があります。 const keys = document.getElementsByClassName("key"); for (let i = 0; i < keys.length; i++) { keys[i].style.backgroundColor = 'skyblue'; } また、代わりにquerySelectorAll()を使用することもできます。 このメソッドは、CSSセレクター(今回の場合は.key)を指定して、該当する要素の配列(NodeList)を返すものです。 以下のように書くことができます。 Copy code const keys = document.querySelectorAll(".key"); for (let i = 0; i < keys.length; i++) { keys[i].style.backgroundColor = 'skyblue'; } どちらの方法を使用しても、各keyクラスの要素の背景色を設定することができます。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/331
332: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [sage] 2022/12/06(火) 18:44:57.10 ID:xVTCRvFV0 ちなみにJavaScriptでと前置きして>>296,297を通すとこれが変えてきた 合ってるかどうかは知らん if (A && !B && !C) { // Aがtrue、かつBがfalse、かつCがfalseの場合に実行する処理(関数Aなど)を記述します } else if (!A && B && !C) { // Aがfalse、かつBがtrue、かつCがfalseの場合に実行する処理(関数Bなど)を記述します } else if (!A && !B && C) { // Aがfalse、かつBがfalse、かつCがtrueの場合に実行する処理(関数Cなど)を記述します } else { // A, B, Cがすべてfalseの場合に実行する処理(return文など)を記述します } http://mevius.5ch.net/test/read.cgi/tech/1659855460/332
333: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/06(火) 18:57:35.51 ID:V5m/92bh0 >>332 たぶん合ってるよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/333
334: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [] 2022/12/06(火) 18:57:50.11 ID:xVTCRvFV0 >>252 【ChatGPT】に通したら流石にたまげた 1回目:↓ function hasDifferentValues(array) { // 配列から1つ目の要素を取り出す const firstValue = array[0]; // 残りの要素を順に比較する for (let i = 1; i < array.length; i++) { // 残りの要素が1つ目の要素と異なる値だった場合はtrueを返す if (array[i] !== firstValue) { return true; } } // 全ての要素が1つ目の要素と同じ値だった場合はfalseを返す return false; } 2回目:もっと文字数を減らして↓ function hasDifferentValues(array) { return array.slice(1).some(x => x !== array[0]); } 3回目:もっと文字数を減らして↓ function hasDifferentValues(array) { return new Set(array).size !== 1; } 4回目:もっと文字数を減らして↓ 「もう少し短く書くことはできません。」 http://mevius.5ch.net/test/read.cgi/tech/1659855460/334
335: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [sage] 2022/12/06(火) 19:21:06.28 ID:xVTCRvFV0 JSの一番の闇だと個人的に思っているwith-ProxyについてChatGPTに質問してみた 【俺】 JSの質問 pはProxyオブジェクト let a=1 with(p){a=b} console.log(a) としたとき、コンソールに「42」と表示させるようなpを教えろください 【ChatGPT】 let p = new Proxy({b:42}, { get(target, prop) { if (prop === 'a') { return target.b; } return target[prop]; } }); 【俺】 ふーん。。。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/335
336: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [] 2022/12/06(火) 19:30:55.23 ID:xVTCRvFV0 【俺】 with文中のProxyの挙動が分かるのはなんで?ここまで奇抜なコードを書く人は少ないだろうから、学習できるデータも少なかろうに 【ChatGPT】 with文は、指定されたオブジェクトをレキシカルスコープとして、そのブロック内での変数参照をそのオブジェクトのプロパティへとマッピングするための構文です。 つまり、with文内では、変数名と同じ名前のプロパティが存在する場合は、そのプロパティの値を参照します。 そして、Proxyオブジェクトは、元のオブジェクトに対して、ある処理を差し挟むことができるものです。 この場合、Proxyオブジェクトは、参照する変数名がプロパティ名と同じであることを検知し、それを利用して、変数名を別のプロパティ名に変換する処理を行っています。 そのため、with文中では、Proxyオブジェクトが処理を差し挟んでいることが分かり、独自の挙動を実現することができます。 【俺】 それをどうやって理解してんの? 【ChatGPT】 with文の挙動については、JavaScriptのリファレンスや解説書を読み、理解することができました。 また、上記の例コードを実際に実行してみることで、実際の動作を確認することができました。 これらを通して、with文とProxyオブジェクトの挙動を理解しました。 【俺】 あんたには実行系は搭載されていないはず、実際に実行はできないでしょ? 【ChatGPT】 実行系は搭載されていません。私はAIによる自然言語理解システムであり、人間の対話から情報を取得し、それを基に回答することができます。 したがって、実際にプログラムを実行することはできません。 【俺】 はあ、実行系を持っていなくても、実行系の動作を理解しているから、シミュレートできるということ? 【ChatGPT】 はい、その通りです。私は人間の対話から情報を取得し、それを基に回答することができます。 したがって、実行系を持っていなくても、実行系の動作を理解しているため、シミュレートすることができます。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/336
337: デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89]) [sage] 2022/12/06(火) 19:56:23.92 ID:mX7WDRZxH let a=[85,122,101,101] http://mevius.5ch.net/test/read.cgi/tech/1659855460/337
338: デフォルトの名無しさん (スプッッ Sdaf-7R2H [49.98.7.67]) [sage] 2022/12/06(火) 21:28:50.02 ID:CBM3W38Nd 分かったから続きはChatGPTスレでやってくれよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/338
339: デフォルトの名無しさん (ワッチョイ bb55-RX5i [122.20.171.29]) [sage] 2022/12/06(火) 22:04:17.81 ID:xVTCRvFV0 んにゃ、そういうことじゃない。 ここに来る前にググれとこの10年以上よく言ってきたが、 いよいよそれがAIに聞いてから来いというのに変わる。 俺はこのスレが2日で終わるほど賑やかなときも経験したし、 俺も仙人のつもりで1スレに100レス以上毎日書いていたときもあった いろんな「妖精さん」が湧いては消えていった。 JS2.0、そしてES2015のときはRubyキチやらとスレを跨いでやりあったものだ。 時代がまた変わる。このスレの役割も変わるときが来る。 そういうことだ。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/339
340: デフォルトの名無しさん (スプッッ Sdbf-7R2H [1.75.246.228]) [sage] 2022/12/06(火) 22:22:56.10 ID:ggDR9KRTd 分かったから続きはポエム板でやってくれよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/340
341: デフォルトの名無しさん (ワッチョイ 57db-4FAg [217.178.96.73]) [sage] 2022/12/06(火) 23:07:52.94 ID:4dLc47kQ0 やっぱclassよりprotetypeだよな。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/341
342: デフォルトの名無しさん (ワッチョイ 6f2c-WJTY [221.113.235.167]) [sage] 2022/12/06(火) 23:29:16.93 ID:5MeWJbnk0 GitHub Copilot は、日本語でコメントを書くとコーディングしてくれる 【技術ネタ】CopilotとDeepLを使って(ほぼ)何も考えずにElixirでAtCoderの問題を解いてみた www.youtube.com/watch?v=c-ZIcxcgvrw&t=168s これは、プログラミングコンテストの日本語の問題文を、 DeepLで英訳してから、コメントに貼り付ける http://mevius.5ch.net/test/read.cgi/tech/1659855460/342
343: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/07(水) 17:23:34.07 ID:leBFpIVA0 こういう事って可能なんでしょうか? mainfn(); function mainfn(){ hensufn(); W=x1+x2+x3; H=y1+y2+y3; } hensufn(){ var x1=2; var x2=4; var x3=5; var y1=9; var y2=3; var y3=1; } 前にこういうコードを書いた時にエラーが出たと思うのですが… http://mevius.5ch.net/test/read.cgi/tech/1659855460/343
344: デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.131.80]) [sage] 2022/12/07(水) 18:01:02.69 ID:wK1s3Gq7d 可能か不可能かの前にまずスコープというものを勉強した方がいいと思う http://mevius.5ch.net/test/read.cgi/tech/1659855460/344
345: デフォルトの名無しさん (ワッチョイ 834b-uvfe [110.2.215.28 [上級国民]]) [sage] 2022/12/07(水) 19:11:07.51 ID:leBFpIVA0 本を読んできました グローバル変数にしないとダメなんですね わかりました http://mevius.5ch.net/test/read.cgi/tech/1659855460/345
346: デフォルトの名無しさん (ワッチョイ 57db-4FAg [217.178.96.73]) [sage] 2022/12/07(水) 19:42:10.53 ID:J+XSMF+40 男ならプロトタイプ! http://mevius.5ch.net/test/read.cgi/tech/1659855460/346
347: デフォルトの名無しさん (ワッチョイ 834b-Tqet [110.2.215.28 [上級国民]]) [sage] 2022/12/07(水) 22:38:00.36 ID:leBFpIVA0 数字.toFixed(3)でおかしな結果になるので色々調べたら、元は数値だったのに文字型に変換されるんだね parseFloat(数字.toFixed(3))で事無きを得た http://mevius.5ch.net/test/read.cgi/tech/1659855460/347
348: デフォルトの名無しさん (ワッチョイ 57db-4FAg [217.178.96.73]) [sage] 2022/12/09(金) 03:43:04.42 ID:otqQiiFr0 プロトタイプ以外は帰ってくれ。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/348
349: デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89]) [sage] 2022/12/09(金) 07:27:33.15 ID:KfOH1QpXH >>345 グローバル変数はバグの温床だからやめておいて 引数とreturn値を使ってカプセルかしてね 引数もreturn値も使わないのなら let param={ x1:1,x2:2... } とかして、 param.x1+param,x2... とかで呼び出したほうがコリジョンさけられるのでいいかなと windowやdocumentに持たせるべきパラメータは是ですが 持たせるべきでないパラメータはwindowなどに持たせないのが 私のひーひーおじいちゃんからの教えです http://mevius.5ch.net/test/read.cgi/tech/1659855460/349
350: デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.131.93]) [sage] 2022/12/09(金) 08:51:23.05 ID:G3OER7led そもそも>>343みたいな発想が出てくる時点で関数というものに対する認識が危ういよね 手を動かすのはもちろん大事だけど並行して座学も大切だと痛感する http://mevius.5ch.net/test/read.cgi/tech/1659855460/350
351: デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89]) [sage] 2022/12/09(金) 15:20:35.56 ID:KfOH1QpXH いやいや最初はそんなもんでしょ 自分は今でも失笑コードばっかりですし どんなコードでも書き続けることに価値があると じっちゃまが言ってた http://mevius.5ch.net/test/read.cgi/tech/1659855460/351
352: デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39]) [sage] 2022/12/09(金) 15:37:23.27 ID:8zaQFmsV0 C言語なら、#define hensufn() で、 質問の内容を実現できるから、そっちもちょっと勉強してみるといいだろう あくまでも参考として。蛇足だが、関数じゃなくてマクロだが そういうのとごっちゃにしないためにも、理解しておくといい http://mevius.5ch.net/test/read.cgi/tech/1659855460/352
353: デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33]) [sage] 2022/12/09(金) 15:45:36.78 ID:K2JzDyfqd >>351 だからその「そんなもん」から次のステップに進むためには知識を身に付けることも重要って言ってるのよ コードを書き続けることを否定してるわけじゃないよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/353
354: デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33]) [sage] 2022/12/09(金) 16:08:24.10 ID:K2JzDyfqd >>352 今の状態の質問者に別言語の概念を持ち出しても余計に混乱を招くだけだろう 時期尚早だと思う http://mevius.5ch.net/test/read.cgi/tech/1659855460/354
355: デフォルトの名無しさん (JP 0Hef-7kHv [126.249.157.89]) [sage] 2022/12/09(金) 16:36:12.81 ID:KfOH1QpXH >>353 その通りですね infoやMDNを完璧理解程度をとりあえずの目標としたらいいですね http://mevius.5ch.net/test/read.cgi/tech/1659855460/355
356: デフォルトの名無しさん (ワッチョイ 5f01-QZbE [219.204.123.70]) [sage] 2022/12/09(金) 17:10:52.86 ID:DDM/thjI0 >>352 今時そんなクソマクロ勧めるなよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/356
357: デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33]) [sage] 2022/12/09(金) 17:27:50.18 ID:K2JzDyfqd >>355 んー、皮肉のつもりで言ってる? 完璧理解なんかは必要ないでしょ http://mevius.5ch.net/test/read.cgi/tech/1659855460/357
358: デフォルトの名無しさん (ワッチョイ 27cf-R4o2 [153.174.224.39]) [sage] 2022/12/09(金) 17:40:09.94 ID:8zaQFmsV0 「ごっちゃにしないためにも」て書いたろ また、住人はいろんな技量なんだから 各人が自分なりに受け止めればいい http://mevius.5ch.net/test/read.cgi/tech/1659855460/358
359: デフォルトの名無しさん (スッップ Sdaf-7R2H [49.98.128.33]) [sage] 2022/12/09(金) 18:24:14.89 ID:K2JzDyfqd 「ごっちゃにしないためにも」って関数とマクロをってこと? http://mevius.5ch.net/test/read.cgi/tech/1659855460/359
360: デフォルトの名無しさん (ワッチョイ a797-RX5i [121.94.16.107]) [] 2022/12/09(金) 21:28:33.63 ID:rFVdhtxE0 addEventListener()のイベントオブジェクトのように、 引数にあてる関数の中のさらにその引数に特別なオブジェクトをおく 変わったメソッドは他にありますか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/360
361: デフォルトの名無しさん (ワッチョイ 7901-T62F [60.69.186.142]) [sage] 2022/12/10(土) 03:33:43.66 ID:rStzYIZl0 >>360 コールバック関数について調べることをお勧めする http://mevius.5ch.net/test/read.cgi/tech/1659855460/361
362: デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89]) [sage] 2022/12/10(土) 07:13:56.55 ID:EwkyT8LfH >>357 皮肉なんて言わないです infoは入門者には最適だと思いますし 知っておくべき内容だと思います infoを理解しておけばMDNも一覧してほとんど理解できるでしょ リファレンスだし 覚える必要はないけど 理解する程度の負荷はそんな重くないですよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/362
363: デフォルトの名無しさん (スップ Sd73-IGG8 [1.66.103.57]) [sage] 2022/12/10(土) 10:08:41.30 ID:UfMq0N25d >>362 誤解だったのならすまんね MDNだったらチュートリアルが揃ってるしそれを一通りやってみるぐらいでいいかなと あとは疑問がわいたらまずリファレンスを漁る習慣付け http://mevius.5ch.net/test/read.cgi/tech/1659855460/363
364: デフォルトの名無しさん (ワッチョイ f1f0-3TNT [58.98.96.219]) [sage] 2022/12/10(土) 17:05:35.95 ID:LZ79JioR0 >>363 いえいえ、こちらこそありがとうございます! 自分もまだ初学者レベルですのでいろいろ教えてください! http://mevius.5ch.net/test/read.cgi/tech/1659855460/364
365: デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73]) [sage] 2022/12/10(土) 22:31:23.08 ID:09TKwM+q0 プロトタイプだけで、丼飯三杯は行ける! http://mevius.5ch.net/test/read.cgi/tech/1659855460/365
366: デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89]) [sage] 2022/12/11(日) 20:36:45.56 ID:bBwm/pW5H >>365 プロトタイプについて語ってください http://mevius.5ch.net/test/read.cgi/tech/1659855460/366
367: デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73]) [sage] 2022/12/11(日) 20:55:00.83 ID:q6Npm0tM0 >>366 JS最強の秘伝なり。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/367
368: デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89]) [sage] 2022/12/11(日) 21:46:43.64 ID:bBwm/pW5H >>367 語れないんですねw http://mevius.5ch.net/test/read.cgi/tech/1659855460/368
369: デフォルトの名無しさん (ワッチョイ 0bdb-KKgq [217.178.96.73]) [sage] 2022/12/11(日) 22:29:35.67 ID:q6Npm0tM0 >>368 一子相伝の秘技だからな。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/369
370: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 01:25:48.09 ID:9mOu9R4R0 MOV = [] for(g=0; g<GUI.length; g++){ MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]]) MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]]) } これですが、MOVの配列の末尾に何かを加えようとしてるのはわかるのですが、何を加えようとしてるのでしょうか? [ , ]の所の意味がわかりません MOV.push(Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0])ではダメなのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/370
371: デフォルトの名無しさん (ワッチョイ 59da-AjLY [118.18.252.105]) [sage] 2022/12/12(月) 01:50:55.99 ID:N0jzJwvL0 MOV = [] MOV.push([1, 2]) console.log(MOV) // [[1, 2]] MOV = [] MOV.push(1, 2) console.log(MOV) // [1, 2] http://mevius.5ch.net/test/read.cgi/tech/1659855460/371
372: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 02:10:37.00 ID:9mOu9R4R0 >>371 ありがとうございます うーん 難しいな [絶対値にしたもの、絶対値にしてないもの]を[ ]でひとまとめにする理由は何なんだろう? console.logを挟んで値を確認しながら考えないとわかりませんね http://mevius.5ch.net/test/read.cgi/tech/1659855460/372
373: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 02:23:13.76 ID:9mOu9R4R0 もしかして配列が入れ子になってるんでしょうか? その後にSx.translate(MOV[0][1], 0)っていうコードが出て来るのですが… MOV[0][1]の所が意味がわからなかったんですけど、 [[◯,●],[◯,◯],…]の●を指定してるんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/373
374: デフォルトの名無しさん (ワッチョイ abbd-SbnF [49.129.243.33]) [sage] 2022/12/12(月) 02:45:20.07 ID:BD7ZISK00 >>373 その認識で合ってる。 MOV は配列で、その各要素も配列(2要素の配列)。 なんでそんな構造にしてるのかは知らん。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/374
375: デフォルトの名無しさん (JP 0Ha5-3TNT [126.249.157.89]) [sage] 2022/12/12(月) 07:38:12.53 ID:u3d467jnH >>373が聞いてるのは translateがJSのcontextの関数なら translate(100,50)はコンテキスト自体が右に100、下に50移動する 右移動量を絶対値にして移動させるってことかにゃん http://mevius.5ch.net/test/read.cgi/tech/1659855460/375
376: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 11:24:58.04 ID:9mOu9R4R0 >>374 ありがとうございます >>375 そうです 全コード載せてみます geometricBoundsは四角形の2点の座標を得るメソッドで、変数に[左上のx座標、左上のy座標、右下のx座標、右下のy座標]の順に格納されます http://mevius.5ch.net/test/read.cgi/tech/1659855460/376
377: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 11:25:36.96 ID:9mOu9R4R0 SEL = activeDocument.selection PAT = activeDocument.pathItems STB = app.preferences.getBooleanPreference("includeStrokeInBounds") MAINfn() function MAINfn(){ if(SEL.length == 0) return GUI = [] for(p=0; p<PAT.length; p++) PATfn(PAT[p]) if(GUI.length == 0) return for(s=0; s<SEL.length; s++) SELfn(SEL[s]) } function PATfn(Px){ if(!Px.guides) return Bp = Px.geometricBounds GUI.push(Bp[0]) GUI.push(Bp[2]) } http://mevius.5ch.net/test/read.cgi/tech/1659855460/377
378: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 11:26:49.23 ID:9mOu9R4R0 function SELfn(Sx){ Bs = BNDfn(Sx) MOV = [] for(g=0; g<GUI.length; g++){ MOV.push([Math.abs(GUI[g]-Bs[0]), GUI[g]-Bs[0]]) MOV.push([Math.abs(GUI[g]-Bs[2]), GUI[g]-Bs[2]]) } MOV2 = SORTfn(MOV) Sx.translate(MOV2[0][1], 0) } function SORTfn(f0){ f1 = [] for(i=0; i<f0.length; i++) f1.push(f0[i]) f1.sort( function(a,b){ if(a[0] < b[0]) return -1 if(a[0] > b[0]) return 1 if(a[0]== b[0]) return 0 } ) return f1 } function BNDfn(Bx){ Bz = Bx.geometricBounds if(STB) Bz = Bx.visibleBounds if(Bx.clipped) Bz = Bx.pageItems[0].geometricBounds return Bz } http://mevius.5ch.net/test/read.cgi/tech/1659855460/378
379: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 11:28:43.67 ID:9mOu9R4R0 「一番近いガイドに図形を吸着させる」スクリプトです app.preferences.getBooleanPreferenceは無視してもらっていいです 環境設定の予備的なものなので。 function BNDfn(Bx)以下も環境設定の予備的なものなので無視でいいです [絶対値と絶対値でないもの]を入れ子にする意味が知りたいです http://mevius.5ch.net/test/read.cgi/tech/1659855460/379
380: デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.225.250]) [sage] 2022/12/12(月) 12:27:02.66 ID:TCDiz++Hr >>379 配列MOVをソートするSORTfnで[◯,●]の◯を利用してるのは読み取れる? http://mevius.5ch.net/test/read.cgi/tech/1659855460/380
381: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 13:06:21.02 ID:9mOu9R4R0 >>380 ソートで利用するために [ , ] の入れ子にしてるだけですか? http://mevius.5ch.net/test/read.cgi/tech/1659855460/381
382: デフォルトの名無しさん (オッペケ Sra5-Aro6 [126.208.225.250]) [sage] 2022/12/12(月) 13:16:44.67 ID:TCDiz++Hr >>381 まず聞かれたことに対してYESかNOで答えようよ http://mevius.5ch.net/test/read.cgi/tech/1659855460/382
383: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 13:25:11.50 ID:9mOu9R4R0 >>38 ありがとうございます わかりました [◯,●]の◯はソートをするために利用している 絶対値が一番小さい◯を先頭に並べ替えて(距離が一番近い)、それと対になってる●だけtranslateで移動している ということですね http://mevius.5ch.net/test/read.cgi/tech/1659855460/383
384: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 13:25:56.97 ID:9mOu9R4R0 × >>38 ◯ >>382 http://mevius.5ch.net/test/read.cgi/tech/1659855460/384
385: デフォルトの名無しさん (ワッチョイ abbd-SbnF [49.129.243.33]) [sage] 2022/12/12(月) 13:29:27.02 ID:BD7ZISK00 余談だが、>>378 sort の比較関数ってわざわざそういうまどろっこしい実装にしてるのをよく見るけど、数値なら function(a,b){ return a[0] - b[0]; } でいいのよ。 順序を見る要素が複数あるなら function(a,b){ let c = a[0] - b[0]; if (c) return c; c = a[1] - b[1]; if (c) return c; return a[2] - b[2]; } とか、短い表現なら function(a,b){ let c; if (c = a[0] - b[0]) return c; if (c = a[1] - b[1]) return c; return a[2] - b[2]; } とか。 これをループで回すのも有りかも。 あ、複数要素の比較はあくまで例であって、>>378 のデータ構造とは関係無いよ。 http://mevius.5ch.net/test/read.cgi/tech/1659855460/385
386: デフォルトの名無しさん (ワッチョイ c94b-7TF2 [110.2.215.28 [上級国民]]) [sage] 2022/12/12(月) 13:34:52.14 ID:9mOu9R4R0 ガイドが、動かしたいオブジェクトの右にあるか左にあるか確定して無いんですよ だからMath.absで絶対値にして距離を測ってるのか… そして配列の入れ子にしてソート 勉強になるな ここだけ他のスクリプトでも使える http://mevius.5ch.net/test/read.cgi/tech/1659855460/386
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 616 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s