!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part149
http://mevius.5ch.net/test/read.cgi/tech/1608085775/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part150
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2b02-+i0H)
2021/03/23(火) 12:58:24.10ID:ACoFzk2L0256デフォルトの名無しさん (ラクッペペ MM8f-aCHF)
2021/04/18(日) 01:09:20.83ID:IgLv47etM 落ち着け(´・ω・`)
パッケージ、開発環境、コマンドプロンプト
全然話が繋がっていない
パッケージ、開発環境、コマンドプロンプト
全然話が繋がっていない
257デフォルトの名無しさん (ワッチョイ bf62-rOyz)
2021/04/18(日) 08:55:30.53ID:v8qpskqd0258デフォルトの名無しさん (ワッチョイ 3754-n3xY)
2021/04/18(日) 18:43:20.44ID:H0K908230 なんとなくエスパーすると、開発ソフトをインストールさえすれば、その後はネット非接続で何でも開発出来る環境が理想ってこと?
なら、たぶん無い。
.net sdk使って、標準ライブラリだけ使うなら出来るんかな?
結局必要なライブラリやらランタイムをDLするか、他のPCでDLして開発PCに入れる事になりそうだけど。
なら、たぶん無い。
.net sdk使って、標準ライブラリだけ使うなら出来るんかな?
結局必要なライブラリやらランタイムをDLするか、他のPCでDLして開発PCに入れる事になりそうだけど。
259デフォルトの名無しさん (ワッチョイ 97b5-Ct9k)
2021/04/18(日) 18:52:54.76ID:qPyS0oex0260デフォルトの名無しさん (ワッチョイ d768-B9Cj)
2021/04/18(日) 21:38:47.12ID:hpbx6fns0261デフォルトの名無しさん (ワッチョイ d7ac-HAyt)
2021/04/18(日) 23:39:25.09ID:svx6jcyS0 今はネットワーク繋いでなんぼの時代だから
262デフォルトの名無しさん (テテンテンテン MM8f-LzhE)
2021/04/18(日) 23:42:54.47ID:4BU0O/MkM そういうセキュリティの気にし方をするのであれば、普段使いのPCとは別に
個人情報を一切入れないPCを1台用意して開発勉強専用にするのが一番安心できると思うよ
外に漏れて困るようなレベルのコードを書くならダメだけどさ
というかMicrosoftDocsやGitHubやStackOverflow/Qiitaとか一切閲覧できない環境で
NuGetやNPMに登録されてる出来合いのライブラリもまったく利用しない縛りを入れて
自分の能力だけで1から100までコードを書けるなんてすごいなあ
俺にはそんな縛りプレイしてたらとてもじゃないけど開発にならないや
個人情報を一切入れないPCを1台用意して開発勉強専用にするのが一番安心できると思うよ
外に漏れて困るようなレベルのコードを書くならダメだけどさ
というかMicrosoftDocsやGitHubやStackOverflow/Qiitaとか一切閲覧できない環境で
NuGetやNPMに登録されてる出来合いのライブラリもまったく利用しない縛りを入れて
自分の能力だけで1から100までコードを書けるなんてすごいなあ
俺にはそんな縛りプレイしてたらとてもじゃないけど開発にならないや
263デフォルトの名無しさん (ワッチョイ 9fad-EDaw)
2021/04/19(月) 01:35:18.62ID:X+u8pzLd0 インターネットにつながっていないが故に管理がおろそかになってパッチ適用がされない弊害の方がやっかい
日立のランサムウェアなんかはまさにそれ
日立のランサムウェアなんかはまさにそれ
264デフォルトの名無しさん (ワッチョイ bf68-tdH6)
2021/04/19(月) 01:49:10.86ID:c6NDAp6p0 構造体(値型)を関数の参照渡し以外で、参照する方法ってありますでしょうか?
配列の構造体にアクセスするコードを書いているのですが、
逐一配列の添字計算が入るのも嫌なので避けたいと思っています。
添字の数は関数の中では変わりません。
今は関数の参照渡しで使っていますが、他に方法は無いのかなと思いまして。
配列の構造体にアクセスするコードを書いているのですが、
逐一配列の添字計算が入るのも嫌なので避けたいと思っています。
添字の数は関数の中では変わりません。
今は関数の参照渡しで使っていますが、他に方法は無いのかなと思いまして。
265デフォルトの名無しさん (ワッチョイ 375f-QJa2)
2021/04/19(月) 02:02:38.37ID:Kd9UEe0s0 >>264
refローカル変数じゃあかんの?
refローカル変数じゃあかんの?
266デフォルトの名無しさん (ワッチョイ ffa7-zL3N)
2021/04/19(月) 02:03:15.10ID:lMV2Jqgd0 >>264
理想形が見えねぇ
理想形が見えねぇ
267デフォルトの名無しさん (ワッチョイ b733-UBeK)
2021/04/19(月) 02:06:16.22ID:4lrHWi0u0 配列の構造体って何?
268デフォルトの名無しさん (アウアウウー Sa1b-B9Cj)
2021/04/19(月) 02:06:36.98ID:XVH2We7ia269デフォルトの名無しさん (ワッチョイ bf68-tdH6)
2021/04/19(月) 02:14:43.49ID:c6NDAp6p0270デフォルトの名無しさん (ワッチョイ fff2-9WMT)
2021/04/19(月) 03:18:25.46ID:RtpbkBzw0 オフライン環境での開発だけど、
VS Community2019のオフラインインストーラをダウンロードして
オフライン環境に持ち込んで使ってる
c#でフォームのデスクトップアプリしか作らんので特に困ってない
VS Community2019のオフラインインストーラをダウンロードして
オフライン環境に持ち込んで使ってる
c#でフォームのデスクトップアプリしか作らんので特に困ってない
271デフォルトの名無しさん (ワッチョイ 5724-DdNk)
2021/04/19(月) 07:43:09.06ID:rq760clV0 >>264
var p = &array[5];
var p = &array[5];
272デフォルトの名無しさん (ブーイモ MMbb-Vz79)
2021/04/19(月) 07:51:00.81ID:trWXRHySM ゆう君みたいにCSCで開発するのだ
273デフォルトの名無しさん (ワッチョイ 9fad-EDaw)
2021/04/19(月) 08:22:30.53ID:X+u8pzLd0 >>270
バグや脆弱性対応は?VS2019って頻繁に更新されてるけど
バグや脆弱性対応は?VS2019って頻繁に更新されてるけど
274デフォルトの名無しさん (テテンテンテン MM8f-wT4Z)
2021/04/19(月) 08:27:27.76ID:eEvFTkhNM >>273
offlineインストーラーも知らないのは開発者としてどうかと思う
offlineインストーラーも知らないのは開発者としてどうかと思う
275デフォルトの名無しさん (ワッチョイ 9736-pvza)
2021/04/19(月) 09:01:07.98ID:qHBf6kdf0 getsetプロパティをFuncで呼び出せるようにしたいのですが可能でしょうか?
メソッドで括って呼び出せば良いのだろうけど直接Funcに入れる方法があるならそうしたいです
メソッドで括って呼び出せば良いのだろうけど直接Funcに入れる方法があるならそうしたいです
276デフォルトの名無しさん (ワッチョイ 7f7c-xwMB)
2021/04/19(月) 09:10:46.59ID:a1UfxEQG0 よく分からん
Func<string> func = () => person.Name;
を
Func<string> func = person.Name;
みたいに書きたいってことか? 無理だけど
func = person.Name.Surname;
のときperson.Nameがいつ解決されるのか判断つかないし
Func<string> func = () => person.Name;
を
Func<string> func = person.Name;
みたいに書きたいってことか? 無理だけど
func = person.Name.Surname;
のときperson.Nameがいつ解決されるのか判断つかないし
277デフォルトの名無しさん (ワッチョイ 9736-pvza)
2021/04/19(月) 09:26:07.33ID:qHBf6kdf0 >>276
返信ありがとうございます
イメージとしては複数のクラスで
public bool hoge {set => test = value; }
が複数あって
List<Func<bool, bool>> func;
に追加していってキャンセルとか何らかの処理後に一括して戻したい、と言うような処理です
やはりプロパティってメソッドみたくできないFuncに入れる事ができないんでしょうか
他の方法ですっきりする方法はないですかね?
返信ありがとうございます
イメージとしては複数のクラスで
public bool hoge {set => test = value; }
が複数あって
List<Func<bool, bool>> func;
に追加していってキャンセルとか何らかの処理後に一括して戻したい、と言うような処理です
やはりプロパティってメソッドみたくできないFuncに入れる事ができないんでしょうか
他の方法ですっきりする方法はないですかね?
278デフォルトの名無しさん (ワッチョイ ffa7-zL3N)
2021/04/19(月) 09:56:26.88ID:lMV2Jqgd0 やりたいことがさっぱりわからんな
ダイアログのキャンセル押したら画面ごと破棄でいいじゃん
ダイアログのキャンセル押したら画面ごと破棄でいいじゃん
279デフォルトの名無しさん (ワッチョイ bf62-rOyz)
2021/04/19(月) 10:04:55.77ID:aTPYfb0+0280デフォルトの名無しさん (ワントンキン MM4f-Ct+I)
2021/04/19(月) 10:21:06.38ID:8YZTYag9M まあ気持ちはわかる
(Webでなく)GUIアプリで独学した初心者って、エンティティオブジェクトをアプリ全体で生存させるような設計をしちゃうんだよな
オブジェクト指向を普通に解釈すりゃそれが自然なんだけど、実際そういう設計はしないんだよ
ドメインモデルだろうとトランザクションスクリプトだろうと、エンティティはトランザクション毎に作る
(Webでなく)GUIアプリで独学した初心者って、エンティティオブジェクトをアプリ全体で生存させるような設計をしちゃうんだよな
オブジェクト指向を普通に解釈すりゃそれが自然なんだけど、実際そういう設計はしないんだよ
ドメインモデルだろうとトランザクションスクリプトだろうと、エンティティはトランザクション毎に作る
281デフォルトの名無しさん (ワッチョイ 9fad-EDaw)
2021/04/19(月) 10:39:20.82ID:X+u8pzLd0282デフォルトの名無しさん (ベーイモ MM4f-XYuH)
2021/04/19(月) 10:44:42.24ID:7XobiDdgM283デフォルトの名無しさん (テテンテンテン MM8f-wT4Z)
2021/04/19(月) 10:58:10.70ID:Ee/wQKnTM >>281
知ってて聞くのはもっとどうかと思う
知ってて聞くのはもっとどうかと思う
284デフォルトの名無しさん (ワッチョイ ffa7-zL3N)
2021/04/19(月) 12:13:19.27ID:lMV2Jqgd0 >>282
なんだかとってもおかしいよ
なんだかとってもおかしいよ
285デフォルトの名無しさん (ワッチョイ ffa7-zL3N)
2021/04/19(月) 12:18:18.64ID:lMV2Jqgd0 これあれじゃね?
開始日と終了日に期間制限があると値が設定できないやつ(笑)
開始日と終了日に期間制限があると値が設定できないやつ(笑)
286デフォルトの名無しさん (アウアウウー Sa1b-B9Cj)
2021/04/19(月) 12:41:53.53ID:/vkKNniZa 何がしたいのかよく分からないね。
キャンセル要求が発生したら初期状態に戻したいなら
素直に初期状態をまるごとキャッシュしておく方が分かりやすいんじゃないかと思うけど
もっと素直なのはそもそもApplyするまでUIの値をモデルに反映しないことだよね。
まあたぶん要件を説明しきれてないんだろうけど
キャンセル要求が発生したら初期状態に戻したいなら
素直に初期状態をまるごとキャッシュしておく方が分かりやすいんじゃないかと思うけど
もっと素直なのはそもそもApplyするまでUIの値をモデルに反映しないことだよね。
まあたぶん要件を説明しきれてないんだろうけど
287デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2021/04/19(月) 12:42:25.65ID:eG8AP0Ht0288デフォルトの名無しさん (ワッチョイ ffa7-zL3N)
2021/04/19(月) 13:39:27.50ID:lMV2Jqgd0 まあ、設定画面がモードレスでリアルタイムで値を変えたいときもあるかもしれんが
それやると
地獄の一丁目にご招待って感じ(笑)
それやると
地獄の一丁目にご招待って感じ(笑)
289デフォルトの名無しさん (ワッチョイ ff02-L6pe)
2021/04/19(月) 13:46:03.66ID:0ewLpJwG0 Contract?
290デフォルトの名無しさん (ブーイモ MMcf-Vz79)
2021/04/19(月) 13:50:22.81ID:wot3CwpcM291デフォルトの名無しさん (ワッチョイ ffa7-zL3N)
2021/04/19(月) 14:13:33.61ID:lMV2Jqgd0 >>290
影響する値でエラーが出てもそれとは関係ない表示はできる限り続けて欲しい(プレビューが見えないから)
エラーが出てるときは値の変更で表示は変わっても最後の反映はできないようにしてほしい
でも値を変更してる最中のundo,redoは効くようにして欲しい
って割とありがち要求だよね
モードレスやった時点で地獄を覚悟しろって感じ
影響する値でエラーが出てもそれとは関係ない表示はできる限り続けて欲しい(プレビューが見えないから)
エラーが出てるときは値の変更で表示は変わっても最後の反映はできないようにしてほしい
でも値を変更してる最中のundo,redoは効くようにして欲しい
って割とありがち要求だよね
モードレスやった時点で地獄を覚悟しろって感じ
292デフォルトの名無しさん (ラクッペペ MM8f-ZP9E)
2021/04/19(月) 14:17:30.66ID:5/g8GOz6M そのためのMVVMですから!
293デフォルトの名無しさん (ワッチョイ 9fad-EDaw)
2021/04/19(月) 16:11:25.84ID:X+u8pzLd0 >>283
めんどくさいのに本当にしてるのか気になったから聞いたんだけど何かおかしい?
めんどくさいのに本当にしてるのか気になったから聞いたんだけど何かおかしい?
294デフォルトの名無しさん (ワッチョイ 57ad-IUyB)
2021/04/19(月) 16:13:54.25ID:LEIxqEAm0 うちにも本当にしてる端末はあるぞ。
むしろ自動で上げたくないしな。
既知の問題でワークアラウンドがあるならそれで良いというケースもあるし。
リリースノートめちゃくちゃ読む。
むしろ自動で上げたくないしな。
既知の問題でワークアラウンドがあるならそれで良いというケースもあるし。
リリースノートめちゃくちゃ読む。
295デフォルトの名無しさん (テテンテンテン MM8f-wT4Z)
2021/04/19(月) 16:51:10.44ID:qG+FkDTLM296デフォルトの名無しさん (スッップ Sdbf-EDaw)
2021/04/19(月) 16:56:35.95ID:Ly5FRhD3d オフラインがめんどうとか何言ってんの?開発する時にはセキュリティ上当然やろ
オンラインとか最近の開発ではありえない
オンラインとか最近の開発ではありえない
297デフォルトの名無しさん (ワントンキン MM4b-Ct+I)
2021/04/19(月) 17:17:52.34ID:ssZtrIutM 今のVSって最新メジャーバージョンは完全に人柱向けだからなあ
アップデートをすぐに入れられないような環境だと詰む可能性があるからむしろリスクが大きい
最新版を追えない環境なら2017使ったほうがいいよ
アップデートをすぐに入れられないような環境だと詰む可能性があるからむしろリスクが大きい
最新版を追えない環境なら2017使ったほうがいいよ
298デフォルトの名無しさん (ラクッペペ MM8f-aCHF)
2021/04/19(月) 17:59:46.65ID:sAdoeVNCM299デフォルトの名無しさん (テテンテンテン MM8f-Ct+I)
2021/04/19(月) 18:14:05.65ID:HuLqOw9zM300デフォルトの名無しさん (ワッチョイ d793-vsd6)
2021/04/20(火) 00:39:35.61ID:TLYpp//E0 docker「…」
301デフォルトの名無しさん (ワッチョイ b72d-GJAZ)
2021/04/20(火) 02:18:25.03ID:hE4KV5oa0 C#を勉強中です
Delegateの機能はわかったのですが、これはどのような状況で使うのか思いつきません
こう使うと便利だという例を教えてください
Delegateの機能はわかったのですが、これはどのような状況で使うのか思いつきません
こう使うと便利だという例を教えてください
302デフォルトの名無しさん (ワッチョイ 97ad-CpDH)
2021/04/20(火) 02:19:59.60ID:X693LKGY0 それは繊細な問題ですね
303デフォルトの名無しさん (ワッチョイ 9fad-EDaw)
2021/04/20(火) 02:23:17.77ID:mCU9Z3ky0 delegateの機能が解説されていた箇所に書いてなかったの?書いてあったけどそれを理解できないってこと?
304デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2021/04/20(火) 02:33:44.44ID:KMnW7zDR0 >>301
そのわかったというDelegateの機能を説明してみてもらってもいい?
そのわかったというDelegateの機能を説明してみてもらってもいい?
305デフォルトの名無しさん (アウアウウー Sa1b-B9Cj)
2021/04/20(火) 02:54:23.22ID:C6K6mBrBa306デフォルトの名無しさん (ワッチョイ b72d-GJAZ)
2021/04/20(火) 03:07:10.55ID:hE4KV5oa0 >>303
機能の解説だけでどのようなときに使うかは書いてなかったです
Delegate型の説明と作り方の後に例としてConsole.WriteLineでHelloと表示するメソッドを
新たに作ったDelegate型のaという変数に突っ込んでa()を実行して
ほら表示できたでしょという感じだったのだけれど
だからどうしたとしか思わなかったです
機能の解説だけでどのようなときに使うかは書いてなかったです
Delegate型の説明と作り方の後に例としてConsole.WriteLineでHelloと表示するメソッドを
新たに作ったDelegate型のaという変数に突っ込んでa()を実行して
ほら表示できたでしょという感じだったのだけれど
だからどうしたとしか思わなかったです
307デフォルトの名無しさん (ワッチョイ b7b0-tdH6)
2021/04/20(火) 03:22:02.21ID:HBCxLvi90 自分も変数のシャドーイングとか何が便利なのかわからないです
脳みそのメモリ圧迫されるのでは
脳みそのメモリ圧迫されるのでは
308デフォルトの名無しさん (ワッチョイ b7b0-tdH6)
2021/04/20(火) 03:27:57.34ID:HBCxLvi90 >>306
こういうメソッドの引数がデリゲートで、まさに便利な使い方だと思ってる
https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.list-1.removeall?view=net-5.0
間違ってたら訂正よろしくです
こういうメソッドの引数がデリゲートで、まさに便利な使い方だと思ってる
https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.list-1.removeall?view=net-5.0
間違ってたら訂正よろしくです
309デフォルトの名無しさん (ワッチョイ b72d-GJAZ)
2021/04/20(火) 03:33:39.19ID:hE4KV5oa0310デフォルトの名無しさん (ワッチョイ b768-tdH6)
2021/04/20(火) 04:41:05.35ID:IRlXB/YU0 デリゲートは自分で使うもんじゃないと思ってた。
Buttonをクリックしたら、このメソッド実行してねってのを、IDEが作ってくれる奴だから。
だから、「こんなときどうしよう」って悩んだときに、
そうだ!デレゲートってのがあるんだよ!っていう、よっぽどの場合に、入門書を読めば良いと思う。
初めてのC#みたいな本がお薦めなんだけどね。
Buttonをクリックしたら、このメソッド実行してねってのを、IDEが作ってくれる奴だから。
だから、「こんなときどうしよう」って悩んだときに、
そうだ!デレゲートってのがあるんだよ!っていう、よっぽどの場合に、入門書を読めば良いと思う。
初めてのC#みたいな本がお薦めなんだけどね。
311デフォルトの名無しさん (ワッチョイ ffda-wDCo)
2021/04/20(火) 05:04:14.96ID:mPkgRyxP0 >>306
試しにhello2 からhello100まで突っ込んでみよう
試しにhello2 からhello100まで突っ込んでみよう
312デフォルトの名無しさん (エアペラ SDbb-vsd6)
2021/04/20(火) 08:17:28.06ID:UlsxkGg7D デリゲート定期
313デフォルトの名無しさん (ラクッペペ MM8f-ZP9E)
2021/04/20(火) 08:29:39.05ID:2x6gxMkWM デリケートに好きして
314デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2021/04/20(火) 09:39:52.16ID:KMnW7zDR0 >>306
わからなかったらまず最初にリファレンスを読むといい
Delegateとは何かどういう目的で使われるのか普通に書いてる
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/delegates/
わからなかったらまず最初にリファレンスを読むといい
Delegateとは何かどういう目的で使われるのか普通に書いてる
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/delegates/
315デフォルトの名無しさん (オッペケ Sr8b-HAyt)
2021/04/20(火) 09:49:15.79ID:UooL86SRr まあこういうものが腹に落ちるようになるのが楽しいとこでもある
316デフォルトの名無しさん (ワッチョイ fff2-9WMT)
2021/04/20(火) 11:01:31.30ID:wGU9ai2r0 >>313
パジャマのままで
パジャマのままで
317デフォルトの名無しさん (ワッチョイ 972c-KAGY)
2021/04/20(火) 12:07:45.54ID:7xfghfsY0 例えば、Ruby では、Forwardable でインスタンス変数に委譲できる
自分で配列クラスから、Stack を作って、その内のpush, pop だけを使いたい場合、
もし配列を継承・is-a すると、余計なメソッドまで継承してしまうので、それらを使いたくない。
そういう場合に、委譲・has-a で、インスタンス変数に委譲して、使うメソッドも限定できる
Go, Elixir も継承がない、委譲だけ。
継承は大掛かり。
使わないメソッドを呼ばれてしまう可能性があるから
また、誰でも使うような、String クラスなどを継承して、メソッドを追加されるのも嫌。
そういう継承は想定外だから
素人は、よくそういう事をする。
継承用のクラスじゃないのに継承したりする
require 'forwardable'
class Stack
extend Forwardable
def initialize( ) @ary = [ ] end
def_delegators( :@ary, :push, :pop )
end
stack = Stack.new
stack.push 1
stack.push 2
stack.pop
p stack #=> #<Stack: @ary=[1]>
自分で配列クラスから、Stack を作って、その内のpush, pop だけを使いたい場合、
もし配列を継承・is-a すると、余計なメソッドまで継承してしまうので、それらを使いたくない。
そういう場合に、委譲・has-a で、インスタンス変数に委譲して、使うメソッドも限定できる
Go, Elixir も継承がない、委譲だけ。
継承は大掛かり。
使わないメソッドを呼ばれてしまう可能性があるから
また、誰でも使うような、String クラスなどを継承して、メソッドを追加されるのも嫌。
そういう継承は想定外だから
素人は、よくそういう事をする。
継承用のクラスじゃないのに継承したりする
require 'forwardable'
class Stack
extend Forwardable
def initialize( ) @ary = [ ] end
def_delegators( :@ary, :push, :pop )
end
stack = Stack.new
stack.push 1
stack.push 2
stack.pop
p stack #=> #<Stack: @ary=[1]>
318デフォルトの名無しさん (ワッチョイ 972c-KAGY)
2021/04/20(火) 12:25:42.67ID:7xfghfsY0 >>307
shadowing とは、内外の変数は、別々の扱いで、
内側のスコープに入ると、内側が優先されて、
外側の同じ変数名が隠されること。
その際、外側の変数には影響を与えない。
Ruby では、外側のa は10で、内側のブロックスコープでは、
同名の変数aを使っても、外側の変数には影響を与えない。
ブロックスコープを抜けると、aは10のまま
a = 10
ary = [ 1, 2 ]
ary.each do |a|
puts "ブロック内: #{ a }"
end
p a
出力
ブロック内: 1
ブロック内: 2
10
shadowing とは、内外の変数は、別々の扱いで、
内側のスコープに入ると、内側が優先されて、
外側の同じ変数名が隠されること。
その際、外側の変数には影響を与えない。
Ruby では、外側のa は10で、内側のブロックスコープでは、
同名の変数aを使っても、外側の変数には影響を与えない。
ブロックスコープを抜けると、aは10のまま
a = 10
ary = [ 1, 2 ]
ary.each do |a|
puts "ブロック内: #{ a }"
end
p a
出力
ブロック内: 1
ブロック内: 2
10
319デフォルトの名無しさん (アウアウウー Sa1b-B9Cj)
2021/04/20(火) 13:01:47.56ID:TyJgyLsfa このスレはRubyの宝石箱や!まで読んだ。
320デフォルトの名無しさん (ワッチョイ ffda-wDCo)
2021/04/20(火) 20:38:25.40ID:mPkgRyxP0 火入れするかあんたのはスピネルや
と言うべきか
と言うべきか
321デフォルトの名無しさん (ワッチョイ b7b0-tdH6)
2021/04/20(火) 21:04:57.15ID:HBCxLvi90 なにかのネタというかエンジニアジョークなのかな? わからないや
シャドーイングがどんな機能なのかは単純だからわかってるつもりだけど、一見同じ変数名を扱えることで何が嬉しいの?って話です
コード読んでて混乱しそうなので無い方が綺麗だと思うのだが、自分の脳みそが貧弱なだけかな?
シャドーイングがどんな機能なのかは単純だからわかってるつもりだけど、一見同じ変数名を扱えることで何が嬉しいの?って話です
コード読んでて混乱しそうなので無い方が綺麗だと思うのだが、自分の脳みそが貧弱なだけかな?
322デフォルトの名無しさん (ワッチョイ bf68-Zgro)
2021/04/20(火) 21:05:35.48ID:3ANNQsEU0 c から来た人なんだけど、デリゲートって関数ポインターの認識
323デフォルトの名無しさん (ワッチョイ bf68-Zgro)
2021/04/20(火) 21:08:17.98ID:3ANNQsEU0 半角の++が書き込めない。なんだこれ。
324デフォルトの名無しさん (ワッチョイ ffda-wDCo)
2021/04/20(火) 21:28:46.29ID:mPkgRyxP0325デフォルトの名無しさん (ワッチョイ bfda-bvUB)
2021/04/20(火) 22:48:16.53ID:wpz1WDBF0 メモリリークの温床だがな。。
326デフォルトの名無しさん (アウアウウー Sa1b-B9Cj)
2021/04/20(火) 23:13:15.40ID:oW++joyya327デフォルトの名無しさん (ワッチョイ 9fe4-2EJ2)
2021/04/20(火) 23:17:25.34ID:+w5LC8La0 初歩的な質問ですいません
オブジェクト初期化子とコンストラクタは何が違うんでしょうか?
やってることは同じのように感じるのですが…
オブジェクト初期化子とコンストラクタは何が違うんでしょうか?
やってることは同じのように感じるのですが…
328デフォルトの名無しさん (ワッチョイ 375f-QJa2)
2021/04/21(水) 01:35:22.73ID:qZ+z+JK20329デフォルトの名無しさん (ワッチョイ ff63-7LQ7)
2021/04/21(水) 01:38:27.35ID:GnM/pYwY0 どいつもこいつもデリケートデリケートってよお!
330デフォルトの名無しさん (ワッチョイ 97b5-Ct9k)
2021/04/21(水) 02:00:12.49ID:9Dxtj7zY0 ♪シーズソーデリケート(デリケート、デリケート)
331デフォルトの名無しさん (ワッチョイ b768-tdH6)
2021/04/21(水) 05:50:25.83ID:iaWKhvh90332デフォルトの名無しさん (ワッチョイ bf62-rOyz)
2021/04/21(水) 09:15:40.20ID:hAG7zCyL0 >>327
コンストラクタにはそのオブェクトを生成するために必要なものを渡してる
初期化子は特に生成には関係ないない項目にも初期値を設定してるイメージ
使う側はあまり気にしなくていいけど用意する側は意識しといた方がいいよ
コンストラクタにはそのオブェクトを生成するために必要なものを渡してる
初期化子は特に生成には関係ないない項目にも初期値を設定してるイメージ
使う側はあまり気にしなくていいけど用意する側は意識しといた方がいいよ
333デフォルトの名無しさん (スッップ Sdbf-QJa2)
2021/04/21(水) 09:18:16.78ID:zaNQ2p2Bd >>327
初期化子はフィールド単体に対しての初期化で、コンストラクタはクラス全体に対しての初期化って考えたらイメージしやすいかも
まあ、初期化子を指定しない場合でも、def aultで初期化されるんだけどね
初期化子はフィールド単体に対しての初期化で、コンストラクタはクラス全体に対しての初期化って考えたらイメージしやすいかも
まあ、初期化子を指定しない場合でも、def aultで初期化されるんだけどね
334デフォルトの名無しさん (アウアウウー Sa1b-B9Cj)
2021/04/21(水) 11:04:40.00ID:9tzd621Ta >>327
そもそも問題設定が間違っていると思うよ。
正しい問題設定は「オブジェクト初期化子って何?」
オブジェクト初期化子とは、コンストラクタ呼び出しと、複数の任意のプロパティーやフィールドへの
値の設定をインラインで書けるようにした糖衣構文。
そもそも問題設定が間違っていると思うよ。
正しい問題設定は「オブジェクト初期化子って何?」
オブジェクト初期化子とは、コンストラクタ呼び出しと、複数の任意のプロパティーやフィールドへの
値の設定をインラインで書けるようにした糖衣構文。
335デフォルトの名無しさん (ワッチョイ d790-EWF6)
2021/04/21(水) 16:34:49.04ID:yCZSrEkI0336デフォルトの名無しさん (ワッチョイ d790-EWF6)
2021/04/21(水) 16:56:18.92ID:yCZSrEkI0 C#に限らずnull safetyの言語で、特にビューモデルのクラスでnullableなフィールドを宣言する機会が多いいんだが、
フィールドはメソッド内でnullチェックしても非nullableに昇格しない(kotlinでいうスマートキャストが効かない)
から、
if (field == null)
throw new IllegalState
var field = field!; // わざわざnon nullableなローカル変数に代入で、ローカル変数に適当な名前が思い付かないのでフィールド名と同じ名前で隠蔽
フィールドはメソッド内でnullチェックしても非nullableに昇格しない(kotlinでいうスマートキャストが効かない)
から、
if (field == null)
throw new IllegalState
var field = field!; // わざわざnon nullableなローカル変数に代入で、ローカル変数に適当な名前が思い付かないのでフィールド名と同じ名前で隠蔽
337デフォルトの名無しさん (ワッチョイ d790-EWF6)
2021/04/21(水) 17:04:17.58ID:yCZSrEkI0 メソッド内で1,2回とか参照しないのであればわざわざnon nullableなローカル変数に代入しないが
特にkotlinとかスコープ演算子とかもあるがkotlinは「!!」と二重だからこれがいっぱい現れるとソースが見苦しい...
特にkotlinとかスコープ演算子とかもあるがkotlinは「!!」と二重だからこれがいっぱい現れるとソースが見苦しい...
338デフォルトの名無しさん (ワッチョイ 1701-UBeK)
2021/04/21(水) 22:17:44.76ID:4gUtTQ4z0 >>333
違うだろ。C#ならフィールドとプロパティをきちんと区別しないといかん。
違うだろ。C#ならフィールドとプロパティをきちんと区別しないといかん。
339デフォルトの名無しさん (ブーイモ MMcf-eihA)
2021/04/22(木) 08:19:06.23ID:b0xCXWo1M x = a ?? b; ←null合体演算子
x.?method() ←これなんて言うんだっけ?
x.?method() ←これなんて言うんだっけ?
340デフォルトの名無しさん (ワッチョイ ff2c-xwMB)
2021/04/22(木) 08:59:45.35ID:bBpUq1Fa0 ピリオドとクエスチョンの位置逆だけどnull条件演算子
341デフォルトの名無しさん (ワッチョイ d76e-vWSz)
2021/04/22(木) 10:42:48.70ID:XvsGXOnj0 linuxとwindowsで動くguiソフト作りたいんですが、共通の開発環境と言語ってあるでしょうか?
openglを扱ってみたいのですが、c++とqtが多いんでしょうか?
c++を扱うと思うので、erectronやwxpythonなどは除外されるんでしょうかね。
openglを扱ってみたいのですが、c++とqtが多いんでしょうか?
c++を扱うと思うので、erectronやwxpythonなどは除外されるんでしょうかね。
342デフォルトの名無しさん (ラクッペペ MM8f-aCHF)
2021/04/22(木) 11:01:31.56ID:8IHXhPWQM >>341
C++の話をするのに何故C#のスレに来たの?
C++の話をするのに何故C#のスレに来たの?
343デフォルトの名無しさん (ワッチョイ bf62-rOyz)
2021/04/22(木) 11:15:40.26ID:wjS6T4Xy0 >>339
逆にnullだったらそのままにしたいってことが多いんだけどそういう演算子ないよね
int? x = null;
int? 2x = (x == null ) ? null : (2 * x);
みたいな
逆にnullだったらそのままにしたいってことが多いんだけどそういう演算子ないよね
int? x = null;
int? 2x = (x == null ) ? null : (2 * x);
みたいな
344デフォルトの名無しさん (ワッチョイ d76e-vWSz)
2021/04/22(木) 11:16:13.25ID:XvsGXOnj0 opengl関係無いアプリも作りたいので(´・ω・`)
c#は恐らくlinuxでは動かないものですよね
c#は恐らくlinuxでは動かないものですよね
345デフォルトの名無しさん (ワッチョイ 9f01-7Des)
2021/04/22(木) 12:12:49.77ID:fYKo/KH70346デフォルトの名無しさん (ブーイモ MMbb-Vz79)
2021/04/22(木) 12:36:03.10ID:TgsR4gUfM >>344
人脈があれば出来るぞ
人脈があれば出来るぞ
347デフォルトの名無しさん (アウアウウー Sa1b-u2/C)
2021/04/22(木) 13:12:31.50ID:V2Z7bz83a >>344
Unityならwindowsでもlinuxでも動くはず
Unityならwindowsでもlinuxでも動くはず
348デフォルトの名無しさん (ワッチョイ ff33-ubdj)
2021/04/22(木) 13:26:29.41ID:r34CJZmP0 .NET MAUIがそういうの目指してるんだろうけれど…
349デフォルトの名無しさん (ワッチョイ d76e-vWSz)
2021/04/22(木) 14:05:53.62ID:XvsGXOnj0 >>347
unityをguiアプリ開発に使いませんよね 普通
unityをguiアプリ開発に使いませんよね 普通
350デフォルトの名無しさん (ワッチョイ 375f-QJa2)
2021/04/22(木) 14:23:56.91ID:wSGfQWAL0 >>349
mono 使えばいいんじゃないの?
mono 使えばいいんじゃないの?
351デフォルトの名無しさん (ワッチョイ bf62-rOyz)
2021/04/22(木) 15:04:02.14ID:wjS6T4Xy0352デフォルトの名無しさん (ワッチョイ d76e-vWSz)
2021/04/22(木) 15:44:38.28ID:XvsGXOnj0353デフォルトの名無しさん (ブーイモ MMbb-Vz79)
2021/04/22(木) 15:47:59.35ID:TgsR4gUfM .net core も動くぞ
354デフォルトの名無しさん (ワッチョイ 778e-u7Bp)
2021/04/22(木) 17:02:51.26ID:RDEPc8rd0 釣りだろ
355デフォルトの名無しさん (ワッチョイ ff63-7LQ7)
2021/04/22(木) 20:02:51.51ID:YBnx4+wd0 なんでも釣りって言わないで
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国が次々圧力も→高市政権の内情「日本は切る対抗カードなく、我慢しかない状況」と取材結果 [バイト歴50年★]
- 戦略的互恵関係望むなら答弁撤回せよと中国 [どどん★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★3 [♪♪♪★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★3 [お断り★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」 [♪♪♪★]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ [931948549]
- 【悲報】高市答弁、誤解だった [834922174]
- 架空を滑空ビューーーン👊😅👊三三☁😶‍🌫🏡
- 戦略的互恵関係望むなら答弁撤回せよと中国。高市、もう後がなくなる [805596214]
- 【鈴木早苗】お米券おひとり様3000円に閣議決定 [993451824]
- サバ缶「うまい安い栄養たっぷりん」👈これ [794961135]
