範囲オブジェクトで配列取得
192 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/17(土) 02:13:33 ID:xZW0Wz0s
質問ですがXPで
for i in 1..$data_armors.size
if $data_armors[i].name != \"\"
$game_party.gain_armor(i,1) # $game_party.gain_armor(i,n)はi番のIDの防具をn個取得するメソッド
end
end
とやったんだけどundefined method 'name' for NilClassになるのはどこがまずいの?
試しに適当に
for i in 1..5
p $data_armors[i].name
end
とすれば、\"ブロンズシールド\"、\"アイアンシールド\"…と出るのに
期待していた動作は、データベースで名前を設定していない物以外の防具(名前が\"\"でないもの)を
テストプレイ用に持たせるってことだったんだけど
193 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/17(土) 04:42:45 ID:jTOe2k1W
>>192
undefined method 'name' for NilClassになるのは、
$data_armors[$data_armors.size]がnilだから。
ヘルプ→スクリプト入門→基礎編→ループの
「範囲オブジェクト」の項を読めば、どう対策すれば良いかわかるはず。
194 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/17(土) 05:55:19 ID:xZW0Wz0s
あああなるほど
データベースの上限の一つ次の項目の名前を探してるわけですね
ありがとう
質問ですがXPで
for i in 1..$data_armors.size
if $data_armors[i].name != \"\"
$game_party.gain_armor(i,1) # $game_party.gain_armor(i,n)はi番のIDの防具をn個取得するメソッド
end
end
とやったんだけどundefined method 'name' for NilClassになるのはどこがまずいの?
試しに適当に
for i in 1..5
p $data_armors[i].name
end
とすれば、\"ブロンズシールド\"、\"アイアンシールド\"…と出るのに
期待していた動作は、データベースで名前を設定していない物以外の防具(名前が\"\"でないもの)を
テストプレイ用に持たせるってことだったんだけど
193 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/17(土) 04:42:45 ID:jTOe2k1W
>>192
undefined method 'name' for NilClassになるのは、
$data_armors[$data_armors.size]がnilだから。
ヘルプ→スクリプト入門→基礎編→ループの
「範囲オブジェクト」の項を読めば、どう対策すれば良いかわかるはず。
194 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/17(土) 05:55:19 ID:xZW0Wz0s
あああなるほど
データベースの上限の一つ次の項目の名前を探してるわけですね
ありがとう
無料レンタルWIKIサービス