[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart14 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
343: 342 2024/07/07(日)08:17 ID:ufhD6613(1) AAS
自己解決しました。プロジェクト名が日本語だったためこんな挙動になってました
344: 2024/07/07(日)10:55 ID:RK+xatXL(1) AAS
海外製のツールは例え日本語対応を謳っていようとも、プロジェクトなどの名称は半角英数しか使わないようにしてるなぁ。
なんならOSのユーザー名もそうしてるわ。

Macは使った事ないから知らんけど、Windowsだとユーザー名に日本語を使ったせいで挙動がバグる海外産ソフトウェアがあったりするし。
(元々ログインIDみたいなやつには半角英数しか使わなかったので、幸いその手のバグに遭遇した事はない)
345: 2024/07/07(日)13:39 ID:Rujfkdmm(1) AAS
IT関連はほとんど無意識的にどんな名前にも日本語なんか使わないわ
346: 警備員[Lv.16]:0.00453703 2024/07/07(日)13:43 ID:9oUr0huc(1) AAS
どうしても使いたければpurojekutoだよなw
347: 2024/07/07(日)14:11 ID:yqs+j8Fb(1) AAS
いや、それを言うなら prjkt だぞ
ローマ字は長くなるので、規約で母音抜きになっていたりする
ゲームではないがな
348: 2024/07/08(月)19:28 ID:TUmTdo9o(1) AAS
VFX Graphでバージョン2023.2.20f(最新バージョン)だとノードの出力部分に分離機能がないです
半年前のバージョンの2023.2.20fだとノードの出力部分に分離機能があります
分離というのはシェーダーグラフで例えるとスプリットです
新バージョンの分離機能はどこにいったか分かりますか?
349
(1): 2024/07/13(土)08:49 ID:/0PycNBt(1/3) AAS
質問です

public string assetName => $"abcEffect.{name}";

こういう変数宣言があるんですけど
このラムダ式にしている意味を教えてほしいのである
350
(1): 2024/07/13(土)10:01 ID:Npd64lK/(1) AAS
意味?したいからやろ
351: 2024/07/13(土)10:03 ID:/0PycNBt(2/3) AAS
>>350
答えられんなら出てくるな
352
(1): 2024/07/13(土)10:29 ID:gFpiL+hG(1) AAS
したいからとしか言いようがないわな
あと、それは変数宣言ではない
353: 2024/07/13(土)11:13 ID:/0PycNBt(3/3) AAS
>>352
「言いようがない」なら黙っとけ
354: 2024/07/13(土)12:57 ID:CvMAVi1X(1) AAS
意味はないある
355
(1): 2024/07/14(日)14:28 ID:GtN6L5P9(1) AAS
そのコードにした人の習慣だけど、強いて言うなら短いからじゃない?
356: 2024/07/14(日)14:52 ID:T7j2ATLe(1/4) AAS
>>355
理由はきいておらん意味をしりたいのである
357: 2024/07/14(日)15:08 ID:xKBnT3Fd(1) AAS
意味などないある
記法がないある事で何かがないある
358: 2024/07/14(日)19:08 ID:zt4sLw5H(1) AAS
煽るにしても日本語で伝わるように書いてくれ
359: 2024/07/14(日)20:16 ID:LGuBexn+(1/3) AAS
>>349をそのままChatGPTに投げてみた

このコードは、C#のプロパティ宣言の一例ですね。ここで使われているラムダ式(=>)は、矢印関数またはラムダ式として知られています。具体的には、assetNameというプロパティが定義されており、その値は文字列リテラルの補間を使って計算されています。

ここで$を使った文字列補間は、中括弧 {} 内に変数や式を埋め込む方法です。nameという変数(おそらくクラス内の別のプロパティまたはフィールド)の値が、abcEffect.という文字列の後ろに続いて追加されて、最終的にassetNameの値となります。

このようなラムダ式を使うことで、プロパティの値が動的に計算されるため、柔軟性が増し、コードが簡潔になります。
360: 2024/07/14(日)20:17 ID:dbzTY/RG(1) AAS
なら、それを記述した人に聞かないと分からないと思うの。
361: 2024/07/14(日)20:25 ID:T7j2ATLe(2/4) AAS
つてことは

public string assetName = "abcEffect." + name;

とおなじことなんですけ?
362
(1): 2024/07/14(日)20:37 ID:LIEaBwaL(1/2) AAS
違う

getterの省略形
363: 2024/07/14(日)21:37 ID:T7j2ATLe(3/4) AAS
>>362
ちゃんと具体的にコードで書くあるよ
364: 2024/07/14(日)21:40 ID:LIEaBwaL(2/2) AAS
それで調べられないレベルならGAMEOVERだろ
365: 2024/07/14(日)22:11 ID:GDWz+zPs(1) AAS
遅延評価だね
366: 2024/07/14(日)22:22 ID:T7j2ATLe(4/4) AAS
public string assetName = "abcEffect." + name;

だとダメな理由をおしえてほしいのである
367: 2024/07/14(日)22:29 ID:RZHvmMZr(1) AAS
それで用が足りるならダメではない
368: 2024/07/14(日)22:43 ID:LGuBexn+(2/3) AAS
再びChatGPTに聞いてみた
public string assetName = "abcEffect." + name;
との違いは?

(回答が長いので省略)
結論
assetNameが常に最新のnameの値を反映する必要がある場合、プロパティの使用が適しています。一方、nameの初期値だけに基づく固定の文字列が必要な場合は、フィールドの使用が適しています。
369: 2024/07/14(日)22:51 ID:LGuBexn+(3/3) AAS
AIが吐いたコードも貼っとくか
自分で動作チェックはしてない
あとは知らん

public class Example
{
public string name = "initial";
public string assetNameField = "abcEffect." + name; // フィールド
public string assetNameProperty => $"abcEffect.{name}"; // プロパティ
}

var example = new Example();
Console.WriteLine(example.assetNameField); // "abcEffect.initial"
Console.WriteLine(example.assetNameProperty); // "abcEffect.initial"

example.name = "updated";
Console.WriteLine(example.assetNameField); // "abcEffect.initial" (変更されない)
Console.WriteLine(example.assetNameProperty); // "abcEffect.updated" (最新の値を反映)
370: 2024/07/14(日)23:44 ID:xNzgnRZV(1) AAS
公式ドキュメント貼ってあげたら

Statement lambdas
外部リンク:learn.microsoft.com
371: 2024/07/15(月)00:15 ID:zwXhQWpg(1) AAS
バカバカしい
nameが固定なら最初から
public string assetName = "abcEffect.initial";
って書くし
nameが変動するんならそのタイミングで再度
assetName = "abcEffect." + name;
って上書きやるだけだろ
372: 2024/07/15(月)00:55 ID:PCgeN2sl(1) AAS
上書きするのを意識しなくても勝手に上書きされるんだな
1-
あと 630 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s