星田オステオパシー

Racketで何か 四人のキング01 準備1

 ハッシュテーブルに関数を詰め込んで・・ってのを狙っていく予定なので挙動をチェック。今更だけどhash-refで関数を呼び出した場合()で囲むと実行できるんですね

 カードを作らないといけないので大枠の実験。map lambdaの入れ子じゃなくて今回はfor*/listを使ってみる。余計な()が発生しないので楽だ!

 構造体CARDに入れるデータは表示用テキストデータや座標(は別のマップデータに持たせるべきかも知れないが一応)、使用後に裏返すかそのままか(ON)、ENEMYの設定などあるので結局手作業で作らないといけないのだが・・。前から思っていた、インスタンスを一気に作成するということが可能か?が気になったので挑戦してみる。
 要するに、この出力状態みたいな感じを自動で実行してほしいわけですが・・

 多分(禁断の)evalを使えば出来るんじゃないかな?と試したが・・いや、CARDはstructで設定済みだろ?で、その後のエラーが謎。

 これも


 これもか・・もうこの時点で駄目なのでネットで調べる

 なるほど、evalをコード内に入れて実行するのが駄目なのか・・

 同様の事を質問してる外国人がいたので参考にさせてもらう。どうもnamespaceの問題らしい。このまま使えば良いのか?

 多分、形としてはこれが正しいと思うんだけど、CARDが未定義だと出るしなぁ・・

 こうすると、一応出力はされるが間違ってると思う。型も崩れてしまっているし・・うーん・・

 listで出力するだけなら動くのだが・・(-_-;)

 構造体を生成するのが駄目なのか?と、もうちょっと単純にしたものを試してもやっぱり型崩壊

 うーん・・インスタンスの自動生成は無理なのかも。ただ、文字列?としての出力はそのままコピペして手入力の助けになるから良いかな。namespaceとevalの件も勉強にはなったし良かろう。というわけで、次回から本番開始でーす。
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事