私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇888:
Re[8]:初歩の質問です……。 [ミル] 01/17 22:53

 └◇889:Re[9]:初歩の質問です……。 [moon] 01/18 00:58
  └◇890:Re[10]:初歩の質問です……。 [ミル] 01/18 10:57
   └◇891:Re[11]:初歩の質問です……。 [ミル] 01/18 14:28
    └◇892:Re[12]:初歩の質問です……。 [moon] 01/18 14:53
     └◇894:Re[13]:初歩の質問です……。 [ミル] 01/18 15:13
      ├◇895:Re[14]:初歩の質問です……。 [moon] 01/18 15:29
      └◇896:階層が深いそうなのでこちらに [ミル] 01/18 15:52<-last


888● Re[8]:初歩の質問です……。[ ミル ] 2004 01/17 22:53
ごめんなさい。お世話になります。助かります(´・ω・`)
@ljblines = &opendat(index($sp, 'Mn') != -1 ? $jobmdat : $jobwdat);
とのことですが、入力して動作させてみると「Can't Open」と表示されます。多分opendatにエラーが起こってるようなのですが……。
後、よろしければ部分部分の説明も教えていただけませんか?Mnのスキルがあればjobmdat。それが無ければ(Wmのスキルを持っていれば)jobwdatということだと思うのですが、「(index」等も出てきたので……。
とほほのCGI入門には書いていなかったと思いますので、よければ教えて下さい。
スレッド一覧


889● Re[9]:初歩の質問です……。[ moon ] 2004 01/18 00:58
> ごめんなさい。お世話になります。助かります(´・ω・`)
> @ljblines = &opendat(index($sp, 'Mn') != -1 ? $jobmdat : $jobwdat);
> とのことですが、入力して動作させてみると「Can't Open」と表示されます。多分opendatにエラーが起こってるようなのですが……。

$jobmdatや$jobwdatが定義されていないのだと思います。
$jobvdatの定義と同様に設定部分にでも定義の追加が必要です。

> 後、よろしければ部分部分の説明も教えていただけませんか?Mnのスキルがあればjobmdat。それが無ければ(Wmのスキルを持っていれば)jobwdatということだと思うのですが、「(index」等も出てきたので……。
> とほほのCGI入門には書いていなかったと思いますので、よければ教えて下さい。

A ? B : C;はif(A){B}else{C}の省略した書き方です。
そして、index(A, B);はAの先頭からBを検索して最初に見付かった位置を返す関数です。(見付からない場合は-1が返ります。)
なので、「$spに'Mn'があれば$jobmdatを開き、なければ$jobwdatを開く」という処理ということになります。
スレッド一覧


890● Re[10]:初歩の質問です……。[ ミル ] 2004 01/18 10:57
sos2でちゃんと指定はしているのですが……。
と思ったらアップをしていませんでした。すみません^^;
分割verなので、plフォルダばかり見ていてsos2とufs2を忘れがちですね……。
それで、実行してみたらばっちりできました。助かりました。ありがとうございます。
> A ? B : C;はif(A){B}else{C}の省略した書き方です。
> そして、index(A, B);はAの先頭からBを検索して最初に見付かった位置を返す関数です。(見付からない場合は-1が返ります。)
なるほど。後でちょっと自分でやってみますね。
本当に、本当にありがとうございました。とても助かりました^^
スレッド一覧


891● Re[11]:初歩の質問です……。[ ミル ] 2004 01/18 14:28
うー……。申し訳ないです。やはり無理でした。
@ljblines = &opendat(index($mysp, 'Mn') != -1 ? $jobmdat : $jobwdat);
の、
$jobmdat : $jobwdat
ここの後のファイルだけしか開きません。女性(Wm)の方しか選択できないようになってます。
逆にしてみると($jobwdat : $jobmdat)、今度は男の(Mn)方だけという結果になってしまいます。一方ずつ、別のスキルを持つキャラクターで試しました。
どうすれば良いでしょうか……。後、「見つからない場合、-1が返る」と仰っていましたが、具体的にはどういう意味でしょうか?説明しづらいものならば割合して頂いても構いません。
スレッド一覧


892● Re[12]:初歩の質問です……。[ moon ] 2004 01/18 14:53
> @ljblines = &opendat(index($mysp, 'Mn') != -1 ? $jobmdat : $jobwdat);

$myspではなくて$spですよ。

> どうすれば良いでしょうか……。後、「見つからない場合、-1が返る」と仰っていましたが、具体的にはどういう意味でしょうか?説明しづらいものならば割合して頂いても構いません。

例えば、
  $pos = index('aaaaZaaa', 'Z')なら$posは4(0から数えるので)
  $pos = index('aaaaZaaa', 'X')なら$posは-1('X'は存在しないので)
ということです。
# 後者が見付からない場合に-1が返るという事例
スレッド一覧


894● Re[13]:初歩の質問です……。[ ミル ] 2004 01/18 15:13
あ、すみません。myは外してテストしたんです。そしたら出来なかったからmyを入れてみて……というようにやったので、そこから貼り付けてしまったようで……。度々申し訳ないです。
> 例えば、
>   $pos = index('aaaaZaaa', 'Z')なら$posは4(0から数えるので)
>   $pos = index('aaaaZaaa', 'X')なら$posは-1('X'は存在しないので)
> ということです。
なるほど……。一つずつ減らすとして、もし入れる数がaaaZaaだと$posは3になるわけですね?("aaa"Zaa
スレッド一覧


895● Re[14]:初歩の質問です……。[ moon ] 2004 01/18 15:29
> あ、すみません。myは外してテストしたんです。そしたら出来なかったからmyを入れてみて……というようにやったので、そこから貼り付けてしまったようで……。度々申し訳ないです。

そうすると、@ljblines = &opendat(index($sp, 'Mn') != -1 ? $jobmdat : $jobwdat);の前に&get_userがされていないという可能性もあります。
@ljblines = 〜;の前にpush(@msg, "\$sp = $sp<br>");を入れてテストをしてなんと表示されるかを確認してみてください。
「$sp = 」というように$sp = の後に何も表示されないのであれば&get_userが実行されていない(もしくは読み込めなかったとかデータが壊れているとか)ということです。
スレッド一覧


896● 階層が深いそうなのでこちらに[ ミル ] 2004 01/18 15:52
うーん……。push(@msg, "\$sp = $sp<br>");を指定された場所に組み込んで、テストしてみても変わりはありませんでした。

と、文の中に&get_userの記述を見つけたので、その後
に@ljblines = &opendat(index($sp, 'Mn') != -1 ? $jobmdat : $jobwdat);を置いてみると……。
見事、出来ました!
男は男だけ。女は女だけの職しか選べませんっ!(嬉
いやはや、私なんぞに付き合ってくださってありがとうございました……。
スレッド一覧

CGIROOM