今のところデータは配列に格納して取り扱っています。
〇配列
変数=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];
このようにすると、特定の変数に0-21に区切られたセクションの情報を格納できる
・過去問アプリで使用したサンプル
qa[0] = ["骨の細胞について正しいのはどれか.2つ選べ.<br><001>",
"a.骨細胞は骨芽細胞と連結体を形成する.",
"b.骨芽細胞にはビタミンD受容体がある.",
"c.骨芽細胞は血液幹細胞から分化した細胞である.",
"d.破骨細胞は副甲状腺ホルモンが増加するとその数が減少する.",
"e.破骨細胞は RANKL(receptor activator of nuclear factor-κB ligand)を発現する.",
"","","","",5,0,"a,b",1,1,0,0,0,0,0,0,0];
上の例だとqa[0]が変数
全120問なのでqa[0]からqa[119]までの変数を用意した
この例だと0番目のセクションが問題文、1から5番目のセクションまでが選択肢。選択肢が多い問題に備えて8番目まで選択肢用のセクションを用意しているが無駄になった。
9番目のセクションは画像問題の際に特定の画像を呼び出すのに使用。サンプルでは空白
10番目で選択肢の数というか、チェックボックスの数を変更できるが全問5択なので無駄であった。5しか入れていない。
11番目ではボタンの種類をチェックボックス(0)とラジオボタン(1)で切り替えられるようにしたが、結局チェックボックスしか使用していないので0しか入れていない。
12番目で解答表示:a,b
13番目から17番目は1から5番目のチェックボックスにおけるチェックの成否判定に使用
この例だと答えがa,bなので、13と14番目が1(a,b)、15から17番目が0(c,d,e)
成否判定がすべて正しければ正解となるように処理している
18番目以降は予備で使用していない
格納したデータを取り出す際は
変数[(取り出したいセクションの番号)]
上の例で問題文を取り出すならqa[0][0]と記述する
もっとスマートな方法はいくらでもあるのだろうが今後勉強していく。
配列には他に連想配列や多元配列があり、それぞれ組み合わせることも可能。
〇連想配列
変数={"Object1" : "key1" , "Object2" : "key2"};
こんな感じで特定の文字列にデータを格納できる。
・サンプル
data = {"URL":"http://sample.pdf","name":"MDM"};
この場合data["name"]とするとMDMが呼び出される
〇複数の配列を組み合わせると多元配列に
data = {
"MDM":{"URL":"http://sample1.pdf","name":"MDM"},
"Stryker":{"URL":"http://sample2.pdf","implant":{"femur":"γネイル","tibia":"T2ネイル"}}
};
こんな感じで配列の中に配列を入れることができる
取り出す際はdata["MDM"]["name"]
インプラントのカタログアプリは連想配列と多元配列も駆使して作ってみる予定
0コメント