テキストを一行ずつ読み込み、分岐させるには?

このQ&Aのポイント
  • テキストファイルから1行ずつデータを読み込んで分岐させる方法を教えてください。
  • actionscriptを使って、テキストファイルからデータを読み込んで処理する方法を教えてください。
  • オススメのactionscriptの参考書を探しています。おすすめがあれば教えてください。
回答を見る
  • ベストアンサー

テキストを一行ずつ読み込み、分岐させるには?

1,a,http://*******.jp 1,b,http://××××.jp 2,a,http://-------.jp 2,b,http://????????.com このようなデータが記述されたテキストファイルから1行ずつデータを読み込み、splitで値を切り分けてそれぞれを変数x,y,zに格納。 x=1だった場合にa,bに対応するリンクのURLを変更する。 という事をactionscriptを使用してやりたいのですが、actionscriptをあまり理解していないためにやり方がさっぱりわかりません。 splitが存在するという事はわかったのですが、それ以外はさっぱりです。 actionscriptでこういう事は可能なんでしょうか? もし可能でしたらやり方のアドバイスをお願いします>< 後、オススメの参考書とかあったら教えてください。

  • kamay
  • お礼率73% (361/491)
  • Flash
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • UNAHO
  • ベストアンサー率57% (20/35)
回答No.1

フラッシュでデータを読み込む場合フォーマットは以下のようになります。(一例) a=1,a,http://*******.jp&b=1,b,http://××××.jp&c=2,a,http://-------.jp&d=2,b,http://????????.com "a"という変数に"1,a,http://*******.jp&b=1,b,http://××××.jp"の文字列が代入されます。あとは"a"の中身をsplitして下さい。 要するにHTMLのフォームで送られてくるデータ形式と同じと考えれば分かりやすいと思います。 なお、csv形式とは異なり改行は意味を持ちません。 おすすめ本は↓

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4274064026/procreoflashd-22/249-5279686-4241936
kamay
質問者

お礼

とても助かりました!ありがとうございます^^

関連するQ&A

  • ファイルから一行ずつ読み込むとき、@F[0] と $_ は違う?

    データファイルを一行ずつ読み込んで、文字列を一文字ずつコンマ区切りにしたいと思っています。たとえば、   xyz → x,y,z としたいと思っています。 今、data.txt に  abc  defgh という2行が書いてあります。  perl -nla -e '@chars= split(//,@F[1]); print join(",",@chars);' data.txt とすると  a,b,c  d,e,f,g,h という出力が無事に得られました。 どうせ、data.txt は一列しか使っていないので、 @F[0] の代りに $_ を使ってみました。  perl -nle '@chars= split(//, $_); print join(",",@chars);' data.txt しかし、結果は  a,b,c,  d,e,f,g,h, のように、各行の最後に余計なコンマが付いてしまいます。 なぜでしょうか? 一列しかデータがないので、@F[0] と $_ は同じだと思っていたのですが、なにか違うのでしょうか?

    • ベストアンサー
    • Perl
  • 無名配列をsplitする方法

    データベースから吐き出した数百行のデータがあります。それを無名配列に入れているのですが、 1)1列目の一行目を変数に格納したい。 2)7行目を全部足して、その結果を変数に格納したい。 コードが会社にあるため、十分に説明できなければすみません。 一部分でもヒントがございましたら教えてくださいまし。 eval column bind{} #dbh 処理完了 while sth hashref_array() { #無名配列へ格納 my $z = $a->[3]; #一行前のデータを使用 my $b = $z / 12; my $c = $a->[4];  my $d = ($z / $c)**0.38888888; $a=[$x, $b, $c, $d, $e, $f, $g]; }

  • 3変数における、極値の求め方

    f(x,y,z)=(a*x^2+b*y^2+c*z^2)exp(-x^2-y^2-z^2) この関数の極値をすべて求めよ。ただし、0<a<b<cである。 という問題があるのですが、どうやって解けばよいのでしょうか? 変数が2つのものならなんとかできるのですが、変数が3つのものはどうすればよいのでしょうか?

  • エクセルの初心者です。連立方程式の計算方法を教えてください。

    エクセルの初心者です。 C=-2.38B-0.126A+X…変数 B=-2.37C-0.124A-Y…変数 A=-1.51B-1.48C-Z…変数 以上の連立方程式のA・B・Cの答えの出し方を 教えてください。 尚X・Y・Zは変数です。

  • 確立統計学について

    確率変数Xは正規分布N(μ,σ^2)に従うものとする。 (1)確率変数Yを Y = X + a (aは定数)と定めるとき、YはN(μ+a,σ^2)にしたがうことを示せ。 (2)確率変数Zを Z = bX (bは定数)と定めるとき、ZはN(bμ,(b^2)×(σ^2))にしたがうことを示せ。 上記の問題がわからず困っています。 f(x)=(1/√2πσ^2)e^{-((x-σ)^2)/2σ^2} のxをyとzに置き換えて式を変形すれば良いのかと考えたのですが、違うようなんです… 何卒途中経過や何の定理を使ったのかなども詳しく教えていただけるとありがたいです。

  • エクセル データ並び変換(縦から横) 不要行削除

    同一キーに属する複数データが縦並び(行)になっているのを横並び(列)に直して、下段の データを行ごと削除したいのですが、どのような方法が考えられますでしょうか? キーの数は不特定で空白行はありません。データはキーも含めて、全て文字列です。 発想が貧困なもので、何から手を付けて良いかわかりません。お手数ですが、ご教示ください。   A  B  C 1  x  a 2  x  b 3  y  c 4  y  d 5  z  e 6  z  f ・ ・ ・ 199 200 ・ ↓   A  B  C 1  x  a  b 2  y  c  d 3  z  e  f ・ ・ ・ 99 100 ・

  • 偏微分とかの問題を教えてください。

    (1) f(x,y)=sin log(x+2y)の(x,y)=(2,1)のまわりでの1次近似式と偏微分係数を求めなさい (2) f(x,y)=Arctan(x tany)の(x,y)=(a,b)のまわりでの1次近似式と偏微分係数を求めなさい (3) z=a-(x-b・e^(-y))^2、(aとbは定数)が次を満たすことを示しなさい。 2x(∂z/∂x)+(∂z/∂x)^2=2(∂z/∂y) (4) z=(1/a)(x+ay)^2+b、(a,bは定数)が次を満たすことを示しなさい (∂z/∂x)・(∂z/∂y)=2x・(∂z/∂x)+2y・(∂z/∂y) (5) Φ(ε)が任意の微分可能1変数関数であるとし、u(x,y)=Φ(2xy)とする。次が成立する事を示しなさい x・(∂u/∂x)+x・(∂u/∂y)=0 (6) Φ(ε)が任意の微分可能1変数関数とし、u=u(x,y)=(x+y)Φ(x^2-y^2)とする。 次が成立することを示しなさい y・(∂u/∂x)+x・(∂u/∂y)=u (7) Φ(ε)が任意の微分可能1変数関数であり、a,b,cが実定数であるとき、 u(x,y)=Φ(ax^2+2bxy+cy^2)とすると次が成立する事を示しなさい (bx-cy)・(∂u/∂x)-(ax+by)・(∂u/∂y)=0

  • ファイルの作成・書き込み・読み込みについて

    ファイルの取り扱いについて、どのように記述すればいいのかが分かりません。 分からないことが多いので(1)~(4)の質問に分けています、Cの勉強は趣味程度にしかできていないので、詳しくご回答いただけると嬉しいです。 自分なりに書いてみます、間違いがあればご指摘宜しくお願いします。 (1)Aを頭文字にして100個のcsvファイルを作成 (a1,a2…a100) char A[100] FILE *fp; for(i=1;i<101;i++) { snprintf(A,sizeof A,"A%d.csv",i); if((fp = fopen(A,"w"))!=NULL) {exit(1);} } (2)A1を開きデータを入れる、この動作を同様に2~100で繰り返す。 A1に入れたいデータはx,y,zで1000行 fp = fopen("A1.csv","a"); for(z=1;z<11;z++) { for(y=1;y<11;y++) { for(x=1;x<11;x++) { fprintf(fp,"%d,%d,%d\n",x,y,z); } } } fclose(fp); これでこんな感じに書き込まれるはず・・・ 1,1,1 2,1,1 3,1,1  ・  ・  ・ 10,10,10 これを同様に2~100のファイルに対して一気に行いたいですが、書き方が分かりません。 (3)再びA1を開きx=10,Y=10の時のzの値を知りたい。 こんな事はできるのでしょうか? もし無理なら~行目のデータを呼び出す (4)そしてA1を開きx=10,Y=10の時の、zだけを上書き。 長くなってすいません、分からない事だらけなので宜しくお願いします。

  • この問題の答えをわかる方お願いします!

    設問2 表1は,ある調査における5個のデータを表したものである。 表1のデータをXとYを用いて「データi(Xi,Yi)」と表す。例えば,X1はi=1のときのXのデータを表し,Y2はi=2のときのYのデータを表す。 Xを独立変数とし,Yを従属変数とする。 表1のデータを全て用いて最小二乗法にて求められた回帰式をY=a+bXとする。 aとbはいずれも回帰係数である。bの値を30分の1とし,aの小数第1位の値をkとする。 a>kとなるとき,aの分散をuとし,bの分散をzとする。 uの小数第1位の値を答えなさい。 表1 データ1(6,7) データ2(2,5) データ3(9,4) データ4(8,7) データ5(5p,5p) 設問3 設問2のuとzについて,u+z=cとする。cの小数第1位の値を答えなさい。

  • ラグランジュの未定乗数法

    条件g(x,y)=0の下で、z=f(x,y)の極値を求める。 g(x,y)=0は、xとyの陰関数でありz軸に平行なある曲面を表す。 z=f(x,y)の全微分は、dz=(∂f/∂x)*dx+(∂f/∂y)*dyより、(dz/dx)=(∂f/∂x)*1+(∂f/∂y)*(dy/dx) dz/dx=f_x(x,y)+f_y(x,y)*(dy/dx) ここでzは、g(x,y)=0の条件によりxの1変数関数となっている。 一方、z=g(x,y)とすると、z=g(x,y)=0となり、これは恒等的に0である。よって、全微分もdz=(g_x)*dx+(g_y)*dy=0となる。 dy/dx=-g_x(x,y)/g_y(x,y) dz/dx=f_x(x,y)-[{f_y(x,y)*g_x(x,y)}/g_y(x,y)] (x,y)=(a,b)の点で、この曲線が極値をもつとき、dz/dx=0となる。 dz/dx=f_x(a,b)-[{f_y(a,b)*g_x(a,b)}/g_y(a,b)] f_x(a,b)={f_y(a,b)*g_x(a,b)}/g_y(a,b) g_x(a,b)≠0のとき、両辺をg_x(a,b)で割り、{f_x(a,b)/g_x(a,b)}={f_y(a,b)/g_y(a,b)} ここで、{f_x(a,b)/g_x(a,b)}={f_y(a,b)/g_y(a,b)} =λとおくと、f_x(a,b)=λ*{g_x(a,b)}, f_y(a,b)=λ*g_y(a,b) このλが未定乗数である。 質問がいくつかあります。 まず、初めに条件になっている『g(x,y)=0はz軸に平行な曲面を表す』とあります。これは、z=g(x,y)=0とは違いますよね? z=g(x,y)=0はz=0なので、xy平面上の関数になり、z軸に平行な曲面にはならないと思うのですが。 次に、全微分可能な関数z=f(x,y)の全微分はdz=f_x(x,y)dx+f_y(x,y)dyと表され、これは∂z/∂x=f_x(x,y)+f_y(x,y*)(dy/dx)と表す事ができ、この左辺はzがxとyの2変数関数のためdz/dxとならずに∂z/∂xとなっています。この証明においてz=f(x,y)の全微分を求める際に『ここで、zはg(x,y)=0の条件により、xの1変数関数となっている』とありますが、これはどういう意味でですか? z=f(x,y)の曲面とg(x,y)=0の曲面が交わった所は曲線になるのは分かります。そしてこの曲線はxの値を一個定めると、それによってyの値が決まるので、zも決まる。よってzはxの1変数関数となるのでしょうか? そして、『z=g(x,y)とおくと、z=g(x,y)=0とおくと、これは恒等的に0。よって、その全微分もdz=(g_x)*dx+(g_y)*dy=0』とありますが、まずこの意味を簡単に説明していただけますか。『よって』の前後がどう繋がっているのが分かりません。『z=g(x,y)=0とおく』となっていますが、この場合z=g(x,y)=0は前述したようにxy平面上のグラフになると思うのですが、なぜg(x,y)=0をz=g(x,y)=0と置き換えたのかが分かりません。dy/dxの値を求めるためでしょうか? 自分の書いた所に、誤解やちんぷんかんぷんで意味が分からない所があれば指摘してください。