- 【Lua】組み込み系言語総合 その6【Squirrel】
951 :デフォルトの名無しさん[]:2016/07/19(火) 21:09:20.86 ID:5Ru68Qww - require("hoge");
func=function()end; と hoge={ func=function()end }; の違いって何ですか?
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
449 :デフォルトの名無しさん[sage]:2016/07/19(火) 21:55:56.44 ID:5Ru68Qww - 俺とかラムダで書いたらコード量2/3になったぞ
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
452 :デフォルトの名無しさん[sage]:2016/07/19(火) 21:59:56.87 ID:5Ru68Qww - staticおじさんみたいに新しい事に馴染めない老害臭がする
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
472 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:28:47.41 ID:5Ru68Qww - ゲーム製作にはめちゃくちゃ便利
ちょっとした事なら継承の代わりに使える 言語はLuaだが、C#でも考え方は同じだと思うから貼っておく(C#と違ってラムダみたいな短い書き方出来ないけど十分使えるから、C#だともっと便利になる) https://github.com/kgtkr/MachShooting/blob/master/Project/BuildData/script/Lib/cmd.lua 普通なら分かりにくい書き方で敵の動作を書かないといけないけど、これを使えば、 直観的、再利用可能、拡張性が高い、継承をやるまでもない簡単な機能追加が出来る と言うメリットがある C#風に書くとこのような書き方で敵の動作を書けるようになる(突進を行うプログラム) void update(){ if(this.cmd.Len==0){ this.cmd.Add(new Wait(60)); this.cmd.Add(new Action(()=>this.power=30)); //※ULMは等速直線運動の略、fは継続フレーム数 this.cmd.Add(new ULM(vec:()=>new Vec(player.x-this.x,player.y-this.y).Len(10), f:()=>距離(this,player)/10)); this.cmd.Add(new Action(()=>this.power=0)); } } もしこれで this.cmd.Add(new ULM(vec:new Vec(player.x-this.x,player.y-this.y).Len(10),f:距離(this,player)/10)); とすると、Waitの間にプレイヤーが動いてしまったら対応出来ない
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
475 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:33:07.33 ID:5Ru68Qww - めっちゃ長く書いたけど短くでまとめると、
基本機能だけを提供するベースクラスだけ作っておけば、 継承を使うまでもない使い捨て部分でも、 短く書けて、柔軟な拡張性 を実現することが出来る
|
- 【Lua】組み込み系言語総合 その6【Squirrel】
953 :デフォルトの名無しさん[]:2016/07/19(火) 22:35:55.44 ID:5Ru68Qww - つまりモジュールが読み込まれると、
func=function()end; hoge={func=func}; をするって事?
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
479 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:40:39.04 ID:5Ru68Qww - 何でもラムダ使って俺かっこEEEEEする奴はただの馬鹿
でも場合によっては便利になる事もあるから、読み方が分からないからって拒絶反応をする前に勉強しようねって話 OOPだって、300行未満の使い捨てツールを作るならstaticおじさんで書いた方が効率いい でも、OOPが分からないからって大きなプロジェクトでも全部staticで書けって命令するのは馬鹿だろ? つまり時と場合によって使い分けろ
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
484 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:45:01.61 ID:5Ru68Qww - >>477
個人的には気に入ったんだけどな… >>480 そりゃ限度があるさ ネストした三項演算子とかを使ってまで短く書く必要はないけど、自動実装プロパティとか便利な物は沢山ある 新機能はアレルギー反応起こす前に一回使ってみた方がいい
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
485 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:46:03.95 ID:5Ru68Qww - 短く書くのが好きな俺にVBは無理だと思った
他に選択肢がなかったからLua使ったけど
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
492 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:51:57.86 ID:5Ru68Qww - javaの馬鹿真面目な長いソースを短く書けるようにしたのがC#だろ?
そんなに短いソースが嫌いならjavaでも使えば?
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
493 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:53:31.67 ID:5Ru68Qww - COBOLとか名前しか聞いた事ない
もう使い道のない過去の物と思っていたんだけど
|
- 【Lua】組み込み系言語総合 その6【Squirrel】
955 :デフォルトの名無しさん[]:2016/07/19(火) 22:54:48.00 ID:5Ru68Qww - >>954
何となく分かった気がする ありがとう
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
498 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:56:24.49 ID:5Ru68Qww - >>495
ラムダ以外も色々あるやん getter地獄とかsetter地獄とかReadToEndが無かったりとか
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
500 :デフォルトの名無しさん[sage]:2016/07/19(火) 22:59:07.90 ID:5Ru68Qww - 「時と場合によって使い分けろ」が結論じゃ納得出来ない訳?
それ以外にないだろ
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
503 :デフォルトの名無しさん[sage]:2016/07/19(火) 23:02:17.77 ID:5Ru68Qww - javaのラムダあるのはあるけど、インフェの定義がダルイ
おまけにpublicクラス・インフェ・列挙は1ファイル1個だからとにかく長い C#は1行で済むのに
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
504 :デフォルトの名無しさん[sage]:2016/07/19(火) 23:05:07.64 ID:5Ru68Qww - イベントなんていまだにaddHogeListenerだぜ…
確かラムダに使えるのは関数が一個しかないインフェのみだったから、KeyEvent、WindowEventとかには使えないはず(最近javaでGUI作ってないから間違ってたらすまん)
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
506 :デフォルトの名無しさん[sage]:2016/07/19(火) 23:08:37.91 ID:5Ru68Qww - 多分このスレで俺が一番初心者だわ(´・ω・`)
プログラミング初めて1年半、C#初めて1年だし
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
508 :デフォルトの名無しさん[sage]:2016/07/19(火) 23:12:56.76 ID:5Ru68Qww - >>507
マジで
|
- ふらっと C#,C♯,C#(初心者用) Part122 [無断転載禁止]©2ch.net
509 :デフォルトの名無しさん[sage]:2016/07/19(火) 23:35:34.73 ID:5Ru68Qww - 急に終わった
|