スレ立てるまでもない質問はここで 153匹目

■ このスレッドは過去ログ倉庫に格納されています
2020/04/06(月) 12:04:45.73ID:xHCNmW/7
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。

前スレ
スレ立てるまでもない質問はここで 152匹目
https://mevius.5ch.net/test/read.cgi/tech/1573214616/
前々スレ
スレ立てるまでもない質問はここで 151匹目
https://mevius.5ch.net/test/read.cgi/tech/1541239698/

注意「〜と〜はどっちの方が○いですか?」みたいなのは
このスレの粘着荒らしですので無視してください
2020/05/01(金) 17:02:33.50ID:B6h2L+/0
こんなのを見ると気が狂うぞ。

requests.add(new Request().setUpdateSheetProperties(new UpdateSheetPropertiesRequest().setFields("Title").setProperties(new SheetProperties().setSheetId(2).setTitle("New Title"))));
2020/05/01(金) 17:29:26.29ID:w2KFZwBF
>>206
Bracket Pair Colorizerじゃないの
2020/05/01(金) 17:50:53.91ID:XmUvZ7vC
>>207
行数が少ないから偉いと勘違いしてる奴が
ドヤ顔で詰め込んで書いて可読性悪くなる
2020/05/01(金) 17:54:20.48ID:MAb7POSs
>>207
Scalaもこんな感じだよね
2020/05/01(金) 18:19:20.58ID:OY68HIg0
近頃のエディタはインデントをきれいに書き直してくれるとか
かっこの中を非表示にしてくれるとか
そういう機能は使わないの?
2020/05/01(金) 18:30:44.13ID:MRwpjfur
)
→いいね!

))
→このぐらい普通だよね!

)))
→もっと良い方法あるかも!

))))
→うーん

)))))
→あー
2020/05/01(金) 18:45:31.79ID:cfnM4waS
>>207
俺は横80行に収める かつ 行数が少ない方が偉い派だからこう書くだろうな
何言語か知らんけど、型が必要ならもう一行長くしないといけないかもな
横80行という制約を設ければ、行数が少ないは正義だよ

ps = new SheetProperties().setSheetId(2).setTitle("New Title");
ps = new UpdateSheetPropertiesRequest().setFields("Title").setProperties(ps);
requests.add(new Request().setUpdateSheetProperties(ps));
2020/05/01(金) 19:06:25.69ID:xXuuls7c
JSONは人間に優しかったのか

const request = {
updateSheetProperties: {
fields: 'Title',
properties: {
sheetId: '2',
title: 'New Title',
}
}
};
215デフォルトの名無しさん
垢版 |
2020/05/01(金) 19:13:24.31ID:+DHzH5tv
JSONて?
映画13日の金曜日に出るやつ?
2020/05/01(金) 19:15:21.67ID:Cu2wxRHO
>>214
そりゃそうだろ?もともとはJavaScriptで
「人間が読み書きする」ソースコードだぞ
2020/05/01(金) 19:20:55.01ID:Cu2wxRHO
短いコードの方が良いって言うと、一行が長すぎるやつとか
変数関数名を意味がわからないほど短くして反論してくるバカが多いので
最近は少ない論理行(LLOC)の方が良いって言うことにしてる
極論いうバカはバカらしく論理行という言葉を知らんのでこれで黙らせられる
2020/05/01(金) 19:24:52.19ID:OdEj4JKH
>>217
論理行って…C 言語でいうところの副作用完了点で区切られると理解していいでしょうか?
2020/05/01(金) 19:37:27.79ID:xYZKq+fd
>>218
論理行の定義は色々あるが、
同じ定義で比べたときに短いほうが良い
2020/05/01(金) 19:37:58.05ID:iVbl5C0v
とあるリストがあり、50個ずつ小分けにループさせたい場合はどうループさせるのが効率的ですか?
2020/05/01(金) 19:40:59.44ID:/wCIrHyk
>>219
あなたの推奨する論理行の定義を教えてください、私は >>218 を想定しています
2020/05/01(金) 19:41:01.83ID:txiwXjh+
デバッガで確認したりする必要がでた時を考えると、
繋げて書くスタイルはバカだろと思う
2020/05/01(金) 19:42:00.29ID:xYZKq+fd
>>221
それでいいよ
2020/05/01(金) 19:44:32.26ID:xYZKq+fd
>>222
本当に言いたいのは「関数の戻り値は絶対に変数に入れてから使え」なのでは?
例えば、 foo(bar()) 禁止 ってことでしょう?
2020/05/01(金) 19:49:00.00ID:xYZKq+fd
>>222
ふと思ったんだけどさ、あんたgitとかバージョン管理ツール使ってる?
使ってない気がするw
2020/05/01(金) 20:04:46.14ID:G8jCLL5C
C#で動いている自作ソフトの特定フラグが立ったことを、ExcelVBAで検知してマクロを走らせるとかって可能でしょうか
2020/05/01(金) 20:12:27.61ID:XmUvZ7vC
>>212
それくらいLispじゃ日常茶飯事だぜ!
2020/05/01(金) 20:18:49.06ID:IfCDjmiP
>>193
インタプリタ系の処理系は自分で書いてもネイティブで実装されている標準搭載のメソッドに
敵わないので作れば解決するとは限らない

>>194
普段はRuby使っているし同意だけど搭載率はPythonが圧倒的だし
配布も考慮するとそうも言ってられないのが悩ましいです
2020/05/01(金) 20:34:25.74ID:LSu1FLlW
>>228
普通のプログラマならこんなところで延々と聞かずに自分で調べるかサクッと自作するよ
2020/05/01(金) 20:45:11.18ID:XmUvZ7vC
>>228
いやそりゃ速度が足りない場合もあるだろうが
その場合はもっと早い言語で書くとか
また別の対処をするだけでしょ
2020/05/01(金) 20:58:47.35ID:txiwXjh+
>>225
gitでgit-flow信者だけど何か?
なんでバージョン管理の話に繋がるのか理解できていない
2020/05/01(金) 21:02:23.48ID:txiwXjh+
>>224
端的にそう
繋げて書く奴のコードって、なんで動いてたんだというバグの山
障害が出るたびの尻拭いで、いちいちいちいちステップイン
渡ってくるor返している変数を確認してデバッグ
まともにコーディングできんのかと
2020/05/01(金) 21:06:16.86ID:Ng4zB38N
じゃあテストコードを書いてないのかな?
テストコード書いてればそんな「値を直接使ってる所」で調べたりしないでしょ
関数の呼び出しが正しいか単体のテストコードでテストしてるわけだから
動作がおかしければ関数単体で調べる
2020/05/01(金) 21:23:44.89ID:txiwXjh+
>>233
大手一部上場の企業の仕事とかばかりやらされてるけど、なぜだかカバレッジとか単体テスト提案しても却下
どうしてもテスト項目書いてそれに沿ってやれと
網羅率とかガバガバ
なんでなんだろうね

自分のコードでは単体テスト書いてるけど、納品物件にいれようとすると止められる
こないだやったMの系列の仕事で、うん十年で初めて単体テストコードとカバレッジ率が納品対象になってたんで大喜び
2020/05/01(金) 21:27:34.79ID:txiwXjh+
>>233
んで、どっかのヴァカの書いたプログラムの障害対応とかの仕事も多いんだけど
インデントがたがたコメントでたらめ
繋げて書く癖に関数はどういうことか数百行
そんなコードをメンテナンスさせられてウンザリなの
わかる?
2020/05/01(金) 21:32:30.27ID:Ng4zB38N
ざまぁw
2020/05/01(金) 21:34:22.46ID:xXuuls7c
>>232
いちいちステップインしてデバッグしなきゃいけない状況に陥ってるのがおかしいだけで
その真の原因はメソッドチェーンではないと思うぞ
パイプライン処理を全否定してたら老害扱いされても仕方ない

>>207のはGoogleさんのAPIがいけてない上に
必要以上につなげて書いてるから悪い例なのは間違いないけどね
2020/05/01(金) 21:43:57.84ID:txiwXjh+
>>237
安定性(のための保守性)>>>>>速度
信者なんだ
速度指標が要求仕様に登ってる案件もいまだかって一件しかない(通信制御プログラム)
2020/05/01(金) 22:09:48.64ID:txiwXjh+
>>237
>その真の原因はメソッドチェーンではないと思うぞ
ふーん、ストリームAPIもまともに使えない癖に使いたがる人のせいだね
おまけに、それって本当に速い?
副問い合わせで一個の巨大なスパゲッティSQL書く奴みたい
テンポラリテーブルあるDBMSなんだからと書き直したら爆速になったりしてね
うん、歳を取ると愚痴が多いな
2020/05/01(金) 22:32:47.55ID:Ng4zB38N
> 使いたがる人のせいだね
他人のせい

> それって本当に速い?
根拠なく疑う

> 書く奴みたい
関係ないものに例えて批判したつもり

> 爆速になったりしてね
根拠もなく勝利宣言

> 歳を取ると愚痴が多いな
歳のせい
2020/05/01(金) 22:39:13.74ID:sDXNjCsM
>>240
なにこれデュエットソングの歌詞?
2020/05/01(金) 23:25:33.28ID:Lij+RjkU
>>241
>>239が早口で言ってるところに>>240がバックコーラスを重ねてくるのを想像してしまったw
243206
垢版 |
2020/05/02(土) 05:55:57.00ID:KJskOYTt
>>206
修正
indent-rainbow ではなく、Bracket Pair Colorizer でした!

>>195
Unity のスレは、ゲーム製作技術板にある

>>207
Ruby, JavaScript, jQuery, Kotlin などで使う、メソッドチェーンだろ。
処理の区切りで、適度に改行すれば良いだけ

単に、それを書いた個人が悪いだけ。
普通は、そういう書き方はしない

それか、Webpack みたいなツールで圧縮してるのかも

普通は、こう
a()
.b()

a()
.x() # git でも追加箇所がよくわかる
.b()
2020/05/02(土) 06:17:14.02ID:3oPJdjgA
ギチギチ一行詰め込みマンは実在するがな
関数型で頭が良い書き方だと思ってるから
長い一行を隙あれば多用するし圧縮もする

まあワンライナーの書き捨てならともかく
大規模なプログラムでそんな書き方したら
メンテナンスがしにくい害の方が大きい罠
2020/05/02(土) 06:18:15.77ID:nkPqW+JC
そういう極論を言うアホがいるから、
俺は論理行が短いほうが正義だと言ってる
2020/05/02(土) 06:20:57.28ID:nkPqW+JC
カンマまで区切って横に並べればいいのに、こんなふうに書くアホもいるからな
単純なルールに従えば見やすいと勘違いしてる
その場に応じて見やすい書き方ができないアホ


a = [
 1,
 2,
 3,
 5,
 7,
 11,
 13,
 17,
 :
 :
 :
 :
 :
 :
 :
];
2020/05/02(土) 12:02:55.58ID:EKcaj7fz
だから極端なのがバカだと言ってるんだろ
2020/05/02(土) 15:20:50.11ID:nkPqW+JC
コードが縦に長くなるときのデメリットは
スクロールしなければ見えなくなること

行数を短くすれば一覧性が上がる
それだけで十分なメリットが有る
249デフォルトの名無しさん
垢版 |
2020/05/02(土) 16:01:23.55ID:riUeVpMT
https://www.youtube.com/channel/UCoRxcaATU1N9QdXXgmQLBFQ

このふるちゃんという女の子が超絶にかわいいのだけど
このYoutuberってなにもの?
2020/05/02(土) 16:03:51.21ID:qaLUfmHY
>>249
グロ
スパム
251デフォルトの名無しさん
垢版 |
2020/05/02(土) 16:35:24.09ID:riUeVpMT
>>250
コラ。
オレは本気で質問したんだ。
252デフォルトの名無しさん
垢版 |
2020/05/02(土) 16:36:54.35ID:riUeVpMT
でも顔出しはプロフィールの小さめの写真1枚のみ。
他にない?
もしかしてこれが奇跡の一枚なの?
2020/05/02(土) 18:53:46.45ID:J0v6qtNR
妄想レビューとかスレ違いとかキチガイの巣窟か
2020/05/03(日) 02:32:58.17ID:iUz5SSRj
>>220
具体的にやりたいことと言語がわからないけどsublistやchunkedメソッドでビューに対して処理すれば効率的かつすっきり書けるかもね
255デフォルトの名無しさん
垢版 |
2020/05/03(日) 12:34:57.06ID:zajIy9nA
>>251
グロではないけど
SPAM同然だとは言える
ステマなら消えろ
2020/05/03(日) 13:05:16.32ID:h2xkjK2t
C言語の勉強をしているものです。
Hello Worldレベルのプログラムしか作ったことないレベルです。

printf出力のされかたで、普通の変数と配列の変数で、
下記の@とAで違いがあり、モヤっとしたものを感じております。

@は理解しました。 "&"を付けるとアドレスを指すことになる。 
しかし、Aが理解できません。 "&"を付けなくてもアドレスが表示できます。
もしかして、配列の変数はポインタ?を指しているのでしょうか。
ポインタ変数の場合 "*"を付けると聞いたことがあるのですが、裏でそういう設定になっていて、
私たちは"*"を省略して使っているだけということなのでしょうか?

@
int data=5;
prinff("dataに代入した値を表示=%x\n", data);
printf("dataの参照アドレスを表示=%x\n, &data);

A
int box[2]={1};
prinff("dataの参照アドレスを表示=%x\n", data);
2020/05/03(日) 13:08:33.93ID:lJOP9iuf
>>256
K&R読めとしか
配列はポインタの糖衣構文、だというような事が明記されてた記憶がある
2020/05/03(日) 13:26:49.08ID:h2xkjK2t
>>257
ありがとうございます。
糖衣構文って言葉があるんですね。これをもとに調べてみます。
int〜とかそういうのも元を辿っていけば、何かで定義されているから簡単に使えるのかもしれないですね…。

配列の時はこう使う、ポインタのときはこう使うって感覚で覚えるしかなさそうですね。
259デフォルトの名無しさん
垢版 |
2020/05/03(日) 13:54:17.69ID:VkK7EFZv
>>256
>@
x: printf("dataの参照アドレスを表示=%x\n, &data);
o: printf("dataの参照アドレスを表示=%p\n, &data);
260デフォルトの名無しさん
垢版 |
2020/05/03(日) 13:55:40.34ID:VkK7EFZv
>>256
>A
prinff("dataの参照アドレスを表示=%p\n", box);
prinff("dataの参照アドレスを表示=%p\n", &box[0]);
261デフォルトの名無しさん
垢版 |
2020/05/03(日) 14:26:18.11ID:6bIDtXpC
>>256
配列は配列変数名だけ書くとその配列の先頭を指すポインタになるという規則があるの。そういう特別扱いをしているだけ。
2020/05/03(日) 14:35:50.95ID:zpY+Khfl
>>257
配列とポインタは別物だぞ

配列をポインタとして扱える状況だったり
関数の引数定義のように配列とポインタが等価になる特殊な状況があるだけ
2020/05/03(日) 14:50:56.39ID:Cw/bmdZu
>>256
一種のCの例外でしょうね
通常は変数名で変数の実態または総体を表します、これは構造体・共用体であっても同じです
struct _a a;
struct _b b;
b = a:
しかし、配列だけは、配列名は配列のアドレスを表すことになっています、配列の場合だけの例外です
2020/05/03(日) 15:37:31.90ID:2hdRjZho
>>256
まずCよりモダンな言語ならポインタとか出てこないね
でもそこはCを勉強しないといけない事情があるとして

ポインタと配列が等価に見える場合を理解するには
変数が箱だとして配列は箱が並んでる状態をイメージする

ポインタはメモリの番地なんでポインタの値の増減が
そのまま配列の番号に並ぶことになるというわけ
265デフォルトの名無しさん
垢版 |
2020/05/03(日) 17:20:35.22ID:VkK7EFZv
箱の大きさも注意
266デフォルトの名無しさん
垢版 |
2020/05/03(日) 18:46:04.75ID:Ek7hs+w0
箱の比喩は強力すぎて危険だ

「変数とは箱です」と説明されてない教科書は存在しないんじゃないか?
それほどまでにIT業界に根付いてしまっている視覚的文学的比喩だ

Javaの本ともなると「変数は箱」から始まって、クラスでは箱にアンテナ付いてるヘンな絵まで登場する
2020/05/03(日) 18:53:58.70ID:lJOP9iuf
>>262
んー、そうだったかな?
ポインタと異なりスタックに領域確保する機能があるんだからそうかも?
ともかくarr[n]は*(arr+n)と等価だよ、とは書いてあったはず

K&R(緑も赤も)も見つからないわ…
268デフォルトの名無しさん
垢版 |
2020/05/03(日) 19:37:39.76ID:cVVrQdBT
配列にはサイズがある
配列のポインタをインクリメントするとサイズ分移動する
2020/05/03(日) 19:44:18.42ID:Cw/bmdZu
>>268
1行目と2行目で「サイズ」の言葉の意味が違っていませんか?
2020/05/03(日) 19:45:09.88ID:Cw/bmdZu
>>267
配列は「定数ポインタ」とみなすのが簡潔でいいかと
2020/05/03(日) 20:17:34.09ID:ioRfHtLv
OCamlで行列の計算ってやりやすい?
272256
垢版 |
2020/05/03(日) 23:56:07.87ID:h2xkjK2t
みなさんありがとうございました。 おかげで頭のモヤモヤが消えました。
"prinff("dataの参照アドレスを表示=%p\n", box);"のboxは、
配列の先頭アドレス"&box[0]"を表示する決まり(特別扱い)ってことだったんですね。

また、色々値を変えて観察した結果、ポインタ変数⊃配列っていう印象を受けました。
ポインタ変数 値:*value、値の参照アドレス:value、値の参照アドレスの参照アドレス:&value
配列変数   値:value[0]、値の参照アドレス:&value[0](=value)、値の参照アドレスの参照アドレス:なし
上記のポインタ変数の「&value」に該当するものが、配列変数には存在しなかったので…。(混乱させてしまったらごめんなさい。)
2020/05/04(月) 00:10:07.92ID:/+Y0lm/w
ここでポインタのアドレスもよく使うよ
とか言い出したら大混乱するんだろうな
2020/05/04(月) 01:34:41.40ID:5cnG9VE4
ポインタのポインタとか
++ とか、-> とか
2020/05/04(月) 02:17:10.76ID:R/PLl+Gn
こういう言語の専門的なことは、

このスレよりも、C のスレで質問してください!
276デフォルトの名無しさん
垢版 |
2020/05/04(月) 06:19:58.33ID:cW7r2vkx
訳・・・わたしの答えられない質問はしないでください!
277275
垢版 |
2020/05/04(月) 07:19:15.58ID:R/PLl+Gn
詳説 Cポインタ、2013、オライリー・ジャパン

漏れは、この本も読んでるから、皆が疑問に思うようなことは、当然知ってる。
人が変わっても、同じ質問・回答が繰り返されるだけw

このスレよりも、C のスレでやった方がよい

次には、ヌル文字・\0と、null と、空文字列の違いが分かりませんとかw
2020/05/04(月) 08:06:44.27ID:u0BszB7B
回答じゃない知識自慢は要らん
2020/05/04(月) 08:44:18.76ID:ExXTcvJK
これを見てnullとかを学べ
https://i.imgur.com/I0g9hNk.jpg
2020/05/04(月) 09:10:37.31ID:xCaPkE7P
>>275
他人のスレチを指摘する前に、お前自身がRuby禁止のスレでRubyを書くのをやめろ
281デフォルトの名無しさん
垢版 |
2020/05/04(月) 11:26:41.47ID:mShckTAJ
>>269
配列にはサイズがある
配列の要素にもサイズがある
配列のポインタをインクリメントするとサイズ分移動する
282デフォルトの名無しさん
垢版 |
2020/05/04(月) 11:28:46.99ID:mShckTAJ
>>272
関数のポインタもよろすく
2020/05/04(月) 13:11:18.15ID:7QD1dgDV
>>281
>>269
「配列にはサイズがある」のサイズと
「配列のポインタをインクリメントするとサイズ分移動する」のサイズ
は同じものですか?
2020/05/04(月) 13:17:17.01ID:4jqVsk17
Cなんてウンコみたいな翻訳本の解読してる暇があったら
デバッガ起動してアセンブラモードに切り替えて
どこのアドレスに対して読み書きしてるのかをチェックしたほうがはるかに効率的かつ正確に学習できる
2020/05/04(月) 14:50:29.24ID:onT2Ykn/
質問です。

C言語のrealloc();って返り値の番地が違ったらfree必須でしたっけ?
2020/05/04(月) 15:41:47.30ID:qaZOEB5A
>>285
ちょっと調べたらreallocは規格ごとに仕様の変遷が激しすぎる
cライブラリってホント糞
reallocを使うのは止めておいたほうがいいという発言をしたい
さすがに過激すぎるとは自分でも思うけど

車輪屋が多すぎるから、自分でも車輪を開発してもいいんじゃない?
2020/05/04(月) 15:53:27.65ID:i+rlN5Yv
質問です

第三次世界大戦が起きたときなどにIT分野の戦力として赤紙が届いて欲しいのですが

どんな能力があればそういう招集に選ばれますか?ソフトウェア開発スキルよりネットワークとかに特化した方がいいですか?
288デフォルトの名無しさん
垢版 |
2020/05/04(月) 15:55:58.17ID:k2FsLwVs
>>279
うまい。保存してそこらじゅうで使おう。
2020/05/04(月) 16:02:20.63ID:au6sJ5VU
>>285
https://en.cppreference.com/w/c/memory/realloc
2020/05/04(月) 16:05:31.01ID:u0BszB7B
>>287
かりにもしそういう事態になったら
個人の能力よりも会社で選ばれると思うよ?

だってもしフリーランスですごい有能でも
国から見てその能力が分からんだろ?

結局初期に声が掛かるのは
IT系の大企業に属してる奴だと思うし
逆に大企業で有能だから免れる奴もいるだろう
2020/05/04(月) 16:12:07.36ID:VsyNhdi0
どっちかと言うと大企業だと管理するだけになるんじゃないのかなぁ

現場でハッキングしたりウイルス作ったりするのはフリーランスとか下請けになるんじゃね
2020/05/04(月) 16:14:24.87ID:7QD1dgDV
>>285
realloc() から返ってきたポインタは free() する必要があります
realloc() に渡したポインタは free() する必要はありません
ただ、realloc() が失敗して null を返す場合があるので、realloc() に渡すポインタは別途とっておかないと、リークします

>>286
それは本当ですか?realloc() にバリエーションはなかったと思いますが
上記の realloc() 失敗があるため例外との相性は悪いと記憶しています(ただ、昔苦しんだ記憶があるけれども、もう忘れてしまった…)
C++ には realloc() はなく、そうしたければ自分で書くしかないかと思います、realloc() を避ける立場は理解できます
293デフォルトの名無しさん
垢版 |
2020/05/04(月) 16:20:30.81ID:A6B6l9Um
「Objectオブジェクトは、すべてのオブジェクトの基本オブジェクトである」

↑これJavaScriptのある本に書いてあったのだけど、どういうこと?(ワラ
2020/05/04(月) 16:25:43.62ID:7QD1dgDV
>>293
たぶんすべてのクラスは Object クラスの派生クラスだ、といいたいのでしょうね、Javaspcript ってそうなんですか?
基本クラスという言葉は今いちですね…基底クラスというべきかも
2020/05/04(月) 17:19:06.66ID:qaZOEB5A
>>292
今回は多分関係ないけど、第二引数のサイズの取り扱いが変遷してるとのこと>reallocの怪

領域に関してはosdnのreallocなどのmanページでも
ptr が指す領域が移動されていた場合は free(ptr) が実行される。
とあるし、元の領域は解放される仕様でFAっぽい
2020/05/04(月) 17:24:54.57ID:qaZOEB5A
領域を拡大縮小って厄っぽい気がしたから、固定長領域を片方向リストで繋いで増やしてたなぁ
解放できないのに減るなんて場面無かったし
2020/05/04(月) 17:31:45.91ID:mMf7FxNU
>>295
>ptr が指す領域が移動されていた場合は free(ptr) が実行される。
>とあるし、元の領域は解放される仕様

すなわち >>292
>realloc() に渡したポインタは free() する必要はありません

ということですよ、すなわち realloc() に渡したポインタは、通常は free() される、これは昔からかわらないですよ

第一引数・ポインタが 0 のときは malloc() と等価
第二引数・確保サイズが 0 のときは free() と等価

というのは確かに変遷があるのかもしれません(そこまでは追求してませんでした)
2020/05/04(月) 19:18:55.50ID:S/+PcDsg
>>293-294
「オブジェクト指向のプログラム言語」の多くにおいて「オブジェクトとはクラスのインスタンスである」と言えるけど、JavaScriptではそうではない。
JavaScriptは多くの言語のクラスに相当する「実体は無い、定義だけをする」仕組みが存在しない。
JavaScriptにおいて、すべての基底であるObjectは、他の言語でいうインスタンスに相当する、Objectという実体だ。
そして他のあらゆる値はObjectを継承した値だ。

JavaScriptは2020年現在、ひじょうに普及している言語だが、言語仕様としてはかなり独特なので、他の言語と同じ用語であっても、
他の言語と同じ意味だとは限らないものと心得よ。
それを解決し、クラスという言葉を他の言語で言うクラスと同じ意味として使いたいのなら、TypeScriptをやりなさい。」
2020/05/04(月) 19:31:38.33ID:u0BszB7B
一言でいうとJavaScriptは
プロトタイプベースの言語だよ
300デフォルトの名無しさん
垢版 |
2020/05/04(月) 19:49:10.57ID:Zdi/ARyL
>>298
よくわからない解説ありがとうございます。
よけいに混乱してさらに分からなくなりました。
2020/05/04(月) 20:07:10.32ID:eA9rrZ8d
>それを解決し、クラスという言葉を他の言語で言うクラスと同じ意味として使いたいのなら、TypeScriptをやりなさい。」

それ言うならES6。TypeScriptは関係ない。
302デフォルトの名無しさん
垢版 |
2020/05/04(月) 21:45:40.90ID:Zdi/ARyL
近年はJavaScriptにクラスの定義が完全武装されたと聞いたことかせあるけど本当?
303デフォルトの名無しさん
垢版 |
2020/05/04(月) 22:02:05.38ID:Zdi/ARyL
JavaScriptで関数が変数に代入できるとはどういうことだ?
わけがわからん。
Javaは一通りマスターしてものすごく体系的でスッキリしてるけどJavaScriptは気持ち悪すぎ。
まるで物理で光が粒でもあるし波でもあるという二重性のことを習ったときのように頭が混乱してる。

このへんの考え方について詳しくコツを教えていただけませんか?
2020/05/04(月) 22:16:06.47ID:au6sJ5VU
>>303
Javaでもラムダやメソッド参照で
関数を変数に代入したり
受け渡ししたりできるようになったでしょ
305デフォルトの名無しさん
垢版 |
2020/05/04(月) 22:18:50.38ID:Zdi/ARyL
>>304
知らん
2020/05/04(月) 22:44:47.93ID:0Qvuno/L
>>305
「Javaは一通りマスターして」いないウソツキなのはわかる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。