▼スレッド
│
└◇556:Re[3]:簡単なことだったらすいません。 [moon] 05/09 09:13
└◇557:Re[4]:簡単なことだったらすいません。 [なず] 05/10 05:22
└◇664:大変遅れました.... [なず] 07/13 23:51
└◇665:Re:大変遅れました.... [moon] 07/14 09:10<-last
> 当然最初の条件式($Axexp > $Bwexp && $Axexp > $Swexp)の部分もすべてのパタンを書く、といったものでもっと他に処理の方法がないかなぁ?と思ったので質問させてもらったわけです。スレッド一覧
そういった感じの処理ならば、
@x = ($a, $b, $c, $d, $e); # 新しい配列を作成する。
@z = ('武器1', '武器2', '武器3', '武器4', '武器5'); # 説明
$max = -1;
$i = 0;
foreach(0..$#x){
if($x[$_] > $max){
$max = $x[$_];
$i = $_;
}
}
print qq|貴方は$z[$i]が得意です\n|;
かな〜。
> map→sort という部分の理解度が乏しくどういうことなのかが、理解できていません(^^;
> if文位しかまともに書けないので、配列?とかかなり苦手で....コツさえつかめばすんなりいくのでしょうけど。
> なんとなくでもヒントいただければ有難いのですが.....。
上記をmap→sort形式で書くと、
@x = 〜; # 同じ
@z = 〜; # 同じ
$i = -1;
@x = sort {$b <=> $a} map {$i++; "$_<>$i";} @x;
$i = (split(/<>/, $x[0]))[1];
print qq|貴方は$z[$i]が得意です\n|;
となります。
簡単なデータを用意して、コマンドプロンプトで実行してみるとやっていることが掴みやすいと思います。
# 文法チェックをしていないので書き間違いがあるかもしれません。
> > 当然最初の条件式($Axexp > $Bwexp && $Axexp > $Swexp)の部分もすべてのパタンを書く、といったものでもっと他に処理の方法がないかなぁ?と思ったので質問させてもらったわけです。スレッド一覧
>
> そういった感じの処理ならば、
> @x = ($a, $b, $c, $d, $e); # 新しい配列を作成する。
> @z = ('武器1', '武器2', '武器3', '武器4', '武器5'); # 説明
> $max = -1;
> $i = 0;
> foreach(0..$#x){
> if($x[$_] > $max){
> $max = $x[$_];
> $i = $_;
> }
> }
> print qq|貴方は$z[$i]が得意です\n|;
> かな〜。
なるほどぉ〜。 途中の処理をどうしていいものか?ってことで配列にいれるのは避けて考えてたのですが、この例をみて理解できそうです。
> > map→sort という部分の理解度が乏しくどういうことなのかが、理解できていません(^^;
> > if文位しかまともに書けないので、配列?とかかなり苦手で....コツさえつかめばすんなりいくのでしょうけど。
> > なんとなくでもヒントいただければ有難いのですが.....。
>
> 上記をmap→sort形式で書くと、
> @x = 〜; # 同じ
> @z = 〜; # 同じ
> $i = -1;
> @x = sort {$b <=> $a} map {$i++; "$_<>$i";} @x;
> $i = (split(/<>/, $x[0]))[1];
> print qq|貴方は$z[$i]が得意です\n|;
> となります。
> 簡単なデータを用意して、コマンドプロンプトで実行してみるとやっていることが掴みやすいと思います。
上記のものと結果は同じだけど、書き方が違うってことでしょうか? おそらく流れくらいは理解できたとおもいますが(^^;
どちらのパタンも試してみて、動きを確認してみます。
(最近ぜんぜん時間が取れなくて、ご報告遅れたらすいません......)
ご返答ありがとうございます、助かりましたm(、、)m
あまりに古い事で申し訳ないのですが、教えて頂いた事が出来たのでご報告にまいりました。スレッド一覧
当初はエラーが出てうまく動かずに細かく命令文等の勉強のしなおし等してたのですが、うまくいかずにそのうち改造にさける時間がなくなりつい最近まで放置状態でした(^^;
エラー原因はなんてことはなく、配列に使っていた文字「能」だというのがわかり、あとはあっさり動きました.....(;ー;)
でも1連のことで関連項目すべてを調べる結果となり、また少し知識がついたのと、やりたいこと1つ出来るようになって目標のものに近づきました。
ありがとうございましたぁm(、、)m
※古い記事の上げになってしまって申し訳ありません(^^;
(別記事にするのは避けたかったもので)
> あまりに古い事で申し訳ないのですが、教えて頂いた事が出来たのでご報告にまいりました。スレッド一覧
>
> 当初はエラーが出てうまく動かずに細かく命令文等の勉強のしなおし等してたのですが、うまくいかずにそのうち改造にさける時間がなくなりつい最近まで放置状態でした(^^;
> エラー原因はなんてことはなく、配列に使っていた文字「能」だというのがわかり、あとはあっさり動きました.....(;ー;)
> でも1連のことで関連項目すべてを調べる結果となり、また少し知識がついたのと、やりたいこと1つ出来るようになって目標のものに近づきました。
> ありがとうございましたぁm(、、)m
>
> ※古い記事の上げになってしまって申し訳ありません(^^;
> (別記事にするのは避けたかったもので)
わざわざ報告をありがとうございます。
「能」ですか・・・。
見えないところの"\"って嫌ですよね。(笑)
# EUCにすればこんな些細なことで悩まなくとも良いのはわかっていますが全てを変換するのは面倒ですしね。