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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
357: 名前は開発中のものです。 [sage] 2024/07/14(日) 15:08:41.97 ID:xKBnT3Fd(1) AAS
意味などないある
記法がないある事で何かがないある
358: 名前は開発中のものです。 [] 2024/07/14(日) 19:08:36.55 ID:zt4sLw5H(1) AAS
煽るにしても日本語で伝わるように書いてくれ
359: 名前は開発中のものです。 [sage] 2024/07/14(日) 20:16:49.16 ID:LGuBexn+(1/3) AAS
>>349
349(1): 名前は開発中のものです。 [sage] 2024/07/13(土) 08:49:19.20 ID:/0PycNBt(1/3) AAS
質問です

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

こういう変数宣言があるんですけど
このラムダ式にしている意味を教えてほしいのである
をそのままChatGPTに投げてみた

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

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

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

public string assetName = "abcEffect." + name;

とおなじことなんですけ?
362
(1): 名前は開発中のものです。 [sage] 2024/07/14(日) 20:37:29.11 ID:LIEaBwaL(1/2) AAS
違う

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

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

(回答が長いので省略)
結論
assetNameが常に最新のnameの値を反映する必要がある場合、プロパティの使用が適しています。一方、nameの初期値だけに基づく固定の文字列が必要な場合は、フィールドの使用が適しています。
369: 名前は開発中のものです。 [sage] 2024/07/14(日) 22:51:41.91 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: 名前は開発中のものです。 [sage] 2024/07/14(日) 23:44:27.15 ID:xNzgnRZV(1) AAS
公式ドキュメント貼ってあげたら

Statement lambdas
外部リンク:learn.microsoft.com
371: 名前は開発中のものです。 [sage] 2024/07/15(月) 00:15:23.41 ID:zwXhQWpg(1) AAS
バカバカしい
nameが固定なら最初から
public string assetName = "abcEffect.initial";
って書くし
nameが変動するんならそのタイミングで再度
assetName = "abcEffect." + name;
って上書きやるだけだろ
372: 名前は開発中のものです。 [sage] 2024/07/15(月) 00:55:02.49 ID:PCgeN2sl(1) AAS
上書きするのを意識しなくても勝手に上書きされるんだな
373: 名前は開発中のものです。 [sage] 2024/07/15(月) 09:39:17.44 ID:ooOtqfH7(1) AAS
そりゃ馬鹿しかいないもん
374: 名前は開発中のものです。 [sage] 2024/07/15(月) 09:50:13.63 ID:3W3GJ09H(1) AAS
てかよく見たらlambdaじゃないじゃん、これ
誰だよラムダ式って言ったやつ

Unity C#: Expression-Bodied Members to Reduce Your Code Verbosity
外部リンク:thegamedev.guru
375: 名前は開発中のものです。 [sage] 2024/07/15(月) 12:41:08.45 ID:nmjPYER8(1) AAS
内容が短いメソッドやプロパティを書くとき、もっと簡潔に書けたらよいのにと思ったことはないだろうか?
読み取り専用のプロパティを大量に書く場合には、特にそうだろう。それがC# 6.0からは、ラムダ式を使って
簡潔に書けるようになっているのだ。C# 7.0では、さらに便利になっている。本稿ではその使い方を説明する。
376: 名前は開発中のものです。 [sage] 2024/07/15(月) 14:46:31.69 ID:liViB/GY(1) AAS
Unityのビルドエラーについて調べてる時、スクリプトにラムダ式があるとエラーが出ると書いてあるのを見てからラムダ式は入れないようにしている
ここ見てると皆は普通に動いてるようだし古いか間違ってる情報なんだろうけどちゃんと動いてるからそれでいい
377: 名前は開発中のものです。 [sage] 2024/07/15(月) 17:37:00.10 ID:GYa7D92L(1) AAS
???
378: 名前は開発中のものです。 [sage] 2024/07/16(火) 06:24:36.90 ID:BbkeSCKC(1) AAS
private string name;
が上にないか?
プロパティアクセサで安全に取り出してるんちゃうか
379: 名前は開発中のものです。 [sage] 2024/07/18(木) 22:42:31.02 ID:2/wojvWv(1/2) AAS
今日も元気だ暴飲暴食!ウナトトで豪遊してきた!
うな丼!キムチ!ビール500㍑!これでたったの1380円!m9⎛´・ω・`⎞ドーン!
画像リンク

380: 名前は開発中のものです。 [sage] 2024/07/18(木) 23:27:34.57 ID:Flhh8KiJ(1) AAS
ウナギ小さっ!
381: 名前は開発中のものです。 [sage] 2024/07/18(木) 23:40:31.02 ID:2/wojvWv(2/2) AAS
小さいなら2枚にすればいいじゃない!m9⎛´・ω・`⎞ドーン!
1-
あと 621 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s