新館ホワイトカラーではないブルーカラーからの視点この広告は、90日以上更新していないブログに表示しています。Tumblr無駄な部分を手直し前回で、ようやく、思っていたとおりのツールが出来上がりました。kimniy8.hatenablog.comただ、前回のコードを見直すと、結構、無駄な部分があったりするんですよね。いう事で今回は、もう少しだけ短くなるように書き直そうと思います。素人目に見ても『無駄だなぁ』と思う部分は、この部分でしょうか。pp[1][0]if文の中にif文を入れて、条件を細かく絞っているわけですが、この部分、よく見ると、無駄なんですよね。いうのも、cp[0]の場合は、ppリストの最初に指定する1つ目のリストも[0]となり、ラジオボタンの選択によって得られる値と、ppリストの2つ目の数字が合致している。それなら、わざわざif文の中にif文を書かなくても、2つの変数を利用するだけで、紙の価格であるppリストは呼び出せそうですし、もし呼び出せるのなら、ifの中のifは完全に無駄ということになります。重複部分をまとめるでは、具体的にどんな感じにすれば、cpのリスト番号とラジオボタンの戻り値であるradio1を利用できるんでしょうか。ここで生きてくるのが、代入の知識です。変数というのは基本的に、何らかの値が代入された値なので、どんな名前がついていようと、その中身は『値』なんですよ。いうことは、ラジオボタンのアクションによる戻り値が格納されている『radio1』は、ラジオボタンのアクションによって数値が変わる変数である為、わざわざ、『radio1』の値が0と同じ時は、ppリストの2番目の数字は『0』なんて記述はしてくても言い。pp[0][radio1]と、リスト番号を指定する際に、変数である『radio1』を打ち込んでやれば良いわけです。このように、『リスト呼び出しに変数を利用』すれば、先程のコードはこんな感じで短縮できます。pp[1][radio1]ifの中のifが無くなったことで、かなりのダイエットが出来て随分と短くなりましたが、まだ、無駄な部分がありそうです。いうのも、cpの数字とppの1つ目のリストの呼出番号が同じなので、同じ数字を共有できるようにするだけで、p_p...の部分も削除できそうです。すれば良いのかというと、先程の応用で、cpとppの1つ目のリスト呼出番号を変数に代入し、その変数を使い回せばよいだけです。pp_f[c_p_f_v][radio2]新たにc_p_vといった変数を作り、それぞれの変数を使って価格リストから値を呼び出せるようにしてみました。2つのコードの最終行を見てみると、書き直す前が244行だったのに対して、書き直した後は179行と、かなりのダイエットに成功しました。同じ動作をするツールでも、変数をうまく使う事で、かなり効率的に書ける事がわかりますよね。これで完璧なプログラムなのかというと...実は全くそんなことは無かったりします。いうのも、今回の書き方は、その都度その都度で必要な変数を新たに作って対処していった為、最終的にはかなり適当な感じの変数の名付け方になっていました。オブジェクト指向というのは、一つのオブジェクトに対して様々なデータを付加していく事で、より複雑なプログラムも簡単にかけるようになる言語だと思うのですが、今回、その強みを全く活かせていません。次回は、この反省を活かした形で、同じソフトをもう一度作り直してみようと思います。»プロフィールid:kimniy8ブログは、興味を持った事を書いていってますので、ジャンルはあまりまとまってはいません。本社ブログ内で紹介したコンテンツを、見やすくまとめています。過去に投稿していたブログです。コンテンツ紹介や、その時思ったこと等を書いています。2参加グループ社会リンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!kimniy8さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。