[過去ログ] スレ立てるまでもない質問はここで 161匹目 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
255: 2022/09/29(木)19:17 ID:yzYmCLI1(3/10) AAS
>>250
別クラスのメソッド内で作った変数Bをメインクラスの変数Aに入れたいときってことなんだが…
まぁなんか見た感じ言語特有らしいのでその言語のスレで聞きましたわ
なんか色々考えてくれてありがとうございます
256
(1): 2022/09/29(木)19:30 ID:xLGmAerI(1) AAS
インスタンスの解放を自前でやる言語でなければ好みの問題の範囲だと思うが
257
(1): 2022/09/29(木)19:53 ID:UH+Zd6DV(1) AAS
>>256
そんなのCだけじゃん
C++はスマポ使えば自動解放だし
Rustは常に自動解放だし
そもそも今回の件と解放は関係ないし
258: 2022/09/29(木)19:59 ID:ZjyFu9Pk(1) AAS
>>253
ローカル変数もイミュータブルで良い
for文などの自動更新変数は手動書き換え出来ないイミュータブル扱いの言語が多いから可能
259: 2022/09/29(木)20:55 ID:HxLzcltj(1) AAS
>>244
クラスインスタンスをフィールドやシングルトンなりで長期間保持するならプロパティにする
短期間保持(メソッドやブロック)ならリターンにする

たまにパターンによって複数のメソッド呼び出しをif文で変えてる場合はプロパティにしてるのコードを見かける
個人的には必要な情報をコンストラクタで渡すからリターンで書くけどね
260
(1): 2022/09/29(木)20:57 ID:D9meFc20(1) AAS
>>244が宇宙人みたいに見えるw
実際のコードでも提示した方が良いのでは?
261
(1): 2022/09/29(木)21:25 ID:5k0MXCr/(1) AAS
バックグラウンドスレッドで数秒毎にメソッドを実行して結果をプロパティに保存
プロパティが変更されたらそれをオブザーブしてるスレッドがプロパティを読んで画面を更新

みたいなのはよくある話
262
(1): 2022/09/29(木)21:38 ID:nA4Nikqb(2/3) AAS
>>260
MAUI Highschoolていう動画を公開してるやつだぞ
最新の動画がまさにそういう戻り値の変な渡し方をしてたから

class Aにメソッドとプロパティがありメソッドの戻り値はvoidで呼び出すと返すべき値をプロパティにセットする
呼び出し側はclass Aのインスタンスを作成してメソッドを呼び出した後にプロパティを参照する
そのプロパティはclass A側で保持する意味のないものでもう使わない
263: 2022/09/29(木)22:01 ID:C9z6YVIX(1) AAS
>>261
それスレッド間共有メモリの悪手
264: 2022/09/29(木)22:17 ID:mQhfaXoY(2/2) AAS
クラス名や変数名にカナや漢字が使える時代だから
> 変数A=クラス.メソッド(引数)

> 変数A=クラス.プロパティ
ぐらいはいいけど
> クラス=ニュークラス
は違和感あり過ぎ
265: 2022/09/29(木)22:23 ID:o1s2vCU9(1) AAS
パース処理を非破壊的に書こうとすると一度しか使っていない似たような名前が増える
266: 2022/09/29(木)22:27 ID:yzYmCLI1(4/10) AAS
>>262
そうするとreturnで返したほうがいいんですかね?
副作用的なやつがあるのかなと
処理スピードが遅くなるとか
今まだ3ヶ月しかプログラミングやってないのでそういう基本的なことができてない
267
(1): 2022/09/29(木)22:31 ID:yzYmCLI1(5/10) AAS
awit asyncの処理だとタスクしか戻らないので変数がタスク以外のときはプロパティを渡すしがないのかなってのはありますね
その感じで覚えちゃってるので
268
(2): 2022/09/29(木)22:34 ID:+nkVuy43(1) AAS
>>267
そんな欠陥言語があるのか?
269: 2022/09/29(木)22:35 ID:kOL/SO6R(1) AAS
>>257
Delphi経験者はこういうときインスタンスの破棄はどこですべきかとかついつい考えちゃうんですよ
ごめんね
270: 2022/09/29(木)22:44 ID:yzYmCLI1(6/10) AAS
>>268
欠陥じゃないと思うけども…

画像リンク

271
(1): 2022/09/29(木)22:56 ID:vOlJ4Qt9(3/3) AAS
3か月の段階で非同期処理扱うの早い
それなりに設計もコーディングも能力あげないと同期・非同期は自分自身の手で複雑な構造作る事になるものだから
2~3年後くらいでもいいよそれ
272
(1): 2022/09/29(木)23:04 ID:yzYmCLI1(7/10) AAS
>>271
でもTask.Delayとか非同期処理じゃないとできない処理がたくさんあるんです!
HttpRequestとかも同期処理用のメソッドを書くとVSがこれは古い記述方法ですって言ってくるので非同期処理のメソッド使わにゃならんのです!
ただまぁreturnで値が取れること知れたので良かったですわ
returnとかほぼ使ったこと無い…
273
(2): 2022/09/29(木)23:07 ID:S94uJYpZ(1/2) AAS
>>244をRubyで書くと
class Hoge
 def method(arg)
  b = 1
  return b
 end
end

obj = Hoge.new
a = obj.method(arg)

これを
class Hoge
 attr_reader :b

 def method(arg)
  @b = 1
 end
end

obj = Hoge.new
obj.method(arg)
a = obj.b
にするみたいなこと?
274: 2022/09/29(木)23:10 ID:yzYmCLI1(8/10) AAS
>>273
Rubyわからんけどそんな感じ
275: 2022/09/29(木)23:28 ID:oF7kbS+2(1) AAS
もうカオスだなww
276: 2022/09/29(木)23:36 ID:nA4Nikqb(3/3) AAS
>>268
んなこたない
そいつがTask<T>を知らないだけ
277
(1): 2022/09/29(木)23:43 ID:S94uJYpZ(2/2) AAS
変数Aに何らかの値を代入するのが目的なら
後者を選択する理由が自分には見つからない。
何かありそう?
278: 2022/09/29(木)23:50 ID:yzYmCLI1(9/10) AAS
>>277
単純に覚えているので楽だから
279
(1): 2022/09/29(木)23:50 ID:yzYmCLI1(10/10) AAS
何も弊害がないならこのままで行きたい
280
(1): 2022/09/30(金)00:02 ID:6qvEDMgz(1/2) AAS
>>273
まず、def method(arg) の引数argを使っていないので、おかしい

上は単に値を返しているだけで、インスタンスの状態を変えていない。
変数b はローカル変数だから

一方、下は一旦、インスタンス変数に記憶して、それを返しているので、
インスタンスの状態が変わっている

つまり、上と下ではインスタンスの状態が異なる
281: 2022/09/30(金)00:10 ID:HVJ0/rg+(1/2) AAS
てかrubyでmethodとか安易に使うなよ
Object#methodが既に存在するのオーバーライドしてるだろ
282: 2022/09/30(金)00:20 ID:Oln8rmkE(1/2) AAS
273だけど良かれと思って横からコードでっち上げたけどやらないほうが良かったか。
話ずれてしまったな。
283: 2022/09/30(金)00:39 ID:xDSUJNnu(1) AAS
正直この板でrubyって見るだけでげんなりする
284: 2022/09/30(金)00:52 ID:IIgnubfp(1) AAS
>>279
まじか
そんな理由ならやめとけ

必要もなくメソッドとプロパティが密な依存した構造になってるから使いにくいしメンテもしにくい
Task<TResult>調べろよ
1-
あと 718 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.014s