「class」を含む日記 RSS

はてなキーワード: classとは

2020-06-14

UNコーディング面接こんな感じでした

入室と自己紹介

面接官「やあ!わたしはベン。会えて嬉しいよ!」

ぼく「こんにちは、ベン。ぼくはWashlet2000。便意はどう?」

面「超いい感じだよ。きみは?」

ぼ「ぼくも超いい感じさ」

面「それはよかった。わたし部署AのToiletエンジニアで3年目なんだ。社内ツールを作ってるよ。Benki関係ツールで、超クールでExcitingなやつなんだ」

ぼ「それはクールだね」

面「簡単自己紹介をお願いしていいかな?」

ぼ「うん。ぼくは経験豊富自宅警備員で…〇〇で貢献して…リーダー経験が……」

面「Cool(たぶん聴いてない)。じゃ、問題に入ろうか。わたしから問題はね…」

ぼ「あ、はい

出題と質疑

面「Unkを管理するコードを書いて」

ぼ「Unkの管理…」

面「そう。Unkってさ、知的生命体でしょ?あれを実現するの。『分裂』もあるから注意して」

ぼ「なるほど。えーと、それはHankeyみたいな普通のUnkだよね。えーとえーと」

面「…」

ぼ「えーと、そうだ、Unicodeとか決まってる?」

面「決まってるよ。U+1F4A9」

ぼ「うーん。じゃあUnkって何を保持したらいい?種類、個数?」

面「いい匂いだね。ここでは簡単のため、そうだね、個数だけにしようか」

ぼ「ならUnkの個数を持つ感じかな」

面「多分そうだね」

ぼ「えーと、そして、『分裂』のときに増える個数、『消滅』したかどうかを返すAPIが要る」

面「うん。あと新しいUnkが産声を上げたときも」

ぼ「そうだね。じゃあ内部的には、分裂した時の増殖個数を計算して、unkで現在の個数を管理する感じかな…」

面「それで行けそう?」

ぼ「待って。それで、APIはdivision()、roar()、isDead()でいい?」

面「うん、そうだね。とりあえずAPIはそれで良いよ」

ぼ「OK。あ、division()でもうそれ以上増えれなときには、どうする?」

面「それもいい匂いだ。そうだね、今の個数を返すようにしようか」

ぼ「あと何かあるかな…」

面「…」

ぼ「Unkだと、大腸菌を表示したり、そこからBenkiにジャンプしたりできるけど…」

面「あとで必要になるかもね」

ぼ「だよね。速度は…当然すべてO(1)でやらないといけない」

面「速いほうがいいね

ぼ「あとは、えーと、Benkiクリアもあとで付けそうだな。まあこれは簡単か」

面「そうだね」

ぼ「まとめると、Unkの個数を整数のIntで持ち、unkで管理する。division()が呼ばれたら、分裂して、isDead()が呼ばれたら、生存の真偽を返す。分裂時にはroar()を呼び出して、Unkoooooooooo!×(増殖個数分)産声をあげる」

面「それで良さそう?」

ぼ「うーん、多分…なにかあるかな…」

面「『消滅』を何度かしたあと、『分裂』をしたらどうなる?」

ぼ「ん?……あ、だめだ!そうか、『消滅』『消滅』『分裂』で過去の個数うんこに増えてしまう!つまり、isDead()が真なら、その時のunkを初期化しないと!」

面「そう!ならどうする?」

ぼ「うーん。変数maxUnkを足せばいいかな。isDead()はmaxUnkより大きな場合は真。そのときはunkを初期化する」

面「なるほど。大丈夫そうだね」

ぼ「あとはOKかな?…よし、じゃあコード書いてみるよ(マーカーを手に取る)」

コーディング

ぼ「まずクラス外観はこんな感じかな…(カキカキ)」

class Unk:
    def __init__(self): pass
    def division(self): pass
    def roar(self): pass
    def isDead(self): pass

面「ん?これ何の言語?」

ぼ「pyてょnだよ。ぼくはpyてょn使いなんだ(自己紹介で言ったけど…)」

面「Cool

ぼ「そして、Unkの個数を整数で持つよ。名前はunkでいいか

面「OK

ぼ「それと有効な最大unk数を保持するmaxUnkが要るね」

class Unk:
    def __init__(self):
        self.unk = 1
        self.maxUnk = 1024
        
    def division(self): pass
    def roar(self): pass
    def isDead(self): pass

面「なんでunkを1で初期化したの?」

ぼ「これは『いまの個数』だから。初めは1つのUnkが存在するのを想定してる」

面「なるほど」

class Unk:
    def __init__(self):
        self.unk = 1
        self.maxUnk = 1024
        
    def division(self):
        self.unk = self.unk*2
        
    def roar(self):
        print("Unkoooooooo! ×", self.unk//2)
        
    def isDead(self):
        return self.unk > self.maxUnk

ぼ「division()、roar()、isDead()も書くとこんな感じかな…」

面「増殖の計算は2倍したんだね」

ぼ「そう。ちょっと手動テストしてみるね…。えーとunkが無いときのdivision()、roar()は大丈夫そうかな…。初回のdivision()でunkのサイズが1になって…そのあとroar()したら…isDead()は……」

unk = Unk()
while True:
    if not unk.isDead():
        unk.division()
        unk.roar()
    else:
        break
---
Unkoooooooo! × 1
Unkoooooooo! × 2
Unkoooooooo! × 4
Unkoooooooo! × 8
Unkoooooooo! × 16
Unkoooooooo! × 32
Unkoooooooo! × 64
Unkoooooooo! × 128
Unkoooooooo! × 256
Unkoooooooo! × 512
Unkoooooooo! × 1024

面「大丈夫そう?」

ぼ「うん…たぶん…」

面「じゃいくつか聞くよ」

2020-06-09

まただ

class Test1

{

};

}<エディタ勝手に挿入する

はやく有料版でないか・・・おせっかいきのうをOFFにするの有料版からだろうから

2020-05-28

JavaにおけるObjectの扱いと、Cにおけるclassの扱いは、実は微妙に違う。これをながらく同じとして扱ってきたことに対して

学生が参画したことにより、そろそろ無視できなくなってきている。あえて、違うけど、それは大学専門学校でとなるなら問題は無い。

いまちょうど難しい時期なんだと思う。※もちろんclassC++ですとか言い出すやつが現れるのも含めて

2020-05-21

はじめて作ったアンケート

Google Form使った初めてアンケート作ったわ。GoogleForm処女ならぬ、男だからフォームどうていか?本当はGoogle classと組み合わせて回答者が成績をすぐに知られるようにしたいけど、難しソーダダメソーダ。そのうちできるようにしヨーグルト。お琴にテニスっていう履歴書記述をみて島耕作が「漢にペニス」の間違いだろってつぶやくシーン思い出す今日この頃

2020-05-06

anond:20200505233945

オレっちお前のパイセンだけど食うだけなら食っていけるぞ

底辺工業高校卒(卒業者が入学時の半分)

バイトExcelの便利ワークシート作成を経てVBAに触れる

VBAからおなじBASICつながりのVB.netClassを扱う便利さに目覚める

→いまどきはJavaScriptも扱えないとねってなる:最近はWindowsOnlyで業務しているのにブラウザ対応を求められる謎風潮

やっとこ年収400万(ようやく人並み?)を超えられるようになった

三角関数より会社における数字を扱うことの知識(要は金勘定)の方が求められる

よくありがちなチュートリアルより、DBファイル(csvJSON、固定長のテキスト)から自分が取り扱う言語体系で読み込む、加工して永続化するってのをスラスラできるようになるのが大事だと思う

2020-04-22

operator new (int t){

return local_malloc(t);

}

operator new (int t){

return local_malloc(t+64);

}

char *(*)(int t) f (n){

switch (t){

case 0:

return &func::new(int);

case 1:

default:

return &func2::new(int);

}

}

class *t;

t=f(1)(sizeof(*t));

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

anond:20200223081114

増田さんはClass imbalance problemってご存じですかあ?

機械学習適用するうえで訓練データクラスに偏りがあった時に、その中でも割合の高いクラス予測が偏っちゃうっていう問題です。

それもそのはずですね

たとえば

シーザー・ツェペリ」を求めて「シーザー」で検索した人が(今まで)80人いたとする

ジュリアス・シーザー」を求めて「シーザー」で検索した人が(今まで)20人いたとする

この傾向が変わらないとすると、あるユーザー100人が次に「シーザー」で検索した時に、何を候補として表示すれば最も多くのユーザーを満足させられるでしょうか?

100人に対して「シーザー・ツェペリ」ですね。

1:1でランダムで表示すると50%のユーザー、8:2でランダムに表示すると68%のユーザーしか満足させられませんからね。


それもこれも情報の不足が問題になっているのです「何を探しているか」をきちんと相手に知らせてあげないと、受け取った側は「みんなが探しているものだろうな」、と考えるしかないんです。

から増田さん、これから検索対象がユニークに持つ情報入力に加えてあげてくださいね角度とか

2020-01-12

永遠に書きあがりそうもないやつ

何かの参考とかにしたらダメです。書き始めて半年つんだけどこっからどう直したらいいんだか(何をゴールにしたらいいのか)わからない。。

追記:合流性とか強正規化可能性とか停止性とか、全部チューリング不完全で、事前の静的解析で使うメモリの最大量が確定できる、とかそういう風に読み替えられる人を増やしたいのです、数式の添え字とΣと∫にびびらない人を増やしたいようなもの

理論理学の一分野である証明から成長した、数理論理学理論計算機科学境界領域研究領域である型理論(type theory)は、大規模なプログラムの内的な整合性のチェックを行うための方法論を必要とする情報処理技術の分野で関心を集めている。

 そもそも「型」(type)とは何か。プログラミング言語一般的にはレコード関数といったプログラム構成する「値」(value)の定義をする道具である(*1)。その言語コンパイラ作成者はこれらレコード関数などの値、もしくは第一級の対象(first-class object)の種類を区別する型システム(type system)を必要とする。抽象代数学観点からすると、「型」とはこれらの値もしくは第一級の対象が属する高階の対象(higher order object)としての空間(space)ないし代数系(algebraic system)で、型システムはそれら「型」とそれら相互関係(relation)つまり型のなす順序構造(order structure)ないし束構造(lattice structrure)であるといえる。

 プログラム構成する値すべてに型が付くためには、曖昧でない(*2)こと、自己矛盾していないこと、悪循環を含まないこと、それぞれの値の内容をチェックするために無限時間を要しない(*3)ことなどが必要で、これらを満たすなら、プログラムは有限時間で実行を終え、停止する。手続き型言語では無限ループ、型無しラムダ計算では無限再帰によって型付け不能プログラムを書くことができるが、型理論はこれらのチューリング完全な計算機意図しない停止しないプログラムから守る装甲でもあり、再帰メモリ確保で好き勝手をさせないための拘束具でもある。型が付くプログラムには単に停止するというだけでなく、可能な実行経路(訂正:経路→方法)のすべてで同じ結果を出すなど種々の良い性質がある。

1)この定義現実に使われているプログラミング言語の特徴を覆い切れていない、狭い不満足な定義だが本稿では都合上この定義立脚して限定的議論する。例えば変数(variable)というものを持つプログラミング言語もあり広く使われているが、これについてはレコード関数と同じように性質の良いものとして扱うことが難しい。難しさの原因は次の注の内容と関連する。近年は変数を扱うかわりに値の不変のコピー(immutable copy)やその参照に名前を付ける機能を持つプログラミング言語が増えている。

2) 現実情報システムでは、COBOL言語レコード定義C言語の共用体、一般的関数ポインタVisual Basic言語のvariant型変数のように、同一領域に異なる型の値が共存する共用型(union type)の値がしばしば必要となる。共用型の値はgoto文を排除した構造化/オブジェクト指向プログラミングにおいて条件キャストクラス分岐などによる実行経路の複雑さの主要な原因になるが、これは和型(sum type)すなわち相異なる型の非交和(disjoint sum)として定義することで曖昧さな定義できる。

3) ゲームプログラムネットワークサービスにおいてしばしばみられるように、入力として無限リスト任意に深い木のようなものを想定する場合には明らかに(条件を満たさない限り)停止しないことが正しい動作となり、この場合は最外周のループを(←どうする?)メモリリークを起こさないなど別の考慮必要となる。

2019-12-26

anond:20191226212012

こっちはみらい翻訳

"I love you." と5行目の主語は同じくダメ。あと、4行目5行目の後半の目的語ちゃん特定できていない。

Googleの勝ちか。

Pudding is delicious. I love you.

Fruit jelly... is certainly delicious.

It is juicy and has a fruity texture, and the pulp and seeds are in it to reproduce the texture.

But if you have raw fruit and a really fancy fruit jelly, you'll get some fruit, right?

If you have egg and milk sets and pudding lined up, take them out.

So please give me a high-class pudding as a gift.

2019-10-20

ウェブカツ!!」は記事剽窃をしているのか?売上は?調べてみました!

ウェブカツというプログラミングスクールについて、twitter上で記事の剽窃をしているのではないかという疑問が挙がっていました。

ウェブカツの「顧問であるかずきち氏はこれを「頭悪すぎて呆れちゃう」と一蹴していましたが、はたしてどうなのか……?

ウェブカツは果たして剽窃をしているのか!?調べました。

めしJavaScriptやjQueryでの変数が「空かどうか」のチェック方法 (魚拓 https://megalodon.jp/2019-1020-0037-32/https://webukatu.com:443/wordpress/blog/821)を見てみましょう。

記事中に出てくる「jQueryではたとえ、参照したIDclassが無くてもjQueryオブジェクト作成されるためチェックが出来ません」で検索してみると、

Web'Notesというサイトがヒットしました。

記事全体を見比べてみると、なんと、目次が完全に一致しています

ですが、目次程度なら同じ言語ライブラリ解説している以上は偶然の一致もありえます

そこで本文も比較してみると、驚くべきことがわかりました。

Web'Notesの「結果をまとめるとこのようになります」がウェブカツでは「結果をまとめるとこんな感じ」に変わっているなど些細な違いはありますが、記事構成文章表現まで、ほとんど一致しているのです!

全く偶然とは思えないレベルでよく似ています

ですが、これだけでは本当に剽窃がされているのか、されているとしてどちらが行っているのかまではわかりませんね……

少なくとも、両方の記事がいつから存在たかは調べる必要がありそうです。

ウェブカツの記事には、2016年8月16日と書かれてますね。他の記事を見る限り、ウェブカツでは、作成後に更新した記事には更新日も掲載されるようなので(えらいですね!)、おそらくこれが作成日でしょう。

一方Web'Notesの記事がいつから存在するかというと、WayBackMachineを見る限り2015年には存在していたようです。

他にも、ウェブカツの様々な記事について、よく似た他の記事存在するようです(随時追記)。

ttps://docs.google.com/spreadsheets/d/1HwRyUP62afk9jjXArax8NhiYxnt330DMSQTe9eB3h24 (うまくリンクが貼れないので古の記法で勘弁してください!)

いかがでしたでしょうか、果たしてウェブカツはWELQや侍エンジニアのようなパクリサイトや触法プログラミングスクールの仲間なのか…… みなさんはどう思われましたか

ウェブカツは月に数千万の売上があるかもしれないので、「よく似た記事」を書いた方々は要注目です!

個人的には、かずきち氏はtwitterプロフィールでcodecampをディスっているのに、codecampのもの酷似した記事存在するのが面白いと思いました!

様々な先例にならってDMCA濫用などをしてくれるともっと面白くなると思います

もっとも、ウェブカツの「顧問であるかずきち氏は著作権問題について「立ち小便の軽犯罪や店のコンセント使った窃盗レベル」とおっしゃっているので、そのようなことは期待できなさそうですが……

とにかく、目が離せませんね!

2019-09-13

anond:20190913094635

C#でのclassとstructでは実体参照と値渡しみたいな違いがあってよくstructの方はメモリ効率が悪い、みたいなことを言われるんやけど、

個人的には「最初に読み込んであとは更新が無い」データはstructで扱うんがベストだと思うてるよ。

もち、classインスタンスを利用するのもアリ。利用は好き好きよ。

anond:20190913094344

教えてもらったこっちのほうで検討しようと思う。

List<List<なんか>> hensuu;

質問ばっかで悪いが、

ClassをListに押し込む(?)のもアリなのか?

C#リスト複数項目入れることは出来るのか?

最近C#質問ばっかしててごめん。知恵袋でやれといわれそうだ。

でも、あちらよりこちらの方が親切で丁寧な回答が来ることが多い気がする。

何よりレスが早い。

それはさておき。

C#のListってあるが、これに複数項目入れることは出来るのだろうか。

2次元とかじゃなくて、ClassをまとめてListに入れるみたいな。

IDNameAgeなどなど……キーワードで内容も特定したい。

ClassをListに入れるというのもあるみたいだが、

デメリットがありそうな気がして出来ていない。

MainクラスHumanクラスなどの情報を入れる。情報をもとにJudgmentクラス判別?する。

  人間名前が「華子」だったらAを実行……などその後の処理にも関わるから分割したい。

HumanクラスではID,名前、年齢などの変数定義

Judgmentクラスで、引数?の数字を元に、学生社会人かなどを分ける。

うーん、自分でも何が言いたいんだか分からなくなってきてしまった。

クラスについてはざっくり理解したつもりだったんだけど。

2019-09-12

プログラムはやりたい事を箇条書きできれば問題ないって教わった

結構得意なほうだったけど、classとかオーバーフローとかオーバーロードとか

新しい用語が出てくると良く分からなくなってしまう。

2019-09-10

anond:20190910174722

classで参照するとき名前とは別で……?

別のclassファイルでも「ちひろ」って定義してたら

ちひろはどうなっちゃうの?

namespaceって何の意味があるの?

全部のclassに同じnamespaceが書いてる(humanとか)として

それに何の意味があるの?

anond:20190910162422

回答さんきゅー。CLIってコマンドラインか。

コマンドベースで実行する事は無いか大丈夫かな。

俺も最近Unityを始めたんだ。まだ分からないことだらけ。

Person person = new Person();

この書き方が謎なんだが、必ずこう書くものなのか?

Person Person では何か不味いのだろうか。

変数の前の「Set」みたいな…ただのClassまじないだと思って良いのだろうか。

>>

People Person = new People();

<<

これはアリだよな?

C#classファイルを分ける意味

MainClass.cs

public class MainClass

{

  // Main メソッド

  public static void Main()

  {

   Person person = new Person();

   person.firstName = "山田";

   person.lastName = "太郎";

   Console.WriteLine(person.GetFullName()); // "山田 太郎" と表示される

  }

}

Person.cs

public class Person

{

  // FirstName プロパティ

  private string firstName;

  public string FirstName

  {

   get { return firstName; }

   set { firstName = value; }

  }

  // LastName プロパティ

  private string lastName;

  public string LastName

  {

   get { return lastName; }

   set { lastName = value; }

  }

  // フルネームを取得するメソッド

  public string GetFullName()

  {

   return firstName + " " + lastName;

  }

}

午前中にC#について聞いてた人がいて、ついでに聞きたい。

classファイルを分けたりする事があると思う。

   Person person = new Person();

このclass定義?なんだが、

必ず大文字文字定義するんだろうか。

new Person(); としたら、勝手に「Person.cs」の中の「Person」クラスを探してくれるんだろうか。

C#プログラム動作を1行1行確認したい。

前の増田が言っていた、Listのやつも知りたい。

paizaとかで入門動画見てれば分かるだろうか。

anond:20190910121653

理解度0.1

Goals

Goal.cs

compositeGoal.cs

GoalSeek.cs

GoalWander.cs

GoalPickup.cs

GoalGetItem.cs

GoalAttackTarget.cs

GoalAttack.cs

Brain.cs

Plans.cs

PlanBase

PlanWander.cs

PlanGetPower.cs

PlanGetEnergy.cs

PlanAttackTarget.cs

PlanObject.cs

Reward.cs

Planner

PlannerBase.cs

CharaPlanner.cs

Memory

Memory.cs

AIBase

AIBase.cs

ここまでclassファイル必要なのか!?と思ってるところ。

1つ1つ読むにしても……やっぱり分からない箇所が出てくるから読み解けないしなぁ。

anond:20190910104714

List<Object>だったらそのインスタンスは「オブジェクトリスト」だし、List<シンドラー>だったら「シンドラーリスト」ってこと。

そのObjectとかシンドラーとかは急に現れたんだけれど、

元はどこから来ているんだろう?

ただの変数定義と一緒で、これから値が入っていく感じ?

それともclassとかでListに値が入っていく感じ?

classでListに値を入れていくにしても

この書き方だと良く分からない。

anond:20190910103350

それは助かる。

かに聞きたいところが全くかかれてなかった。

AI意思決定を作るのに凄く興味があって

人工知能本とか読み漁ってるんだ。最終的にUnityゲームを作ろうと思ってる。

まず、Listの<>の名称がListではない別のものになっている件。

このRewardやPlanはどこから来ているのか。別の.csファイルクラスとかから来ているのか。

class Plan {

public GoalType goalType; // 実行する目標種別

 public List<Reward> rewardProspects; // 報酬の見込み

}

//実行可能プランリストアップ

List<Plan> plans = EnumerateExectablePlans();

//最も評価の高いプランを算出

float maxValue = 0;

Plan execPlan = null;

foreach( var plan in plans ){

//プラン現在欲求と、プラン報酬に基づいて評価

float value = EvaluatePlan( plan );

  if( value >= maxValue ){

execPlan = plan;

}

}

//一番評価値の高かったプラン目標を設定

実行可能プランリストアップするための関数

List<Plan> EnumerateExectablePlans() {

List<Plan> plans = new List<Plan>();

//記憶登録されているオブジェクトを列挙

  List<Objectobjects = EnumerateMemolizedObjects();

  //オブジェクトに紐づいたプランを、リストに追加

foreach( var object in objects ){

plans.Add( objects.plan );

}

   ・

   ・

   ・

}

上記は謎が多くて分からない。結果をList<Plan>として保存?するみたいなイメージなのか?

List<Plan> plans = new List<Plan>();??

やっぱり初歩的なところから勉強しなおしたほうが良いかもしれない。

List系は苦手だった。

ソース元のサイトは以下

ゲームAI – 基礎編(2) – 『はじめてのエージェントベースアーキテクチャ

http://tech.cygames.co.jp/archives/2364/

C#クラスや、その他基本と違うやり方でC#ファイル同士で連携とられると分からなくなる

入門用の書籍とか読むと、大体理解できていると思うんだけど

ネット上に落ちているC#ファイル同士で連携を取らせる手法などになってくると

複雑になってくるからか良く分からなくなってしまう。

C#csファイル同士で連携をとって

class使ったりList?みたいな<>に変数名を入れたような<food> みたいなやつだったり

そういう手法が書いてるところって無い?

スラスラ読める Unity C#ふりがなプログラミング (ふりがなプログラミングシリーズ) とか

その他C#本持ってるけど、実用的じゃないんだよなぁ。

ログイン ユーザー登録
ようこそ ゲスト さん