ふらっと C#,C♯,C#(初心者用) Part159at TECH
ふらっと C#,C♯,C#(初心者用) Part159 - 暇つぶし2ch92:デフォルトの名無しさん (ワッチョイ 1ae5-SjEv)
23/09/15 08:40:19.91 gNClSWSe0.net
そもそもそのまま出力っつってもどういう風に表示したいんだって
なんか区切り文字でも挟んで列挙表示したいならstring.Joinすればいいし

93:デフォルトの名無しさん (ラクッペペ MMb6-fp0Z)
23/09/15 10:08:15.57 KAFYnsRDM.net
プロパティの書き方ですけど
set { if (SetProperty(ref abc, value)) OnAbcChanged(); }
みたいなのを
set => SetProperty(ref abc, value) && OnAbcChanged();
みたいに書くことは出来ませんでしょうか?

94:デフォルトの名無しさん (ワッチョイ 5fc6-nrp9)
23/09/15 14:20:29.77 Yr6zZ4Cb0.net
こういう拡張メソッド書けなくはないが個人的には嬉しくもないな
public static void Then(this bool result, Action thenAction) { if (result) { thenAction(); } }

95:デフォルトの名無しさん (ワッチョイ f6c1-erq7)
23/09/15 17:13:51.63 bmvdZqUl0.net
>>92
すいません
int[,] ar = {
{0,0},{0,0}
}
このような配列だった場合、arをprintするとsystem.int32などとなります。
二重ループで取り出すと、0,0,0,0といった表示になります。
ただ、二次元配列の構造込みで表示されてほしいんです。
以下のようにです。
{0,0},{0,0}

96:デフォルトの名無しさん (スップ Sd5a-3qd5)
23/09/15 17:35:09.88 SHAtUljXd.net
C#のデータ構造の表記で出力したいって事ね
リフレクションでできるのかな?

97:デフォルトの名無しさん (ワッチョイ 1ae5-SjEv)
23/09/15 17:59:06.04 gNClSWSe0.net
リフレクションとかでできるのかなぁ?
ちょっとfor回して整形する手法しか思いつかないな……

98:デフォルトの名無しさん (ブーイモ MMba-JsEB)
23/09/15 18:23:06.20 3Kj2NktzM.net
次元数はRankで取れるけど
展開するのは大変だろうなぁ

99:デフォルトの名無しさん (ワッチョイ 5fc6-nrp9)
23/09/15 19:34:59.20 Yr6zZ4Cb0.net
標準には無いね
まあ単純なのを書く分には特に難しくなかった
URLリンク(dotnetfiddle.net)

100:デフォルトの名無しさん (ワッチョイ 76bc-SjEv)
23/09/15 21:11:44.63 5OfhXKjF0.net
普通に json 形式にエンコード-デコードじゃダメなの?

101:デフォルトの名無しさん (ワッチョイ 5fc6-nrp9)
23/09/15 21:26:49.61 Yr6zZ4Cb0.net
ジャグ配列じゃない多次元配列はJSONで直接表現できないからサポートしてるシリアライザも無いんじゃね

102:デフォルトの名無しさん (ワッチョイ 4e10-SjEv)
23/09/15 21:44:27.56 AtSWWojy0.net
[i, ]みたいなこともできないから結局ループ回すしかない

103:デフォルトの名無しさん (ワッチョイ ffc1-YZsW)
23/09/16 18:11:28.28 K2iszC6h0.net
ありがとうございます
c#だとサクッと出来る関数とかないんですね

104:デフォルトの名無しさん (ワッチョイ ffc1-YZsW)
23/09/16 18:47:11.29 K2iszC6h0.net
int[] map1 = {5,6,7,8,9};
void Start()
{
for (int i = map1.Length ; i > 0 ; i--)
{
print(map1[i]);
}

}

初歩的かと思うんですが、配列をリバースしてからプリントした処理をしたいです
テトリミノを回転させるときに必要になると思うので

しかし、このコードだと「Index Out Of Range Exception: Index was outside the bounds of the array.」というエラーになります

これはLengthが0からではなく、1から始まることが原因だと分かりました
なぜ1から始まるんでしょうか?

105:デフォルトの名無しさん (ワッチョイ 7f7b-NfV8)
23/09/16 18:52:58.19 wriwGaS80.net
>>104
要素の数が1つあれば長さは1

106:デフォルトの名無しさん (ワッチョイ 7f02-Owps)
23/09/16 20:16:45.88 zuTnTV8F0.net
配列は0から始まるから9を取り出したい場合はmap1[4]にしないといけない
>>104だとmap1[5]になるからエラーになる

107:デフォルトの名無しさん (オッペケ Sr23-NFpK)
23/09/16 21:04:19.96 73WlZ3+mr.net
>>104
>これはLengthが0からではなく、1から始まることが原因だと分かりました
その理解は正しくない
LengthとIndexがごっちゃになってるから区別を付けよう

108:デフォルトの名無しさん (ワッチョイ 3fe5-NfV8)
23/09/16 21:08:33.41 Ip3Nvo1w0.net
C#がどうたら以前の理解ができていないな

109:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/16 21:10:37.21 MJktIayi0.net
>>104
> Lengthが0からではなく、1から始まる
Lengthは0から始まるぞ
↓みたいなのはLength=0だ

int[] Val = new int[0];

110:デフォルトの名無しさん (ワッチョイ 0f01-lPYd)
23/09/16 22:16:10.70 ZYPI8Xfl0.net
皆最初はそんなもんだろ

111:デフォルトの名無しさん (スッップ Sd5f-+Ehs)
23/09/16 22:48:11.73 XdNh0KyJd.net
初心者以前の問題の気がする

112:デフォルトの名無しさん (ワッチョイ ff4a-Pa4f)
23/09/16 23:02:36.52 G9zf78j00.net
質問ですが、ファイルを読み書きするときにエラートラップは必要でしょうか
読み書きに失敗するということはHDDかSSDが破損しているということで
そのときにはもうWindows自体が正常に動作していないと思うので、必要ないような気もします

113:デフォルトの名無しさん (ワンミングク MM9f-+vE4)
23/09/16 23:11:29.35 7MGcbjMCM.net
>>112
馬鹿は消えろ

114:デフォルトの名無しさん (ワッチョイ 0f01-glYP)
23/09/16 23:30:53.20 OIYkBqeS0.net
なぜそのパターンしかないと決めつけられるんだろう
逆に不思議ではある

115:デフォルトの名無しさん (ワッチョイ 8f01-/OQc)
23/09/17 00:14:34.15 qd/UhSYf0.net
自分しか使わなくて、他に実害ないならエラートラップなんて不要
(手抜きで作業手間増えるのは自己責任)

116:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/17 08:04:35.75 FtFGic3I0.net
.NETつこてるんなら、ちっとはMSのドキュメントでファイルアクセス周りにExceptionの名前でも見てみればいいのに
そしたらどんな理由で起こりえるがもうちょっと解ろうにな

117:デフォルトの名無しさん (ワッチョイ ffc1-YZsW)
23/09/17 09:51:23.91 77Q3086C0.net
>>105
106
107
109
ありがとうございます
インデックスとレングスのズレを修正マス(*´ω`*)

118:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/17 10:16:09.40 FtFGic3I0.net
ズレを修正っていうか、インデックスとレングスのそれぞれの意味をちゃんと理解しなさい

もう随分古くて、いい加減使うのやめろよっていう言語だけど
インデックスがいくつから始まるか宣言の度にプログラマが決めれるような言語もあるんだよ

119:デフォルトの名無しさん (ワッチョイ ffc1-YZsW)
23/09/17 12:07:33.50 77Q3086C0.net
unityなのでC#使うしかない状態です。
そんな駄目な言語なんですか、、、?

120:デフォルトの名無しさん (アウアウアー Sa8f-glYP)
23/09/17 12:14:53.93 rXwl0OL+a.net
なんでこいつあぼーんになってるんだろうと思ったらVSスレにキショいAA書いてたやつと同一人物だったか

121:デフォルトの名無しさん (ワッチョイ 0fb3-8NHV)
23/09/17 19:40:35.56 CzaQXa1l0.net
unityがこのまま終了になるとunreal engineに人が流れる
となるとC#よりはC++を習得したほうがいいよね!って流れになる

122:デフォルトの名無しさん (ブーイモ MM4f-oAvq)
23/09/17 20:10:45.00 9h3D7Db8M.net
終了になると誰が言った?

123:デフォルトの名無しさん (ワッチョイ 3fe5-NfV8)
23/09/17 20:23:06.32 h6gc4udj0.net
欲をかいた結果みんなにそっぽ向かれたらどのみち終了だろ

124:デフォルトの名無しさん (ワッチョイ 7f02-3DZ2)
23/09/17 20:34:25.46 UBpNeHBP0.net
配列?と?から?を作りたいんだけど、ループさせる以外になにか方法ありますかね?

? string[] tmp = new string[5] { "A", "", "C", "", "E" };
?string[] tmp2 = new string[5] { "", "B", "", "D", "" };

?{ "A", "B", "C", "D", "E" };

125:デフォルトの名無しさん (ワッチョイ 0f01-7CbB)
23/09/17 20:50:35.55 q/XPERxS0.net
>>124
tmp.Zip(tmp2, (s, t) => s + t).ToArray()

126:デフォルトの名無しさん (ワッチョイ 4fc6-24Hy)
2023/09/17(�


127:�) 20:55:42.77 ID:WHWVIGUQ0.net



128:デフォルトの名無しさん (ワッチョイ 8f01-/OQc)
23/09/17 21:45:20.39 qd/UhSYf0.net
新命令増えてくると、何やってるかはわかるが、新規にその書き方をパッと思いつかない
漢字読めるけど書けない感じ

129:デフォルトの名無しさん (ワッチョイ 7f2d-Pa4f)
23/09/17 21:46:18.89 cFBaMdfw0.net
年だな

130:デフォルトの名無しさん (ワッチョイ 4fe4-ieJ7)
23/09/17 21:57:16.38 nKVQXP6B0.net
実務レベルでSQL操作するときってORMは使わないもんなの?
EntityFrameworkはそんなに使われてないってどこかの記事で見たんだけど実務だと生のSQL使ったほうがパフォーマンス的に良いとかあるんだろうか

131:デフォルトの名無しさん (JP 0Hbf-ORtG)
23/09/17 22:40:05.81 bD00FXRnH.net
自分に裁量があるときはEntityFrameworkを避けてDapper+ちょっとマイナーなSQL(CRUD)生成実行ライブラリを使うかなあ
EFのSaveChangesで更新という仕組みがいまだに好きになれない

132:デフォルトの名無しさん (ワッチョイ ffbc-NfV8)
23/09/17 23:05:51.32 iKQBGRoT0.net
SQL でも HTML でも自分で書かせてくれた方がずっと楽な気がするんだが。
環境に合わせて「ぼくの考えた最強のなんとか」をあれこれお勉強しなくてすむし。

133:デフォルトの名無しさん (アウアウウー Sa53-68M3)
23/09/17 23:52:53.62 3hfVWz4fa.net
Ruby on Rails では、ORM を使う。
SQL を直接書いたら、SQL injection される!

PHP は、必ずやられる

>>127
Ruby のEnumerable を見れば?
JavaScript のLoDash も、Rubyに合わせている

134:デフォルトの名無しさん (スッップ Sd5f-+Ehs)
23/09/18 00:00:53.08 ljzt2haMd.net
>>132
馬鹿は死ねよ

135:デフォルトの名無しさん (ワッチョイ 7f02-3DZ2)
23/09/18 01:01:47.03 OIJZ2Rx10.net
>>125-126
ありがとう!
LINQのZip使ったことなかった

136:デフォルトの名無しさん (ワッチョイ 3f74-oAvq)
23/09/18 09:07:12.63 cY6Rxg840.net
Unityは終了ですか?

137:デフォルトの名無しさん (アウアウウー Sa53-HRje)
23/09/18 10:38:10.38 +ud3D/1qa.net
>>131
ほんそれ
ORMのどこが良いんか

138:デフォルトの名無しさん (アウアウウー Sa53-HRje)
23/09/18 10:40:42.12 +ud3D/1qa.net
>>135
Unityは大盛況だよ
ただしム板のC#はUnity専用じゃないから
C#スレよりUnityスレ逝った方が良いと思う

139:デフォルトの名無しさん (ワッチョイ 8f8e-+Ehs)
23/09/18 13:45:40.55 BTbG+gI30.net
Unityが阿鼻叫喚なのを知らんのか

140:デフォルトの名無しさん (ワッチョイ 0f01-glYP)
23/09/18 14:44:54.98 t79kyTir0.net
乞食が騒いでるだけだろ 嫌なら使わなきゃいい
CentOSの騒ぎのときと近いものを感じる

141:デフォルトの名無しさん (ワッチョイ ff42-mUcE)
23/09/18 15:06:40.33 OMKnNCdl0.net
日和っているからじきに解決するんじゃね?
URLリンク(automaton-media.com)

142:デフォルトの名無しさん (アウアウウー Sa53-HRje)
23/09/18 15:06:46.43 +ud3D/1qa.net
いずれにせよマ板の話題
ム板のC#スレにはふさわしくない

143:デフォルトの名無しさん (ワッチョイ ff66-mbMR)
23/09/18 16:58:59.73 aZlcjabF0.net
下記の_Aからbを取り出すにはどうしたら良いでしょうか。
_A.bのように取り出せないかなと思ったのですがダメでした。
よろしくお願いします。

public class TestEnt
{
public string a { get; set; }
public string b { get; set; }
}

private void button1_Click(object sender, EventArgs e)
{
List<TestEnt> _test = new List<TestEnt>();
_test.Add(new TestEnt { a = "A", b = "c" });
_test.Add(new TestEnt { a = "AA", b = "q" });
_test.Add(new TestEnt { a = "AAA", b = "b" });
var _A = _test.Where(x => x.a == "AAA");

string _B = _A.b; //b = "b"を_Bに取り出したいです。
}

144:デフォルトの名無しさん (JP 0H13-63EM)
23/09/18 17:05:17.55 gcUPef1oH.net
string _B = _A.First().b;

145:デフォルトの名無しさん (JP 0H63-TSo4)
23/09/18 19:11:01.31 zZ35kUH+H.net
ダメだったらデバッグ中に中身を見ればよいではないか

146:デフォルトの名無しさん (オイコラミネオ MMc3-NfV8)
23/09/18 19:11:24.47 Q0H2wSm7M.net
どう考えてもUnity違い

147:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/18 19:16:20.12 +Bjket7x0.net
WhereじゃなくてFirstOrDefaultにして_A?.bにしとけ

148:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/18 19:18:18.13 +Bjket7x0.net
なんかちょっと見難いな
_A ? . b な

149:デフォルトの名無しさん (ワッチョイ ff66-mbMR)
23/09/18 19:41:40.45 aZlcjabF0.net
>string _B = _A.First().b;
>WhereじゃなくてFirstOrDefaultにして_A?.bにしとけ
0142ですが、共に期待する動作を確認できました。
ありがとうございます。

150:デフォルトの名無しさん (JP 0H33-NFpK)
23/09/18 21:24:40.51 aieef/EZH.net
LINQの結果をvarで受けるのが慣例になってるけど
初学者には型を明示しない弊害が大きいと思う

151:デフォルトの名無しさん (ワッチョイ 3f79-EhfR)
23/09/18 22:02:41.32 0fzBUpiq0.net
いきなりvarの是非議論をやるんだな?今ここで?

152:デフォルトの名無しさん (JP 0H33-NFpK)
23/09/18 22:20:11.45 aieef/EZH.net
やり�


153:ワせん



154:デフォルトの名無しさん (ワッチョイ cf80-Mp0W)
23/09/18 23:35:05.10 JnVo6+Sp0.net
全部dynamicで良いよ

155:デフォルトの名無しさん (ワッチョイ 0f01-glYP)
23/09/19 00:08:47.16 oqQfHpld0.net
今はvarでも型もうっすら表示してくれるじゃん
横に表示が長くなるから良し悪しだけど

156:デフォルトの名無しさん (ワッチョイ 8f01-/OQc)
23/09/19 06:53:27.47 iHKhfQgC0.net
>>153
マジっすか
後でソース見るとき、型判断するのに右の方見ないといけないのダルいときあるのよ
適宜var書き換えよ

157:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/19 07:16:48.91 dj1bo4Cu0.net
他の環境は知らないけどVisualStudioなら変数名のとこMouseHoverすれば型名出るでしょ

158:デフォルトの名無しさん (JP 0H13-TSo4)
23/09/19 09:27:14.82 J8HEnUr6H.net
>>155
ワイもそれ
逆に使い慣れない開発環境のときは無駄にイライラするw

159:デフォルトの名無しさん (ワッチョイ 3fd7-X4yw)
23/09/20 09:30:27.44 RzMk4JBe0.net
c#でwin/linuxのデスクトップアプリ作れるGUIフレームワーク緩く探してるんだけど今は何がおすすめですかね
1年くらい前に軽く探した感じだとavalonia,mauiあたりは新興すぎて開発途中っぽいしなあとかで
とりあえず他の開発で慣れてたunityでお茶を濁してました
MVC綺麗に分けるのだけじゃなくて、コードだけで画面作って小物サっと組むのもできたらいいなとか思ってます

160:デフォルトの名無しさん (ワッチョイ 7f7b-YZsW)
23/09/20 16:48:10.23 lL1Mt70W0.net
Avaloniaは順調に完成度上がってきてて
OSSあるあるでIME周りが残念だけど10.xの頃よりはマシにはなってきてるし、
個人的にだが小さいツール作る分には致命的なバグや仕様はないかなと思う
ドキュメントは少ないが、WPFの開発経験があればだいたい勘でイケる
逆に言うとWPF分かってないと辛いと思う
MAUIは知らん

161:デフォルトの名無しさん (ワッチョイ cf33-24Hy)
23/09/20 16:55:09.24 Jms37X630.net
.NET MAUIはLinuxデスクトップはターゲットでは無かった記憶が

162:デフォルトの名無しさん (ワッチョイ ff42-mUcE)
23/09/20 17:08:11.47 F9NO76aN0.net
忘れ去られたUNOってのが有ったな

163:デフォルトの名無しさん (ワッチョイ cfba-63EM)
23/09/20 18:58:03.67 46/WHX4g0.net
LinuxのMAUI待ってたけどもうPythonで作ってるわ

164:デフォルトの名無しさん (ワッチョイ 3f79-EhfR)
23/09/21 00:17:30.38 H7YqoNcR0.net
linuxのGUIって基礎から終わってて
その糞環境の上でまともなアプリが作られるモチベも湧くはずもなく
それに目を背けながらwebベースのUIばかりが作られていく
要するに関わるだけ時間の無駄

165:デフォルトの名無しさん (ワッチョイ cf01-9C00)
23/09/21 02:13:58.53 5L348Pt10.net
【根拠あり】フリーランスエンジニアは年収862万円取れて普通という話【高収入】
【こんな僕が】フリーランスエンジニアで月収100万円を達成した5つの方法
ITフリーランスエンジニアの年収|会社員との違いや独立後の案件の取り方
月収90万のITフリーランスプログラマー・SEが選んでる在宅案件はこんな案件です
フリーランスの年収は平均いくら?年収1000万円以上の割合とは
2021年最新版 エンジニアの平均年収はいくら?全体平均と比べて○○円も高い!

166:デフォルトの名無しさん (ワッチョイ 0fb3-8NHV)
23/09/21 02:43:37.97 XMO7pnIx0.net
C#はいろんなOSで動くらしいのですが、それはGUIを含みますか?
自分の環境LinuxMintにMonoDeveloperを入れているのですが
GUIはGtkが使用されています。
Gtkを使ったアプリは・・・WinddowsやMacでは動きませんよね?

167:デフォルトの名無しさん (ワッチョイ 7f10-NfV8)
23/09/21 06:42:10.78 3XorlWtQ0.net
LinuxのGUIが終わってるかは知らんけど
CUIでしか使ったことないな

168:デフォルトの名無しさん (ワッチョイ cf33-24Hy)
23/09/21 08:33:07.50 7PA5sZON0.net
>>164
WindowsやMacむけに移植されたgtkはあるよ
ただし、それぞれのプラットフォーム用に書いたコードがそのまま別のプラットフォームにもっていけるかどうかは知らんが

169:デフォルトの名無しさん (スップ Sddf-hHsn)
23/09/21 08:43:15.96 wSgShV8rd.net
なんちゃら互換は素のwinformより醜い代物が出てくると思ってる

170:デフォルトの名無しさん (ワッチョイ 4fae-YZsW)
23/09/21 09:05:36.59 y5scSkfl0.net
WinUI3で作ったアプリって、.net Frameworkしか入っていないPCでも動きますか?
WPFスレで聞いてみましたがスルーされてしまったので、よろしくお願いします

171:デフォルトの名無しさん (ワッチョイ 3fe5-NfV8)
23/09/21 09:37:42.63 Q4HvJVv+0.net
WinUI3はdotNET関係無いでしょ

172:デフォルトの名無しさん (ワッチョイ 8f52-Km9A)
23/09/21 12:19:51.86 Bhqy1kvF0.net
>>167
Winform自体はシンプルだぞ
醜い実装するからそう思うだけ

173:デフォルトの名無しさん (ワッチョイ 3fad-Pa4f)
23/09/21 12:26:21.20 N6Ncx53B0.net
UIがダサいって話じゃないの

174:デフォルトの名無しさん (スップ Sddf-hHsn)
23/09/21 13:04:21.71 wSgShV8rd.net
なんちゃらツールキット作ったGUIで表示されるコントロールって
うんこみたいなやつしか見た事ない

175:デフォルトの名無しさん (ワッチョイ 3f42-mUcE)
23/09/21 17:12:45.87 k97TlGtN0.net
>>168
WinUI3でストアに公開しなければ、unpaclagedってコンパイルしたバイナリフォルダの内容全てをコピーして実行させることになります
Windows10のアップデート済みのパソコンならそのまんま動くはず

176:デフォルトの名無しさん (オイコラミネオ MMc3-NfV8)
23/09/21 17:39:42.68 2p2oI5ZlM.net
WPFスレでそんな質問はないけどなw
普通に.net frameworkだけでは動かない
.Net6以降のみサポートだから
特殊なことをして動かせるかもしれないけどそんな質問してくる人間には無理だろう
C#使ったWinUI3はバイナリコピーして実行させても必要な.net coreのバージョンがインストールされてがないと落ちる
インストーラーを適切に作ると.net coreのバイナリをダウンロードしようとする

177:デフォルトの名無しさん (ワッチョイ 3f42-mUcE)
23/09/21 17:54:34.48 k97TlGtN0.net
>>174
URLリンク(tera1707.com)
この記事にあるように、csprjにフラグを設定するとバイナリフォルダに必要なランタイム一切合切もコピーされるので
それをそのまま持っていけば動く

178:デフォルトの名無しさん (オイコラミネオ MMc3-NfV8)
23/09/21 20:00:31.16 2p2oI5ZlM.net
>>175
フラグ設定しないとうまくいかないのか知らなかった
自分ところではずっと失敗してたんだ
多分この人が上の質問をしてるので何が何でも.NET6を使いたくないのだと思ってる
8 名前:デフォルトの名無しさん[] 投稿日:2023/09/20(水) 17:54:12.88 ID:jVfboGwk
WinUIって.NET6を入れずに使えますか?
VS2022のプロジェクトだと、.NET Frameworkが無くて.NET6になってしまいます

179:デフォルトの名無しさん (ワッチョイ 3f42-mUcE)
23/09/21 20:10:38.48 k97TlGtN0.net
>>176
Template studioにランタイム云々ってオプションがいつの間にか追加されていて
それをチェックしたらフラグがセットされてフラグの存在をそこで知った

180:デフォルトの名無しさん (オイコラミネオ MMc3-NfV8)
23/09/21 20:12:26.21 2p2oI5ZlM.net
ずっとVS2022のGUI操作してパッケージ作って失敗してを繰り返してた
自分がアホなのか仕組みが出来てないのか判断できないでいた

181:デフォルトの名無しさん (ワッチョイ 3f02-fH7h)
23/09/22 08:23:31.12 +vutqDDr0.net
t_k_t_k(邪魔という方は左記をNGお願いします)
友人等などにも教えて、プラス¥4000×人数をゲットできます
URLリンク(i.imgur.com)

182:デフォルトの名無しさん (ワッチョイ 8f1f-nPp7)
23/09/22 09:55:33.52 glyoaVQ40.net
>>179
1ヶ月前に貰ってる。

183:168 (ワッチョイ 4fae-YZsW)
23/09/22 10:37:35.20 VQzjgaDN0.net
>>173-177
フラグを設定すれば、.NET Frameworkのみの環境でも必要なランタイムがコピーされて動くのですね!
ありがとうございます。

184:デフォルトの名無しさん (ワッチョイ 3fea-Ohbr)
23/09/22 11:31:13.56 yLHBBLv80.net
user.configとか.xmlファイルって、Windowsが不正終了とかで落ちた時
中のデータが欠損したり、変な空白とか書き込まれたりでファイルがおかしくなったら
それを読み込むアプリが一切立ち上がらなくなるの勘弁してほしい

185:デフォルトの名無しさん (ワッチョイ 7f7b-YZsW)
23/09/22 12:26:32.62 n+mdlzq10.net
起動時のタイミングでconfigファイルが破損してないかチェックすればいいだけでは?

186:デフォルトの名無しさん (アウアウウー Sa53-9C00)
23/09/22 12:30:28.76 dkRHHNCea.net
user.configとか.xmlに限定してるけどそれ以外のファイルなら安全だと思ってるの?

187:デフォルトの名無しさん (ブーイモ MM5f-C+1d)
23/09/22 12:53:20.14 +zFc5v5MM.net
xmlが壊れるならjsonを使えば良いじゃない。by マリー

188:デフォルトの名無しさん (ワッチョイ 3fe5-NfV8)
23/09/22 12:55:39.08 faVcBMnZ0.net
そこらへんのファイルが壊れるような落ち方したら、exeやdllの中身すら危うい

189:デフォルトの名無しさん (ワッチョイ 3fda-4LBx)
23/09/22 12:57:50.57 UyYHaPh20.net
>>179
大手の体力すげえな。

190:デフォルトの名無しさん (ワッチョイ 4fb0-gBtz)
23/09/22 13:50:44.91 wJrbx3oK0.net
メディアファイルに書き込みしてる最中に落ちたら書き込んでるメディアのどこに被害が出てもおかしくないよ

191:デフォルトの名無しさん (スップ Sddf-hHsn)
23/09/22 15:21:03.94 YkPRFjNrd.net
NTFSなら大丈夫

192:デフォルトの名無しさん (ワッチョイ 3f79-EhfR)
23/09/22 19:44:13.75 Au89d/cH0.net
いくらファイルシステムが堅牢でも、その上で動くOSやアプリが死んだら壊れたファイルが出来上がる…って寸法だぁ!

193:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/23 06:16:34.70 CDvy2U7s0.net
ネストは深くないほうが良いと言いますが、二次元配列の展開にはネストが必要ですかね?
2階層くらいまでは普通に使って、3階層にもなると深いと思います。

194:デフォルトの名無しさん (ワッチョイ 1e10-WMZf)
23/09/23 07:19:17.05 //pn0TAC0.net
まぁ、普通はforループネストするんじゃない?

195:デフォルトの名無しさん (ワッチョイ de17-IWg1)
23/09/23 10:10:35.30 s/ljsF3A0.net
可読性が損なわれなければ多少のネストはいいだろうよ

196:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/23 11:22:34.41 CxeGIQq5M.net
ネストが深いとコードが読みづらくなりバグが混入しやすくなるので避けたほうが良いと言うレベル
初心者のころは閉じブロックにコメントを書くとかそういうので対処したりしたり出来る

namespaceの指定方法が追加されたのでブロックのネストは一段減らせるようになった

197:デフォルトの名無しさん (ワッチョイ 6b01-Yvw0)
23/09/23 11:24:36.47 olN19/Rz0.net
色々なレベルの人が見るならわかり易さに寄せるのも大切

198:デフォルトの名無しさん (アウアウウー Sacf-PB4I)
23/09/23 11:52:24.24 i9fpyxKga.net
あんまり深いと観辛いから
ネスト1{
_ネスト2{
__ネスト3{
ネスト4{
_ネスト5{
_}
}
__}
_}
}
みたいに描いてる

199:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/23 12:47:33.25 CDvy2U7s0.net
ありがとう(*´ω`*)

200:デフォルトの名無しさん (ワッチョイ 0aff-8erA)
23/09/26 10:56:33.46 csk5Q3Ms0.net
メモリ内では連続して格納されてるはずなんだし、1次元配列としてアクセスさせてくれてもいいのにな

201:デフォルトの名無しさん (ワッチョイ 0aa1-oBwi)
23/09/26 11:02:40.27 Pu+bW/hr0.net
>>198
連続してると思いたいのは勝手だが
実際の所はどうなっているか見るまでは分からない

202:デフォルトの名無しさん (ワッチョイ 1a77-+EvS)
23/09/26 11:29:00.83 QkO3BLWs0.net
>>198
spanか使えば
var array = new int[ 3, 4 ];
var span = MemoryMarshal.CreateSpan( ref array[ 0, 0 ], array.Length );

203:デフォルトの名無しさん (ワッチョイ ff69-8e9S)
23/09/26 11:36:48.82 uoZuUmUn0.net
datagridvewなかなか癖あるな
前の会社だとspread 使ってたから同じことしようとするとなかなか厳しい

204:デフォルトの名無しさん (ワッチョイ 0ae5-WMZf)
23/09/26 12:26:49.67 OV8JJgiQ0.net
>>198
なら、1次元目Length×2次元目Lengthの1次元配列として宣言して使えば良い

205:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/27 18:09:52.69 IoVqC5pd0.net
関数化はモジュール化とは言わないですか?
一般的に別スクリプトに分けることをモジュール化というらしいです。
1つのスクリプトにあらゆる機能を書いてしまうと、理解が出来なくなるみたいです。
再利用と、可読性を向上させるためにモジュール化があるのかなと。

206:デフォルトの名無しさん (ワッチョイ de3b-IWg1)
23/09/27 18:39:35.25 CcGwmuva0.net
>>203
関数はモジュールですか?

207:デフォルトの名無しさん (ワッチョイ 062f-oRtz)
23/09/27 18:44:05.41 B9umWozV0.net
>別スクリプトに分けることをモジュール化という
初めて聞いたわそんな説

208:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/27 18:45:10.63 IoVqC5pd0.net
gptさんに聞きました

209:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
23/09/27 18:46:56.08 I/ozjFX50.net
嘘つきgptか…奴の話は、話半分で聞いとけ

210:デフォルトの名無しさん (ワッチョイ 86e3-GA9g)
23/09/27 19:49:19.91 vKIc+WH70.net
gptはC#のコード生成しようとしたら1行目からincludeしろとか言ってくるからな

211:デフォルトの名無しさん (ワッチョイ 866b-lrL5)
23/09/28 00:24:01.44 DB6o6lmL0.net
ChatGPTをありがたがるのは無知蒙昧の証し

212:デフォルトの名無しさん (アウアウウー Sacf-j351)
23/09/28 00:36:48.85 wsjwbbNAa.net
>>203
1関数=1モジュール観たいな糞言語ならそうかもな

213:デフォルトの名無しさん (ワッチョイ ff6f-8e9S)
23/09/28 01:23:01.39 NqbGDv2b0.net
未だにオブジェクト指向がよくわからないわ

214:デフォルトの名無しさん (ブーイモ MMaa-gtrM)
23/09/28 04:26:00.84 IXIoJj7cM.net
猫以下か

215:デフォルトの名無しさん (ワッチョイ 1e10-WMZf)
23/09/28 06:36:39.54 M9/KWlcn0.net
ChatGPTに頼るようなヤツはプログラムやらんでもろて

216:デフォルトの名無しさん (ワッチョイ ea74-iHBT)
23/09/28 07:16:02.49 sFf5t7op0.net
もろて
morote

217:デフォルトの名無しさん (ワッチョイ 0ae5-WMZf)
23/09/28 08:57:06.58 fRqICkyk0.net
態々Chatって名前に付けてくれてるのに、おかしな使い方する連中の多いことw

218:デフォルトの名無しさん (アウアウウー Sacf-j351)
23/09/28 09:58:47.34 7+/lnWbqa.net
やらんでもろて=やらないでくださいおながいしますわ

219:デフォルトの名無しさん (オッペケ Sr23-IWg1)
23/09/28 10:03:11.78 A/US9xLcr.net
名前にchatってついてることと使い方に何か関係が?

220:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
23/09/28 10:12:26.69 uRtj8fwF0.net
chatGPTは、会話する友達のいないボッチが寂しさを紛らわす為の癒しツールだからなぁ

221:デフォルトの名無しさん (ワッチョイ 4635-D9qI)
23/09/28 10:28:24.51 /0J5x9qx0.net
つまりお前らってChatGPTだったの?

222:デフォルトの名無しさん (ワッチョイ 7f33-gNtf)
23/09/28 10:34:11.26 xz2WgalN0.net
うずらです

223:デフォルトの名無しさん (ワッチョイ 8ea7-AKT7)
23/09/28 12:28:16.47 JVi1NSOB0.net
ひよこです

224:デフォルトの名無しさん (ワッチョイ 8701-DeI3)
23/09/28 12:52:33.59 lN71jGVG0.net
>>203
>関数化はモジュール化とは言わないですか?
一般的に


225:は言わない モジュール/モジュール化という言葉は文脈によって意味が多岐に渡る 広い意味で再利用可能・入れ替え可能な部品に分割することをモジュール化と呼ぶこともあるので ある処理を抽出して関数化することもモジュール化と言えないこともないが一般的ではない 関数よりもっと大きな単位を指して使われることがほとんど 狭い意味だと使ってる言語で定義されてる”モジュール”に分割することを言う >一般的に別スクリプトに分けることをモジュール化というらしいです。 Pythonのように1ファイルが1モジュールになる言語であれば 別スクリプトに分けることとが狭い意味のモジュール化 C#にもモジュールの定義はあるにはあるけど通常意識されないものなので モジュール化という言葉が狭い意味で使われることはほとんどない



226:デフォルトの名無しさん (ワッチョイ 8a79-aeRl)
23/09/28 19:13:21.19 0dpaiugf0.net
モジュールは外からの見た目だから
中身が何で出来てるかなんて関知しない
たとえうんこで出来ててもな!

227:デフォルトの名無しさん (スプッッ Sd4a-+j9z)
23/09/28 21:49:14.57 Vwqtf0AId.net
>>215がBardやBingAIにはどんな難癖を付けるのか気になる

228:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/29 04:46:58.75 sbQ57Iwc0.net
質問です
他人のコードを読むという行為は「分解」なのでしょうか?
他人のコードがわかりにくい場合は、スクリプトを分けるなどして分解するのが良いですか?

229:デフォルトの名無しさん (ワッチョイ 035f-9Nr+)
23/09/29 05:09:44.28 Zsgx8btV0.net
>>225
そのコードリーディングの目的は?

230:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/29 06:50:21.28 sbQ57Iwc0.net
ゲーム用のプログラムなのですが、ロジックを知りたいです

231:デフォルトの名無しさん (ラクッペペ MMc6-se1G)
23/09/29 07:13:40.48 4IudvC8QM.net
解析が目的ならリバースエンジニアリング

232:デフォルトの名無しさん (ワッチョイ 0794-oBwi)
23/09/29 07:35:41.02 R/ASBcAr0.net
リバースエンジニアリングは、マシン語になった実行ファイルやROMから逆アセンブルなどを用いて命令コードに変換して処理内容を読み取る技術だろ
ソースコード自体があるなら単に読めばいいだけ

233:デフォルトの名無しさん (ワッチョイ 0794-oBwi)
23/09/29 07:37:22.59 R/ASBcAr0.net
スクリプト?
ああ、スクリプト言語で書かれているのか
それならスクリプト自体を幾ら読んでも分からないよw
実際に動作を定義してるのはスクリプトエンジン側だからなぁ

234:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
23/09/29 08:13:03.19 2i5v5Rt90.net
ゲームのスクリプト読んでも、分かるのはそのゲームのストーリーくらいかなぁ?

235:デフォルトの名無しさん (オッペケ Sr23-IWg1)
23/09/29 08:53:29.85 HVJlKrO3r.net
>>227
その目的と
>他人のコードを読むという行為は「分解」なのでしょうか?
という質問は何か関係あるの?

236:デフォルトの名無しさん (ワッチョイ 0ae5-WMZf)
23/09/29 08:58:03.08 Z2hlTA8C0.net
>>229
逆アセはリバースエンジニアリングの過程の処理のひとつで
ソースコード読み解いて動作を解析することもリバースエンジニアリングよ

237:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
23/09/29 09:11:19.11 2i5v5Rt90.net
ソースコード自体にもう内容書かれてんのにリバースエンジニアリングとはw

238:デフォルトの名無しさん (ラクッペペ MMc6-se1G)
23/09/29 09:23:35.81 XHcVYCVKM.net
例えばシェルスクリプトならそのまま読むだけですべて動作を理解できる
一方でゲームスクリプトはゲームエンジンの動作を解析しないと理解は難しい

239:デフォルトの名無しさん (ラクッペペ MMc6-se1G)
23/09/29 09:28:49.63 dgWEZ4BHM.net
もっとも利用するだけなら使い方を理解するだけで中身を理解する必要はない

240:デフォルトの名無しさん (ワッチョイ 035f-9Nr+)
23/09/29 09:49:19.43 Zsgx8btV0.net
>>227
ゲーム「用」とは?

241:デフォルトの名無しさん (ワッチョイ 0a02-4KCz)
23/09/29 10:17:17.30 LLT8Nv/70.net
単に読んでるだけでわかりにくにならデバッグ実行して動作とコードの関係を把握しながら読むと理解しやすい
途中で変数の値の確認や変更もやると確証がもてる

242:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/29 13:16:35.37 sbQ57Iwc0.net
>>237
URLリンク(gist.github.com)
これが倉庫番のコードなのですが、全て1つのスクリプトに書かれています
これが分かりづらいので、分割、分解して理解を深めたいです
>>232
自分でゲームを作りたいので、分解してロジックを理解したいです
他人のコードを読み解く能力が上達には必須と考えました

243:デフォルトの名無しさん (スフッ Sdaa-TrDt)
23/09/29 13:26:47.91 y68JSf5Yd.net
>>239
この規模だと分割したらさらに判らなくなるだけだと思う

244:デフォルトの名無しさん (ワッチョイ 7f33-gNtf)
23/09/29 13:30:08.99 F5ALDY7d0.net
>>239
Unityの知識は大丈夫なの?

245:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
23/09/29 13:34:09.53 2i5v5Rt90.net
スクリプト?

246:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 13:45:18.92 jReLA3HcM.net
40年前ぐらい小学生のころに雑誌に載ってた倉庫番打ち込んだな
おそらく7~8ページ程度だったけど2週間ぐらいかかった
ロジックはほとんどなくドット絵のデータがメイン
そんな思いをしなくても遊べる今は恵まれてるなと思う
打ち込んでは実行してタイプミス潰し
倉庫番はリアルタイム性などない単純なパズルだから打ち込んでると嫌でも仕組みはわかった
何しろ状態を持ってない
全部マップデータ通りで単純明快
多分コード読んでるだけじゃ理解は深まらない
自分の見たい部分しか見ないから
コード打ち込むと全部舐めなければならない
そのうえで改変して挙動を確かめる

247:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 14:04:01.36 jReLA3HcM.net
大体2~3本似たようなプログラムを打ち込むと
仕組みが大体頭に入る
やってることは非常に単純
小学生にも理解出来る
そして普通に自分でも書ける
多分何百本分のコードを読んでも理解度は低いと思う

248:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 14:14:09.16 jReLA3HcM.net
そのころはコードにコメントなどもちろんなくインターネットもなく
下手するとマニュアルもなかった
でも数本打ち込むと大体わかった
英単語も読めない小学生にもわかるんだから誰にでも理解できると思う

249:デフォルトの名無しさん (ワッチョイ 86e5-IWg1)
23/09/29 14:14:32.11 2UiM+hiU0.net
>>239
>他人のコードを読むという行為は「分解」なのでしょうか?
これはノー
「分解」はあくまでもコードを読み解くためのテクニックの1つ

250:デフォルトの名無しさん (ワッチョイ 1a9b-3hLy)
23/09/29 14:17:39.88 iWuHjGCu0.net
>>239
スクリプトって書いたら意味が通じない
(ソースコードを記述した)ファイルもしくはソースファイル

251:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 14:23:02.71 jReLA3HcM.net
>>247
unityではc#スクリプトと呼んでる

252:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 14:30:40.47 jReLA3HcM.net
英語を読む・聞き取る・話す は分かりやすく別の学習をしないといけない

コードを読めても書けなければ意味がない
理解したいならコードを書いた方がいい

253:デフォルトの名無しさん (ワッチョイ 0a1f-oBwi)
23/09/29 14:34:27.27 2i5v5Rt90.net
>>248
ああ、そう言う位置付けなのか
文字通りスクリプトなんだろうなぁ
ビルドしないで直接動かすんだろ?

254:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 14:36:55.26 jReLA3HcM.net
それとコードを読むのは非常に高度な技術だから

初心者がコードだけ読もうとしても
おそらく思ったような成果はあげれれない

255:デフォルトの名無しさん (ササクッテロラ Sp23-oBwi)
23/09/29 14:39:11.07 ty79BRMgp.net
ゲームの細かい動きの部分だけスクリプトで書いてるみたいな感じだと全体を理解するの難しいかもね

256:デフォルトの名無しさん (スプッッ Sd4a-+j9z)
23/09/29 14:40:02.98 AtqL2tKZd.net
隙あらば長文自分語り

257:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 15:00:48.68 jReLA3HcM.net
倉庫番自体のロジックは非常に単純
オセロより簡単ともいえる

キャラが空白のところへ動かせるようにつくる
移動先に荷物があってその先が空白ならキャラと荷物が動く
そのあと終わってるかどうか判定するだけ

258:デフォルトの名無しさん (ワッチョイ ff44-/va4)
23/09/29 15:06:10.15 kab4oOZl0.net
じゃあフラッピーは?

259:デフォルトの名無しさん (ワッチョイ de7b-/va4)
23/09/29 15:37:41.47 3lAWIYxj0.net
>>239
こういうのこそChatGPTの使いどころでは?

260:デフォルトの名無しさん (JP 0H42-yQCX)
23/09/29 15:39:08.46 tU9ZFt65H.net
ここみれば?
URLリンク(baba-s.)はてなblog.com/entry/2018/03/30/085000

261:デフォルトの名無しさん (JP 0H42-yQCX)
23/09/29 15:41:33.40 tU9ZFt65H.net
はてな英字表記がNGワードだった
作者が全部解説してるのにこっち見ないで完成形のソースだけ見てなにをどう理解したいのかわからない

262:デフォルトの名無しさん (ワッチョイ 869b-lrL5)
23/09/29 15:56:47.20 C71JBRro0.net
>>239
うだうだ人に聞いてるお前には無理だと思う

263:デフォルトの名無しさん (スッップ Sdaa-+j9z)
23/09/29 16:10:41.00 DNLFnh+Cd.net
>>225にしても>>203にしても質問がヘタというか的外れというか
それ聞いてどうするの?言葉の定義を確認して何になるの?って感じが
コードのここの意味が解りません、とかの具体的な質問の方がよっぽどマシ

264:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 17:31:51.45 jReLA3HcM.net
初心者相手に罵倒しても心が汚れるだけ
上のコードはあまり関心出来ない部分もある
そのせいで分かりにくい箇所が若干ある

265:デフォルトの名無しさん (スッップ Sdaa-+j9z)
23/09/29 17:42:07.96 DNLFnh+Cd.net
罵倒、苦言、批判の区別は付いてるかな?

266:デフォルトの名無しさん (ワッチョイ 0ae5-WMZf)
23/09/29 17:44:14.21 Z2hlTA8C0.net
>>234
逆アセで生成されたコードも、アセンブラの"ソースコード"だぞ?w

267:デフォルトの名無しさん (ワントンキン MMfa-AkpS)
23/09/29 17:58:40.51 QaI2pK3GM.net
ワッチョイ 6ab0-/va4
ネチネチとしつこいだけでダメな奴の典型例

268:デフォルトの名無しさん (ワッチョイ 0744-oBwi)
23/09/29 17:58:57.69 R/ASBcAr0.net
>>263
意味不明w

269:デフォルトの名無しさん (ワッチョイ 0ae5-WMZf)
23/09/29 17:59:37.91 Z2hlTA8C0.net
意味がわからんなら勉強しといでw

270:デフォルトの名無しさん (ワッチョイ 6ab0-/va4)
23/09/29 18:01:17.51 sbQ57Iwc0.net
質問者です
確かに何が分からないのか言語化出来ないかもしれません
丸投げ質問にならないようにもう少しもがきます
ぼんやりした事を言うと、分からない部分は処理の流れですかね。

271:デフォルトの名無しさん (ワッチョイ 87e5-7af3)
23/09/29 18:13:34.27 omi/Go5l0.net
フレームワークから呼び出されるだけの存在だよ

272:デフォルトの名無しさん (スッップ Sdaa-+j9z)
23/09/29 18:30:54.80 DNLFnh+Cd.net
Unity詳しくないけど必要に応じてSokobanクラスの各メソッドが呼び出される仕組みじゃないのこれ?
処理の流れってのがそのUnityが仕切ってる部分のことを言ってるなら
このクラスをいくら眺めても理解できなさそうだけども

273:デフォルトの名無しさん (ラクッペペ MMc6-se1G)
23/09/29 18:41:16.70 KGst9XPnM.net
Unityから呼び出されるメソッドは初期設定のStartと更新処理のUpdateの2つ
毎回呼び出されるのは後者なのでそこから追いかけていけばいい

274:デフォルトの名無しさん (スッップ Sdaa-+j9z)
23/09/29 18:51:42.76 DNLFnh+Cd.net
なるほど、たしかにコメントにもそう書いてある
もっとあれこれ呼ばれるのかと思ったら意外にシンプル
てことは>>267が分からないって言ってる「処理の流れ」はクラスの中の話の可能性が高い?
であればコードを読み進めてここで詰まったとか具体的な情報が欲しいところ

275:デフォルトの名無しさん (オイコラミネオ MM0b-WMZf)
23/09/29 18:57:11.74 jReLA3HcM.net
実際にコードを見てその印象なら初心者と変わりない

276:デフォルトの名無しさん (スプッッ Sd4a-+j9z)
23/09/29 19:18:05.29 KklayHMNd.net
なんか因縁つけられた

277:デフォルトの名無しさん (ブーイモ MMef-VO9t)
23/09/29 22:00:42.65 WQUdW1Y0M.net
こんだけみっちりコメント書いてあって、メソッドも分かれてるから、後は気合だけのような…

278:デフォルトの名無しさん (スプッッ Sd4a-+j9z)
23/09/29 22:31:46.59 KklayHMNd.net
あとは自分の今の知識・理解度に見合ってるかどうかかね
他スレでもたまに明らかに分不相応なお題に取り組もうとしてる人を見かける

279:デフォルトの名無しさん (ワッチョイ 8a6a-gNtf)
23/09/29 22:37:09.95 qnLQZNNU0.net
基本素養が足りてない人に限って、Webの情報を断片的に拾い読みするだけで済まそうとする…
2,3千円をケチらずにちゃんとした入門書を買うべきやろな

280:デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
23/09/30 00:58:15.11 tFuDf2bYM.net
千里の道も一歩からと言うけど100m先のコンビニへもまず一歩踏み出さないと到達しない
プログラムでバグが出るのは当たり前でそれを潰すのは経験を積むしかない
コードを読むだけではそこらへんは無理
文法が分かったとして実際に書かないと理解は深まらない

見てもわからないなら紙にでも書き出して考えることもできる
小学生のころは配列の内容を方眼紙とかに書いてプログラムを再現して理解しようとしてた
それがいつの間にか脳内ですべて完結するようになった
期待通りにならなくても結果を見て経験からこうだろうなと見当を付けられるようになった

小学生より賢いはずなんだからなにか手立てはあるだろう

281:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/09/30 03:26:23.71 qC94828iM.net
実際にUnityを使っていて一度でも空のプロジェクトを作ったことがあれば>>270程度のことは直ぐに分かる
中身が空のスケルトンコードがそのまま作られるのでUnityと言うゲームエンジンのフレームワークの基本構造が見えてくる
コードを読む前にまず手を動かして見なければ気付けないことも多い

282:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/09/30 06:13:30.76 lCW6xIVF0.net
>>277
倉庫番のコードを書くようにしますが、その場合は他人のコードを完璧に真似るつもりでやったほうがいいですか?自己流でやっていたことが良くないと気づいたので。他人のやり方まで取り込むのが上達への近道かなと思ってます

283:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/09/30 06:20:57.56 lCW6xIVF0.net
他人のコードを理解する、読み解く上でのやり方が確立されていない感じです

284:デフォルトの名無しさん (ワッチョイ cb10-VEJP)
23/09/30 06:40:22.13 EIBJTlDv0.net
読み解き方が確立されてるかされてないか以前の問題のような……

285:デフォルトの名無しさん (ワッチョイ 2d82-cP1N)
23/09/30 08:57:55.29 1LHvsOST0.net
基礎が身についてないのにやみくもに書き写したところで書く能力が身につくわけないじゃん
自分語りの詐欺的商法に騙されるなよ
ちょっと考えればわかるだろ
キミに必要なのは公式チュートリアルと入門書

286:デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
23/09/30 09:50:03.07 tFuDf2bYM.net
40年ぐらい前の小学3年生よりあなたは賢いのかどうかと言う問題
現状スキルレベルでは負けている
環境では勝っている

287:デフォルトの名無しさん (スップ Sd43-sBWh)
23/09/30 10:00:47.45 RNKSTVVAd.net
>>280
小難しい理屈はどうでもいいから、>>239のソースを読んでて分からないところを具体的に質問しよう
質問が具体的な方がこちらも質問者のレベルを推し量れるしアドバイスもしやすい

288:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/09/30 10:21:02.95 lCW6xIVF0.net
>>284
手を動かさないと何が分からないかも、分からないという状態から脱せないでしょうか?

289:デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
23/09/30 10:27:45.96 tFuDf2bYM.net
入門したてはタイピングが苦痛だった
一文字ずつキーボードとにらめっこ
p r i n t と一文字ずつ探してやっと一行を入れ終わる
そして実行
自分が今一行入力した分だけ画面が変わったりする
今書いたコードはこういうことなんだと分かる
それが体験で経験
誰がどのように入力しても結果は同じ

290:デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
23/09/30 10:29:22.27 tFuDf2bYM.net
そのころコードを読んでも絶対意味なんて判らない
手を動かして実行
これ以外上達の方法はない

291:デフォルトの名無しさん (スップ Sd43-sBWh)
23/09/30 10:38:44.22 RNKSTVVAd.net
>>285
初歩的なところから聞くけどこのソースを実行できる環境はちゃんとある?
実際に動かしてみた?

292:デフォルトの名無しさん (アウアウウー Sa89-5C2y)
23/09/30 10:44:33.67 +WV6fTrGa.net
>>252
東京パソコンクラブのノリだな

293:デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
23/09/30 10:49:18.06 tFuDf2bYM.net
英単語なんか知らないから一文字ずつアルファベットを暗唱しながらタイプしていく
呪文を打ち込んでいく
一行入力も辛いので途中で実行して進展を見る
入力したコードの理解が深まる
そうして小さな成功体験を積み重ねる
そのうち前に入力したのと同じような内容が出てくる
今度は実行しなくても結果がわかる
実行してみて違うなら違いを探す
こうして一歩ずつ進む
コードを読んだりコメントを読むだけだとこういうのが失われて分かった気にだけなる
実際にコードを書けないし着想もできない

294:デフォルトの名無しさん (アウアウウー Sa89-5C2y)
23/09/30 11:04:04.96 +WV6fTrGa.net
>>285 は手が動いても頭が動かないタイプと観た

295:デフォルトの名無しさん (ワッチョイ 9bbc-VEJP)
23/09/30 13:07:46.30 Xbo2Ry+C0.net
それ、逆じゃないのかな。
手を動かす前にうだうだ考えるウチに投げ出すタイプというか。

なにも考えずにとりあえずコードを打ち込んでみて、動かしてみればいいじゃない。
そしてその動くプログラムのコードを書いているときや後から眺めたときに「こうした方がいいんじゃない?」って思ったところを何度でも直して、また動かしてみる、と。

実際、自分がやるのもそれに近いところがなくもないし。
分からないところをネットで調べてコピペして動かして、足りないところや考慮すべきところを直し加えてってのを何回かやったりやらなかったり。

296:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/09/30 14:30:45.31 lCW6xIVF0.net
>>288
unityで動かしております
>>290
やはり手を動かします
>>284
では質問させてもらいます
gptに聞いたのですが、良くわかりませんでした

URLリンク(gist.github.com)
TileTypeという列挙型があり、tiletype型を使用してtilelist変数を宣言しているのが分からないです。
普通、インデックスにアクセスする場合は整数型を使うと思うんですが。

やはり、基礎が出来てないなと

297:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/09/30 14:47:09.79 jRqEkae9M.net
例えばデバッガーでマップの配列の中を確認する場合、無味乾燥な整数で状態表示されるより列挙変数で表示された方が分かりやすいだろ
プレイヤー視点ではなく開発者視点で分かりやすくしているだけ

298:デフォルトの名無しさん (スップ Sd43-sBWh)
23/09/30 15:02:25.67 RNKSTVVAd.net
>>293
>普通、インデックスにアクセスする場合は整数型を使うと思うんですが。
インデックスってのはtileList[x, y]のxとyのこと
この場合もxとyは整数型でしょ
インデックス「に」って表現してるけど何かと勘違いしてる?

299:デフォルトの名無しさん (スップ Sd43-sBWh)
23/09/30 15:10:09.10 RNKSTVVAd.net
で、tileListは配列要素の型がTileType列挙型なわけだけど、その理由は>>294も書いてるように可読性や保守性のため

300:デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
23/09/30 15:27:57.46 tFuDf2bYM.net
抽象的な話じゃない説明

例えば数値で壁を1で荷物を3とかにすると…
コード内で1とか3の数字が出てくるがそれが何なのか覚えてないとわからない
データの種類が100種類とかあると管理だけで大変

それを改善する場合に数字じゃなくて文字で '壁' とか'荷'とか'人'とかにもできる

でもこの場合も問題がある

気まぐれで壁や荷物を赤い壁と青い壁、赤い荷物と青い荷物などにしたくなった場合にどうするか?
別に色情報持つとか考えなくてはならない
それだったらTypeでRedWallとかにしたほうがいい

更に後でRedWallをやめたくなった場合にはenumからRedWallを削る
そうするとIDEにエラー表示が出て修正箇所がわかる
これが数字だと修正を自力で探して頑張るしかない

301:デフォルトの名無しさん (ワッチョイ 9b0c-RAiU)
23/09/30 16:04:48.60 fUSk+kCE0.net
>>293
ウザイことこの上ない
まずは入門書を買って読め

302:デフォルトの名無しさん (ワッチョイ ab9a-cP1N)
23/09/30 16:20:33.29 kuFk0VAS0.net
勘違いしてそうなので基本的なことから書くと
int[3]は[0, 0, 0]のように各要素がint型で長さ3の1次元配列を示す型
string[3]は[“a”, ”bb”, “ccd”]のように各要素がstring型で長さ3の1次元配列を示す型
TileType[3]は[TileType.NONE, TileType.PLAYER, TileType.GROUND]のように各要素がTileType型で長さ3の1次元配列を示す型
var tiles = new TileType[3]{TileType.NONE, TileType.PLAYER, TileType.GROUND};
if (tiles[0] == TileType.PLAYER) do_something;
のような使い方をする
TileType[10, 10]は各要素がTileType型で10×10の2次元配列を示す型

303:デフォルトの名無しさん (ワッチョイ 2d1e-UA51)
23/09/30 16:43:41.11 rxNaOE9c0.net
可読性の高いRuby で、3目並べが並んだかどうかの判定だけでも、こんなに書く。
ましてや他言語は可読性も低いし、他人のコードなど読めるわけがない!
他人のコードを読むことを勧めるような香具師は嘘。
100行の内、5行ぐらいしか読んでいない
input_ary = [ ["x","","", "x","","", "o","o","o"],
["o","","x", "","o","x", "","o","x"],
["x","o","o", "","x","", "o","","x"],
["x","","o", "x","o","", "o","",""],
["o","x","o", "","x","", "","o","x"] ]
def check_win( board_ary )
puts "-" * 40
diag_ary = Array.new( 3 ) # 斜め
diag_ary[ 0 ] = board_ary[ 0 ]
diag_ary[ 1 ] = board_ary[ 4 ]
diag_ary[ 2 ] = board_ary[ 8 ]
return true if diag_ary.all? { |cell| cell == "o" } ||
diag_ary.all? { |cell| cell == "x" }
diag_ary[ 0 ] = board_ary[ 2 ]
# diag_ary[ 1 ] = board_ary[ 4 ]
diag_ary[ 2 ] = board_ary[ 6 ]
return true if diag_ary.all? { |cell| cell == "o" } ||
diag_ary.all? { |cell| cell == "x" }
次へ続く

304:300 (ワッチョイ 2d1e-UA51)
23/09/30 16:44:26.02 rxNaOE9c0.net
前の続き
p outer_ary = board_ary.each_slice( 3 ).to_a # 3×3 の配列
outer_ary.each do |inner_ary|
p inner_ary
return true if inner_ary.all? { |cell| cell == "o" } ||
inner_ary.all? { |cell| cell == "x" }
end
puts "転置後"
p outer_ary2 = outer_ary.transpose # 転置
outer_ary2.each do |inner_ary|
p inner_ary
return true if inner_ary.all? { |cell| cell == "o" } ||
inner_ary.all? { |cell| cell == "x" }
end
false
end
res = input_ary.map { |ary| check_win( ary ) }
puts "-" * 40
p res #=> [true, true, true, true, false]

305:300 (ワッチョイ 2d1e-UA51)
23/09/30 16:56:49.16 rxNaOE9c0.net
仕様から、コードは書けるが、
コードから仕様を推測するのは、10倍以上難しい
他人のコードを読むと、膨大な時間の無駄で、
自作していないから身につかない
3目並べとか、じゃんけんとか、素数判定とか、
簡単な所から自作すべき!
解説が無いような、他人のコードを絶対に読んではならない!
膨大な時間の無駄

306:デフォルトの名無しさん (ワンミングク MMa3-E1cW)
23/09/30 18:10:18.46 Ag7bGIUIM.net
しつこい馬鹿のせいでrubyキチガイまで出てきた

307:デフォルトの名無しさん (ワッチョイ 8501-6YkV)
23/09/30 18:43:08.79 UMbhW8aD0.net
昔々BASICインタプリタと横スクロールゲーを全てレポート用紙に逆アセンブルして分析したのはメチャ役に立った
初心者が(簡単な)ゲームの分析、理解することは役立つこと多いと思うよ

308:デフォルトの名無しさん (ワンミングク MMa3-AwC8)
23/09/30 20:59:11.77 U9V2qVkaM.net
人に聞きまくるだけの奴には無理だぞ
方法論以前の問題

309:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/10/01 10:33:20.05 5ao4WmOt0.net
>>294
回答どうも
理解が悪いです

列挙型って数字でもあるんですか?
それぞれの文字列にインデックスがあると。

310:デフォルトの名無しさん (ワッチョイ 2d50-uznD)
23/10/01 10:43:13.42 Zy/Xpldc0.net
列挙型、配列、インデックス
根本的にこのへんが正しく理解できてないな
>>299の言ってること理解できる?
分からないならどこが分からないな質問する

311:デフォルトの名無しさん (ワッチョイ d553-lFbY)
23/10/01 12:21:46.44 o8cy9tiS0.net
URLリンク(wikiwiki.jp)

312:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/01 12:27:48.25 jo3dkEigM.net
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
URLリンク(i.imgur.com)

313:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/01 12:27:59.76 jo3dkEigM.net
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
URLリンク(i.imgur.com)

314:デフォルトの名無しさん (ワッチョイ 25da-/u/1)
23/10/01 12:28:36.05 9rYgJ/eZ0.net
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
URLリンク(i.imgur.com)

315:デフォルトの名無しさん (ワッチョイ 25da-/u/1)
23/10/01 12:28:44.44 9rYgJ/eZ0.net
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
URLリンク(i.imgur.com)

316:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/01 12:31:41.14 OrY06J6zM.net
ネットの調子が悪い
連投スマソ

317:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/10/01 12:44:57.25 Je269Bs00.net
>>307
ありがとうございます
URLリンク(baba-s.)はてなぶろぐ.com/entry/2018/03/30/085000
tileList = new TileType[ columns, rows ];
の部分でtiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです。
何らかの文字列の定数が入ると考えていますた

318:デフォルトの名無しさん (ワッチョイ 2d33-uznD)
23/10/01 13:26:19.97 jNjNNZOq0.net
>>314
君はそもそも配列宣言の記法、意味が分かってない
まず↓あたりをじっくり読んで、サンプルコードも実際に動かして理解して欲しい
URLリンク(ufcpp.net)
そしてハッキリ言うけど今の段階で倉庫番のコードを理解しようとしても基礎が出来てないから無理

319:デフォルトの名無しさん (ワッチョイ 9b9b-RAiU)
23/10/02 02:06:24.20 NgblnbYV0.net
他人の助言には絶対に耳を傾けないタイプ

320:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/10/02 06:20:59.94 TDDpdEaf0.net
>>315
必要なところだけやっていくやり方でやってますが、そういうやり方じゃ駄目なんですか?
配列宣言は分かっているんですが、型が違いますよね
>>316
聞きますが、全てではないです

321:デフォルトの名無しさん (ワントンキン MMa3-E1cW)
23/10/02 07:26:58.07 lRooFwx4M.net
ダメだこいつ

322:デフォルトの名無しさん (ワッチョイ 8501-6YkV)
23/10/02 07:50:32.09 eOR7lDrh0.net
>>314
>tileList = new TileType[ columns, rows ];
元ネタ見てないけど、↑を見てこう考えることができるように基礎知識、経験が必要
・tileListに画面の状態を格納するんだな
・二次元配列としてcolumns, rowsの数だけ確保と
・二次元配列に代入する値はTileType型ね(intとかのリテラル値でなくキチンと定義してるのか)
な感じ
>「tiletype型には定数の文字列が入ると思っていましたが」
ある程度予想しながらソースは読みますが、経験不足で予想外れるのはまだ仕方ない
>「整数値であるcolumnsとrowsを代入している」
代入はしていない。これから値を格納するための二次元配列を確保してるだけ
まだc#の記法がわかってない未熟なだけなので、何もかも貪欲に覚えて。
今やってることは無駄になることは何もない。間違えてても。頭と手をドンドン動かして吸収して


323:いくのだ



324:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/02 08:40:07.92 KRZkbw82M.net
>>317
この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される
具体的な配列の中身を確認した結果が>>309
実際にコードを動かして見ればすぐ分かるだろ

325:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/02 08:40:23.40 KRZkbw82M.net
>>317
この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される
具体的な配列の中身を確認した結果が>>309
実際にコードを動かして見ればすぐ分かるだろ

326:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/02 08:42:07.04 KRZkbw82M.net
何故かまた2回送信された
接続が不安定すぎるorz

327:デフォルトの名無しさん (ワッチョイ e32b-T/nl)
23/10/02 08:56:34.32 Rca7jjjr0.net
最近の5chの問題だからいちいち気にしなくて良いぞい

328:デフォルトの名無しさん (ワッチョイ 23bc-uznD)
23/10/02 09:26:07.11 lKJ+23Y70.net
>>317
配列宣言において型が違うことは重要じゃないよ
どんな型の配列だって作れるわけだから
それが分からないことこそが基礎ができてない証拠であって
君の言う「必要なところ」がやれてないということ
>>315のリンク先をきちんと理解すれば>>314
>tiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです。
>何らかの文字列の定数が入ると考えていますた
という疑問と想定が間違っていたことに気づく
まずそこから始めよう

329:デフォルトの名無しさん (ワッチョイ 2d33-y8kH)
23/10/02 09:31:44.43 ejm1uWXY0.net
自分が必要と思うところだけつまみ食いするのがタイパいいとでも思ってるんかねぇ
見当はずれなことやって結局無駄に時間を使うだけなのに

330:デフォルトの名無しさん (ワッチョイ 9bc8-RAiU)
23/10/02 12:48:13.11 NgblnbYV0.net
批判は一切受付けません!のスタイル
そもそもこんなことに何日も掛けて進まない時点でこいつには無理

331:デフォルトの名無しさん (ワッチョイ 23e5-VEJP)
23/10/02 14:31:10.17 egrIJ/AE0.net
そろそろスルーしとけ

332:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/10/02 15:30:17.92 TDDpdEaf0.net
>>318
>>325
返信してくれた5人が違う事を言ってたら、その中からどれか選ぶしかないじゃないですか。
あと、基礎やるにしてもどうせすべて使うわけじゃないし、必要な部分だけやるスタイルです
>>324
リンク先見てきます

333:デフォルトの名無しさん (ワッチョイ 9b9b-RAiU)
23/10/02 15:35:28.81 NgblnbYV0.net
要約すると、
基礎を学ぶ気はない貴様らは俺の聞いたことに答えればいいんだ
つまり、教えてもらおうではなく聞きだそうというスタイル

334:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/10/02 15:36:53.97 TDDpdEaf0.net
>>329情報源は色々です

335:デフォルトの名無しさん (ワッチョイ 3d49-xyqt)
23/10/02 16:01:32.92 MrhOADGQ0.net
こういうやつには答えないスタイル

336:デフォルトの名無しさん (ワッチョイ 85ad-6Yc9)
23/10/02 16:21:12.93 f2fMpIlB0.net
このレベルの基礎はすべて使うけどね

337:デフォルトの名無しさん (ラクッペペ MMcb-/u/1)
23/10/02 16:26:16.56 ATaGJaaDM.net
とりあえず環境構築してるならまずサンプルコードそのままコピペして実行しろ
いろいろ考えながらコードを弄っているうちに分かってくるからさ
疑問点は人に聞く前にまず自分で試して経験しろ

338:デフォルトの名無しさん (ワッチョイ 2d34-uQQ6)
23/10/02 16:36:07.28 c5cuOzSD0.net
visual studioでステップ実行汁

339:デフォルトの名無しさん (アウアウウー Sa89-5C2y)
23/10/02 16:40:30.40 sFvf9xp1a.net
>>327
>>331
ほんそれ
荒らしの相手レスする香具師も荒らしと看做せばいい
質問オウム返しはそもそも問題解決する気が無くて荒らしたいのだろう

340:デフォルトの名無しさん (ワッチョイ 8501-6YkV)
23/10/02 17:29:56.66 eOR7lDrh0.net
色々なブレイクポイントで止めて中身を確認、理解する
理解できない部分は置いといて次に進む繰り返し
過去の疑問も解けていく
これは必須の作業。これをやればほとんどの疑問、分析は自己解決できる
昔はPRINTいっぱい埋め込んだものだ
今は楽ちん

341:デフォルトの名無しさん (ワッチョイ 05dc-uznD)
23/10/02 18:58:04.16 3brSOCVN0.net
>>328
リンク先の内容で理解できない部分や自分の想定と違う部分があったら具体的に示して質問して

342:デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
23/10/02 20:13:50.59 TDDpdEaf0.net
>324
列挙型でも数字はありますもんね。
ようやく少し理解

343:デフォルトの名無しさん (ラクッペペ MMcb-0bz8)
23/10/02 20:34:20.45 LSI+DZgZM.net
列挙型は数字があるというより数値を別名で抽象化したもの
実際の正体は単なる整数値
ただし直接的に数値として扱うとエラーになる

344:デフォルトの名無しさん (ワッチョイ 05dc-uznD)
23/10/02 20:54:18.72 3brSOCVN0.net
>>338
いや、理解できてない
数字がある(=型に数値と互換性があるという意味と推察)かどうかは配列で扱ううえで全く関係ないよ

君が「数字がないもの」と思っているものの配列は理解できる?
例えば文字列配列を配列の長さ3で宣言できる?

345:デフォルトの名無しさん (ワッチョイ 05dc-uznD)
23/10/02 21:17:33.82 3brSOCVN0.net
>>338
なんで数字にこだわるのかわからなかったけど
> tileList = new TileType[ columns, rows ];
>の部分でtiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです

ひょっとしてcolumnsとrowsで二次元配列のサイズを指定してるのを
配列tileListにcolumnsとrowsの値を入れていると誤解してる?

346:デフォルトの名無しさん (ワンミングク MMa3-AwC8)
23/10/02 21:19:04.73 lujPkxOVM.net
荒らしの相手をするのは荒らし

347:デフォルトの名無しさん (ワントンキン MM6b-Smnw)
23/10/03 03:19:43.89 BRGjmQhNM.net
二週間も同じことをグダグダ質問してる馬鹿は荒らしか?そうでなければ才能ないから諦めて消えろ

348:デフォルトの名無しさん (ワッチョイ 23e5-VEJP)
23/10/03 08:07:13.74 Uvzxz0ni0.net
>>341
そうじゃなくて、配列宣言は定数値じゃないといけないと思ってるんでしょ
だから皆から他人のコードを読む以前、基礎がわかってない、先に本なり見て学べって散々言われてるんよ

349:デフォルトの名無しさん (ワッチョイ 1b86-cP1N)
23/10/03 09:08:59.95 64Y6xUk10.net
>>341
あーなるほどね
コレクション式も追加されてそういう誤解は増えそうだな

350:デフォルトの名無しさん (ワッチョイ e3db-uznD)
23/10/03 10:16:03.76 Ovgwwfj90.net
>>344
それだと「整数値であるcolumnsとrowsを代入している」とは言わないだろう
tileList = new TileType[]{columns, rows};
みたいに初期値を入れてると誤認してるからこそだろう
そして「tiletype型には定数の文字列が入ると思っていました」というのは
tileList = new TileType[]{TileType.PLAYER, TileType.BLOCK};
のような書き方を指していると推察できる

351:デフォルトの名無しさん (ワッチョイ 23e5-VEJP)
23/10/03 11:03:15.13 Uvzxz0ni0.net
>>346
「定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入している」ね
要するに配列宣言には定数を使用すると思ってたのに整数型変数使ってるのなんで?ってことよ

352:デフォルトの名無しさん (ワッチョイ 2d33-IFFb)
23/10/03 11:27:59.78 So2x5x/40.net
配列の宣言には定数を使わないといけないという勘違いをするのはそういう制約のある他言語に慣れ親しんだ人だけだから

353:デフォルトの名無しさん (ワッチョイ e3db-uznD)
23/10/03 11:29:47.91 Ovgwwfj90.net
>>347
「tiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入している」ね
columnsとrowsが配列のサイズを指定していることを理解していればそうは言わんでしょ
TileType型の配列の初期値に整数値が入るのなんで?ってことよ

354:デフォルトの名無しさん (ワッチョイ e3db-uznD)
23/10/03 11:40:39.38 Ovgwwfj90.net
>配列宣言は分かっているんですが、型が違いますよね
とか
>列挙型でも数字はありますもんね
って発言からもTileType型の配列には数値は入らないと思ってたけど入るんだと自分を納得させてるフシがある

355:デフォルトの名無しさん (ワッチョイ 23e5-VEJP)
23/10/03 12:51:54.86 Uvzxz0ni0.net
配列の宣言わかってるならあれを初期値だと思うか?
まぁ結局どういう考えかは本人にしかわからんけど

356:デフォルトの名無しさん (オッペケ Sr21-uznD)
23/10/03 13:13:20.28 E2u3qt3Tr.net
配列宣言は定数値じゃないといけないと思ってる、よりは言動の辻褄が合うのではないかという話
本人に聞かないと真実がわからんのはその通り

357:デフォルトの名無しさん (ワッチョイ 23c6-wNmW)
23/10/03 17:03:23.96 L0v6ZlZp0.net
単に定数値という言葉の意味をわかってないだけでしょたぶんTyleType型の各値のことを言ってる
なんなら宣言という言葉の意味もわかってないし代入すらわかってない可能性もある

358:デフォルトの名無しさん (ワッチョイ 1b22-uQQ6)
23/10/03 17:33:35.58 1Tt4UNmg0.net
スレタイさ、見て発言してる?

359:デフォルトの名無しさん (ラクッペペ MMcb-0bz8)
23/10/03 17:52:34.34 CTojctYiM.net
再掲

配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない

この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される

URLリンク(i.imgur.com)

360:デフォルトの名無しさん (スッップ Sd43-bAzQ)
23/10/03 18:15:58.67 F8D+VEMNd.net
>>354
初心者の建前でキチが暴れるスレよね

361:デフォルトの名無しさん (ワッチョイ ae8d-OOOs)
23/10/07 18:26:09.89 kQU1DN1N0.net
interfaceのクラス変数としてintとかの変数持たせるのはstatic intにしても同じことって理解
でいいですか?

362:デフォルトの名無しさん (オイコラミネオ MMad-GYY9)
23/10/07 18:34:14.76 Dbx341NqM.net
クラス変数とはなんだ?C#にそんなものはない

363:デフォルトの名無しさん (ワッチョイ ae8d-OOOs)
23/10/07 19:00:10.87 kQU1DN1N0.net
クラス変数は誤植ですねごめんなさい。interfaceの中に変数宣言できたことです。

364:デフォルトの名無しさん (ワッチョイ 85cf-pUf+)
23/10/07 19:22:08.91 M9UZ8U5c0.net
くだらない揚げ足取りは気にする必要なし

365:デフォルトの名無しさん (オイコラミネオ MMad-GYY9)
23/10/07 19:32:40.93 Dbx341NqM.net
揚げ足取りじゃない
質問も訂正もおかしなことを書いてる

366:デフォルトの名無しさん (ワッチョイ ae09-Ju92)
23/10/07 19:38:58.26 isyrDxYL0.net
C#でインターフェイスにフィールド(メンバ変数)を定義することはできないよ
なのでどういうのを想定しているのか回答者は全然分からない
用語を間違ってる可能性もあるからまずこういうコードというのを示してみたら

367:デフォルトの名無しさん (ワッチョイ 85cf-pUf+)
23/10/07 19:45:19.06 M9UZ8U5c0.net
>>361
発言がおかしいと感じたならそこを問いただせばいい
>>358は揚げ足取りでしかない
それともまさか本気で言ってる?

368:デフォルトの名無しさん (オイコラミネオ MMad-GYY9)
23/10/07 19:56:23.04 Dbx341NqM.net
ないものについて質問されてもないんだから答えようがない
それがまともな回答

369:デフォルトの名無しさん (ワッチョイ 85cf-pUf+)
23/10/07 20:01:14.99 M9UZ8U5c0.net
他の言語に触れてなくてクラス変数という用語自体を知らないのだろうか

370:デフォルトの名無しさん (オイコラミネオ MMad-GYY9)
23/10/07 20:02:30.94 Dbx341NqM.net
c#のinterface内でミューテクシオン宣言が使えないのはなぜですか?

回答
c#にミューテクシオン宣言と言うものはございません


これは揚げ足取りか?

371:デフォルトの名無しさん (ワッチョイ 85cf-pUf+)
23/10/07 20:05:04.36 M9UZ8U5c0.net
>>366
クラス変数という用語をご存知ですか?
イエスかノーでお答えください

372:デフォルトの名無しさん (オイコラミネオ MMad-GYY9)
23/10/07 20:06:57.65 Dbx341NqM.net
>>367
知らない

373:デフォルトの名無しさん (オイコラミネオ MMad-GYY9)
23/10/07 20:11:20.39 Dbx341NqM.net
誤植ですねについてああだこうだ言うのが揚げ足取り
イエスかノーかで答えてくださいに知らないと答えたのについてああだこうだ言うのが揚げ足取り

全然どうでもいいことにいちいち突っかかってくるID:M9UZ8U5c0が悪い

374:デフォルトの名無しさん
23/10/07 20:13:55.52 M9UZ8U5c0.net
>>368
これは失礼
他の言語の知識がなくてクラス変数自体を知らなかったのなら>>358の発言も仕方ない
ちなみにC#で言う静的メンバ変数に相当するものなので頭の隅に置いておこう

375:デフォルトの名無しさん
23/10/07 20:40:11.49 YtgTJ7v50.net
昔はできなかったがinterfaceにstatic memberを定義できるようになったんだよ

376:デフォルトの名無しさん
23/10/07 21:33:04.56 kQU1DN1N0.net
特に継承するわけでもないinterfaceの変数を使っていたので
staticでよくね?って思ったまでです。

377:デフォルトの名無しさん
23/10/07 21:41:19.16 kQU1DN1N0.net
>>362
メソッド以外定義できないんですか?普通にint xxx{get}みたいに変数定義してましたけど?

378:デフォルトの名無しさん
23/10/07 21:58:12.16 WiFpk8200.net
節子、それ変数やない、プロパティや

379:デフォルトの名無しさん
23/10/07 22:46:08.14 OKMBnv3y0.net
interfaceは実態まで定義できるようになって
これじゃ多重継承と何が違うんだろうね

380:デフォルトの名無しさん
23/10/07 23:10:34.30 Z0CAZWyi0.net
今や関数指向全盛じゃん
オブジェクト指向が諸悪の根源じゃねーーの
能力足りてないエンジニアばっかなんだから

381:デフォルトの名無しさん (ワッチョイ 0d01-Fpxc)
23/10/08 01:41:02.74 G8JXzzlJ0.net
関数指向全盛って初めて聞いた
データとかあるんですか

382:デフォルトの名無しさん (ワッチョイ bdad-bMpK)
23/10/08 02:27:58.84 4tUP3LVs0.net
>>376
まず構造化から学び直せ

383:デフォルトの名無しさん (ワッチョイ 7610-GYY9)
23/10/08 07:23:28.50 dIUTdDjP0.net
>>376が関数嗜好なだけでは

384:デフォルトの名無しさん
23/10/08 19:57:18.08 7GYxqXei0.net
(1)オブジェクト指向プログラミング A. クラスの定義 B. オブジェクトの生成 C. カプセル化 D. 継承 E. ポリモーフィズム
(2)関数型プログラミング A. 高階関数 B. クロージャ C. ラムダ関数 D. ジェネレータ E. デコレータ

385:デフォルトの名無しさん
23/10/08 22:38:19.92 ICyLMX1g0.net
>>380
デコレータはどちらかというとOOP用語
関数型では単なる関数合成の一種なのでわざわざデコレータとは呼ばない

386:デフォルトの名無しさん
23/10/08 23:26:13.26 5JmMmKk30.net
で、それでYOLOXは動くんかい

387:デフォルトの名無しさん
23/10/09 00:47:00.57 N+sXw7NG0.net
Taskについて質問です。
階層構造データを再帰的に探索する処理を階層ごとにTask.Factory.StartNewで並列化させて作ってるのですが、
WinFormsのControl.Invokeのように、子タスク内から親タスクのコンテキスト上で実行させたい処理があります。
今は親タスクで作成したリストを追加するActionを子タスクに渡して、後で親タスクでリストから取り出して処理を行っていますが、
可能であればControl.Invokeのように、子タスクのコンテキストのタイミングで親タスクのコンテキストに明示的に移って実行したいと考えています。
これを実現する方法があれば教えてください。Invokeの仕組みを解説してるサイトもあったのですが、意図する方法は見つかりませんでした。
void parent_proc(Tree tree) {
var locker = new ReaderWriterLockSlim(); var datalist = new List<string>(); var tasklist = new List<Task>();
Action<string> adddata = (string d) => { //排他制御でデータをリストに追加
locker.EnterWriteLock(); datalist.Add(d); locker.ExitWriteLock(); };
foreach (var node in tree) {
if (node.child != null) {
var task = Task.Factory.StartNew(() => { child_proc(node.child, adddata); }, TaskCreationOptions.AttachedToParent);
tasklist.Add(task);
} else {
datalist.Add(node.data);
}
}
Task.WaitAll(tasklist.ToArray());
foreach (var data in datalist) { //今は親タスクのコンテキスト上で処理している
}
}
void child_proc(Tree tree, Action<string> adddata) {
foreach (var node in tree) {
if (node.child != null) {
Task.Factory.StartNew(() => { child_proc(node.child, datalist); }, TaskCreationOptions.AttachedToParent);
} else {
adddata(node.data); // このリスト追加処理を無くして、ここで親コンテキストに移って実行したい
}}}

388:デフォルトの名無しさん
23/10/09 10:33:03.03 iALOF4I2M.net
分かってると思うけど親コンテキストには移れない
親に処理を委譲してるだけ
人間と同じ
それなら親が適切なタイミングでリストを見て実行する様に書き換えるだけだろ
当然waitもawaitも出来ない
脳内でじっくり何をやるか順をシミュレートして考え直すしかない

389:デフォルトの名無しさん
23/10/09 11:18:08.46 N+sXw7NG0.net
>>384
ありがとうございます。
よくよく考えるとControl.Invokeにはメッセージループがあるので、
ワーカスレッドから渡されたdelegateを同期的に実行するタイミングがある事に気付きました。
今回の場合Task.WaitAllにタイムアウトを入れて、子タスクのデータを泥臭くポーリングすることで意図する事ができました。
while (!Task.WaitAll(tasks, 50)) { check(); } // check内で子タスクデータを処理
check(); // 全子タスクが完了した後残りデータがあれば処理
ウィンドウが無いケースでもExecutionContextで強引に実現できそうな記事も見つかりましたが、
やろうとしてる事に対して複雑になりすぎるので今回はこれでいこうと思います。

390:デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
23/10/10 06:13:55.38 Cej5/emK0.net
キャストとパースは同じものでしょうか?
キャストは型変換で、その手法の1つがパースというイメージです。

391:デフォルトの名無しさん (ワッチョイ 5ae5-GYY9)
23/10/10 08:39:26.85 +0pTTr910.net
違います

392:デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
23/10/10 10:21:35.45 Cej5/emK0.net
キャストとParseメソッドの違いは、主に次の点です:

キャストは同じ型の変換に使用されます。つまり、基本的なデータ型間での変換(例: int から double への変換)に適しています。一方、Parseメソッドは、異なる型のデータを文字列から変換するために使用されます。

キャストは基本的に明示的な型変換です。つまり、変換先の型を明示的に指定する必要があります。例えば、(int)doubleValue というように変換先の型をカッコ内で指定します。一方、Parseメソッドは、変換元の文字列が適切な形式であることを確認し、それを適切な型に変換します。具体的な型指定は不要です。

理解
ありがと(*´ω`*)

393:デフォルトの名無しさん (ラクッペペ MM0e-1G1b)
23/10/10 10:34:12.03 l0kLdmnhM.net
キャストは同じ型の変換に使用されます。

いきなり意味不明でワロタ

394:デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
23/10/10 18:19:35.44 Cej5/emK0.net
テキストファイルから読み込んだ数字というのは文字列なんですね
だからparseが必要ってことか

395:デフォルトの名無しさん (アウアウウー Sa39-OOOs)
23/10/12 11:00:16.99 u59ybXeVa.net
float32/64からint32/64にキャストするときって
小数点以下は勝手に切り捨てられるってことで良いのかな
オーバーフローしてたらどうするのかな
色々面倒だよね
「同じ型の変換」って言われると
int32<->int64
の間のキャスト観たいなのを想像する
これも問題無い訳じゃないけど
parseは文字列からの変換を普通に思い浮かべるが
jsonのparseとかみたいに構造まるごと変換のときも使うしな

396:デフォルトの名無しさん
23/10/12 11:30:51.26 /aj2HENwM.net
マニュアル読め
全部書いてある

397:デフォルトの名無しさん
23/10/12 21:34:09.63 ZXm8+EHB0.net
その言葉が聞きたかった

398:デフォルトの名無しさん
23/10/13 01:32:05.01 /NTFMnAJ0.net
VisualC#を独習している者です。
教えてください。
GridViewコントロールに←→のような、カレント行を移動させるボタンって、ツールとして用意されていないのでしょうか?
コマンドボタンコントロールを並べて自作するしかないのでしょうか?

399:デフォルトの名無しさん
23/10/13 01:33:44.55 yXjHmc7Hd.net
引き続き独習してください

400:デフォルトの名無しさん
23/10/13 01:34:36.65 h+M8WaIua.net
そういうリッチな機能は標準じゃない
欲しいなら自作もしくは適当なUIライブラリ

401:デフォルトの名無しさん
23/10/13 01:43:53.31 /NTFMnAJ0.net
>>396
ありがとうございました。

402:デフォルトの名無しさん
23/10/13 07:24:31.11 5yHLdduY0.net
プログラミングの基礎固めってどこまでやるもんでしょうか
成果物作ろうとしても基礎が出来ないと効率悪いですよね

403:デフォルトの名無しさん
23/10/13 08:39:13.59 61zwOKk/M.net
このへんまで

404:デフォルトの名無しさん
23/10/13 09:19:59.83 HwONiL7X0.net
基礎学習は適当に切り上げてなにか作らないと続かないよ

405:デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
23/10/13 13:08:28.58 5yHLdduY0.net
>>400
配列の使い方程度なら基礎ですよね?
ゲームなどの成果物はすぐにでも作りたいのですが、他人のコードを読めない問題に直面しまして、基礎からやり直しです。

406:デフォルトの名無しさん (ラクッペペ MM0e-zIjd)
23/10/13 13:40:14.28 ZKg5gD/yM.net
倉庫番の人か

407:デフォルトの名無しさん (ワッチョイ 8d2a-pUf+)
23/10/13 14:03:01.11 C21zpC1k0.net
こないだの配列宣言の話のときは途中でフェードアウトしてたな
そういう中途半端な姿勢ではこの先も危ういだろう

408:デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
23/10/13 14:09:32.71 5yHLdduY0.net
ただの誹謗中傷になってる場合は、出来るだけ見ないようにしてます

409:デフォルトの名無しさん (ワッチョイ 8d2a-pUf+)
23/10/13 14:13:56.90 C21zpC1k0.net
誹謗中傷とそうでないものの区別がつかないならこのスレには向いてないよ
他所行ったほうがいい

410:デフォルトの名無しさん (ワッチョイ 6ecb-iLfk)
23/10/13 14:17:45.01 5yHLdduY0.net
それは受け取り方にもよるんですよね
特に人格に対する中傷なんかは得るものがない割に、気が滅入ります
主観的にどう受け取るかという部分もありますし、誹謗中傷の定義は万人共通ではないかと

411:デフォルトの名無しさん (ラクッペペ MM0e-1G1b)
23/10/13 14:25:28.33 61zwOKk/M.net
配列の宣言、作成、初期化、参照

古典のC言語でもポインタが理解できなくてリタイヤする奴は沢山いた

C#ではとても書きやすくなっているが同じ機能があるということは同様に難しいということ
逃げるなら早い方が良い

412:デフォルトの名無しさん (ワッチョイ 8d2a-pUf+)
23/10/13 14:31:08.93 C21zpC1k0.net
>>406
じゃあ聞くけど>>340-341のどこを中傷だと感じた?
俺は極力そういう言葉を避けて相手をしたつもりだけど

413:デフォルトの名無しさん (ワッチョイ 6e83-AlWi)
23/10/13 14:56:06.30 U+TO1bu90.net
>>406
お前はもう来るなよ
消えろや

414:デフォルトの名無しさん (ワッチョイ b133-Ju92)
23/10/13 15:44:17.55 dO1Gm34h0.net
>>401
Unityでゲーム作るのが目的なんだろ?
だったら、作って覚える系の入門書をどれか一冊こなしてみればいいと思うよ
そうすれば何が不足しているのか、もう少し具体的に自覚できるようになるから

415:デフォルトの名無しさん (ワンミングク MMea-B9JW)
23/10/13 15:58:28.16 Obwc2RPrM.net
1ヶ月も同じことをグダグダしてる馬鹿は荒らしか?そうでなければ才能ないから諦めて消えろ

416:デフォルトの名無しさん
23/10/13 19:01:36.48 aXuG2/tR0.net
入門書を読めというアドバイスには意地でも耳を傾けない初心者

417:デフォルトの名無しさん
23/10/13 20:52:48.46 p2gW+gfLM.net
ブラックジャックを思い出した

418:デフォルトの名無しさん
23/10/13 21:10:42.40 zzxv1uCg0.net
他人のコードを読み解くのは自分でコードを書くよりも能力が要る
断片的なネット記事から基礎を学習するのも他言語でプログラミングに慣れてないとちょっと厳しい
まぁ、完全な初心者は定番の入門書を読めってことなんだけど、聞く気無いんだろうなぁ

419:デフォルトの名無しさん
23/10/13 21:26:25.51 xHhmIQhj0.net
せめていい入門書はありますか?くらいには変わってほしい。

420:デフォルトの名無しさん
23/10/13 21:41:30.13 7GZqpMG8d.net
これでまたしばらくだんまりでほとぼりが冷めた頃に的外れな質問してくるようならダメだな

421:デフォルトの名無しさん
23/10/13 22:57:31.42 9b0YvF5R0.net
初心者には入門書「だけ」は無理だよ
環境設定とか、バージョンの組み合わせとかで動かないことが多い
その場合、初心者は解決できない
ググっても無駄だし

422:デフォルトの名無しさん
23/10/13 23:21:21.97 79LHTXDX0.net
俺はお前が判んなくても一向に困らないし相手してやってるのは自己満足の暇つぶしでしかねーんだよ有難く思えよ?ただし理解しようとしない馬鹿の常駐だけは勘弁
がこのスレ住人の大体の本音だろう。つまり馬鹿の相手をするな

423:デフォルトの名無しさん
23/10/14 01:34:27.59 Z8feDlim0.net
他人のコードを読むと勉強になると言うのは嘘。
情弱は、それに引っ掛かる
正しくは、他人のコードを無限に時間を浪費して読むと、
ほんの少し分かると言うだけ。
それを10年やっても、半年ぐらいの初心者に勝てない
他人のコードを読むのは、自分で書くよりも、10倍以上難しいし、
さらに悪い事に、記憶の定着率も最悪。
だから、勉強にならない
初心者は、掌田津耶乃みたいな入門書で良い
特に、ひろゆき・ホリエモンみたいなプログラミングの素人に聞かない事。
彼らは、やった事ないでしょ?

424:デフォルトの名無しさん
23/10/14 01:53:04.22 fodO8s4z0.net
AIに聞くのも無しだな
AIは平気で自信満々に大嘘を吐く
もちろん合ってる場合もあるけど、知識が無いと真偽を判断出来ない

425:デフォルトの名無しさん
23/10/14 01:53:43.47 fUs4mpOo0.net
>>419
こういうバカは無視でいいぞ

426:419
23/10/14 02:44:05.87 Z8feDlim0.net
これで初心者が、Ruby on Rails を学んで転職していくのが分かるでしょ?
それ以外の言語が通用しない理由。
10年やっても、何も作れないから
大学でC をやった香具師の99%が、プログラミングはしょーもない。
何も作れないとやめていく。
Cの教師が職を失いたくないからやってるだけなのに、それにだまされているだけ
C# も同じ。初心者ができるわけない。
9割がモデラー。プログラマーなんて、ほぼいない
Rails以外で、初心者が転職できる事はない!
難しさの桁が違う
3D モデルを作って動かすんだよ。
クォータニオンとか、数学物理をやっていないと無理。
Python と同じ。文系なんて採用されないでしょ。
だから、文系のアホは皆、Railsへ行く
プログラマーはまず、Railsなどをやった後の話

427:デフォルトの名無しさん
23/10/14 03:58:59.56 kxoihP4v0.net
C/C++も結局は環境依存の各種ライブラリを使わないと初心者では大したものは作れない
普通の授業だとファイル入出力までで終わりで
ディレクトリ操作のdirect.hなんて教えてくれる所は少ないからな

428:デフォルトの名無しさん (ワッチョイ 39f8-jJly)
23/10/14 07:56:47.72 uWMJSV260.net
RORはGPLに汚染されたので関わらないのが吉

429:デフォルトの名無しさん (ワッチョイ 8b10-pCU2)
23/10/14 08:14:57.36 UlVPgub+0.net
配列の話の時も、どういう理解で話してんのか皆が疑問に思ってんのに
質問するだけで疑問への説明も無くフェードアウトだったからなぁ

430:デフォルトの名無しさん (ワッチョイ 13e5-pCU2)
23/10/14 08:20:19.40 VmmeRCt60.net
言われた通りやってるだけでプログラミングに対する目的意識が無いから
入社後に作らせてみてもネットのコピペとかばっかで内容理解してないんだよな
そりゃあ何も作れるわけないわ

419とかそれ系の僻みじゃねぇの?w

431:デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
23/10/14 11:18:53.62 eUQTPEKE0.net
小学校6年くらいの段階でC#でテトリス作れたら将来有望?
最近の子供はまじでプログラミングに関しては優秀なイメージ
C#分かってる小学生10人に1人くらいはいそう

432:デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
23/10/14 11:23:19.49 eUQTPEKE0.net
同僚の子供がC#でテトリスを応用化したゲーム作っててまじで焦ってる
テトリスなんて入社研修で作るからようは12年も先取りしてるってこった

433:デフォルトの名無しさん
23/10/14 12:03:13.89 JNPOXyOW0.net
子供が大人にプレゼンしてる番組あるじゃない
あれみたいに好きでやってると脳はバンバン吸収する
オレの脳は歴�


434:jや城の良さをプレゼンされても全然入ってこない



435:デフォルトの名無しさん
23/10/14 12:06:37.52 x03gZ5vca.net
>>420
掌田津耶乃はNGワードに入れてる

436:デフォルトの名無しさん
23/10/14 12:07:19.53 x03gZ5vca.net
あれ?アンカ間違った
>>421
掌田津耶乃はNGワードに入れてる

437:デフォルトの名無しさん (ワッチョイ 7b93-f0fU)
23/10/14 14:03:24.13 eUQTPEKE0.net
>>429
テトリスってことは難めの非同期とかも理解してるってことだよな
ブロックの回転とか難しそうだしマニアックな文法も理解してそうだ
人生余裕なんだろうな

438:デフォルトの名無しさん (ワッチョイ 315f-iZeJ)
23/10/14 14:48:41.51 XZPKtcR/0.net
入門がてら、はじめて自作のWindowsフォームソフト(ストップウォッチ)を作りました。
今後もC#の学習を続けてもっと技術を身につけたらこのソフトも機能追加して改善していくつもりです。

そこでお聞きしたいのですが、VisualC#において、バージョン番号の管理ってできないでしょうか?
現在は、何か手を加えるたびに、アップデート記録.csファイルに変更点をコメントで記述し、メインフォームに
あるラベルコントロールのテキストを「ver.1.00」から「ver.1.01」へ等と手で書き換えています。
なんとなくの想像ですが、「いまのバージョン番号」「前バージョンからの変更点」を記録しておく仕組みが
VisualStudioかVisualC#にはあるのではないかと思うのですがいかがでしょうか?
プロの人も私と同じように手作業でやってるとは思えないのですが。

439:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 15:51:21.57 VHbVocpfM.net
プロの人は仕様書に書かれたのを手で更新してると思うw

ソースコード自体のバージョン管理はgit
変更はこれでさかのぼれる

その他にバージョンの番号の仕組みはあるにはあるけどバージョン管理とは言うもののそれは実際何なのかと言うことになる
そこの入り口を通ってないと仕組みを知ってもあまり活用できない

ドボンと言うサイトにも書いてあるけどじゃあ理解されるのか使われるのかと言うと疑問
個人では日付管理レベルぐらいじゃないかと

440:デフォルトの名無しさん (アウアウエー Sae3-J6+P)
23/10/14 16:03:02.60 zTCJ5Aqla.net
バージョン番号(ビルド番号)を自動設定したいなら、プロジェクトの設定でビルド時に実行できるコマンドを設定できるから
そこに「テキストファイルから数値読み込んでその数値をひとつずつ大きくして上書きする」コマンドラインツールを自作して設定しとけばいい
そしたらビルドするたびにそのツールが実行されて勝手にビルド番号が上がってく
ストップウォッチでは起動時のそのテキストファイルを読み込んで数値を表示するようにしときゃいい

441:デフォルトの名無しさん (ワッチョイ 392f-wwqB)
23/10/14 17:05:06.76 QqyzTN0i0.net
>>433
実行モジュールのバージョン管理とソースコードのバージョン管理がごっちゃになってるようだから
まずそこを区別して考えよう

442:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:07:01.90 VHbVocpfM.net
>>427
マジレスするとテトリスはもう使い古されてて
数年前にはyoutubeで1時間でテトリス作ります見たいなのが溢れてた
それを追えば普通に同じものは出来る

それは確かcだったけどC#のも探せばあるだろう
どちらかと言うとそこがスタートラインかな
まともに完成品をコピー出来ることが重要

ライブコーディングが流行ってた時期はもう過ぎてるけどゲーム制作の需要はまだ続いてる

443:デフォルトの名無しさん (ワッチョイ 8b10-pCU2)
23/10/14 21:14:29.46 UlVPgub+0.net
高速コピーすれば理解できるわけじゃないけどな

444:デフォルトの名無しさん (オイコラミネオ MMd5-pCU2)
23/10/14 21:20:50.18 VHbVocpfM.net
自分が大学に入った際に実習室の脇に置いてあったDOSマシーンに先輩の作ったテトリスが入ってた
それは普通のレベルだったけどコマが6角形になった奴も作ってた
誰かの作ったものを自力で作り直したらしいけど難しすぎて全然面白くなかった
完成度は以上に高かったが独自ルールが入っててそれが余計に邪魔だった

やれる人は一度進むとどこまでも自力で突き進める
他人に頼らない


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch