concoquo

三項演算子の隠れた使い方

三項演算子とはWikipediaによると

プログラミングにおける三項演算子とは、3つの被演算子(引数・オペランド)をとる演算子のことである。被演算子がひとつのものを単項演算子、ふたつのものを二項演算子と呼ぶ。
引数の型と結果の型は必ずしも同一ではない。 Cから派生した多くのプログラミング言語では、条件演算子 ? : をサポートする。三項演算子というと一般的にこの演算子のことを指す。

とある。
分かるような分からないような内容…だけど要は

a > b ? true : false;

みたいなやつ。
条件式 ? 真の場合の値 : 偽の場合の値な形。ある条件を使って変数に入れる値を変えたい時なんかによく使う。

var b:Boolean = true;
var s:String = "";

s = b ? "TRUE" : "FALSE";

if( b ){
	s = "TRUE";
}else{
	s = "FALSE";
}

4行目と6〜10行目でやってる事は同じ(厳密には違う、と言うか意味合いが違う?)。

ってここまでは皆さん普通に使ってるでしょうけど、

var i:int = 0;
var s:String = "";

s = (i == 0) ? "零" : (i > 0) ? "正" : "負";

if( i == 0 ){
	s = "零";
}else{
	if( i > 0 ){
		s = "正";
	}else{
		s = "負";
	}
}

6〜14行目の内容を4行目の一行で表せる。こんな使い方が出来たなんて!全然知らなかった!!

else ifでつながっていくのではなくて、elseの中に入れ子になる形なのね。
知ってても劇的に役に立つわけじゃないけど、少し得した気分。

AS3でPHPにデータを渡す

Actionscript3.0になってから初めてPHPとやりとりすることがあったので簡単にメモ。

PHPからの戻りを受け取る場合

URLRequest,URLLoader,URLVariablesを絡めて

var urlRequest:URLRequest = new URLRequest( "XXX.php" );
var urlVariables:URLVariables = new URLVariables();
var urlLoader:URLLoader;
function onClickHandler( e:MouseEvent ):void{
	urlRequest.method = URLRequestMethod.POST;
	urlRequest.data = urlVariables;
	urlLoader = new URLLoader( urlRequest );
	urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
	urlLoader.load( urlRequest );
	urlLoader.addEventListener( Event.COMPLETE, onDataComplete);
}

function onDataComplete( e:Event ):void{
	var v:URLVariables = new URLVariables( e.target.data );
}

URLVariablesにデータを格納
URLRequest.dataにURLVariablesを指定
URLLoaderでURLRequestをload(なぜかload)
URLLoaderのEvent.COMPLETEをトリガーにして戻りを受け取り
みたいな流れ。

PHPに値を投げて戻りを受け取らない場合

データを投げた後、そのままPHPに画面遷移する場合はURLLoaderは必要なく

var urlRequest:URLRequest = new URLRequest( "XXX.php" );
var urlVariables:URLVariables = new URLVariables();

function onClickHandler( e:MouseEvent ):void{
	urlRequest.method = URLRequestMethod.POST;
	urlRequest.data = urlVariables;
	navigateToURL( urlRequest, "_self" );
}

URLVariablesにデータを格納
URLRequest.dataにURLVariablesを指定
navigateToURLでURLRequestにページ遷移
な流れ。

AS2のgetURLではデフォルトでは同一画面で遷移してたはずだけど、AS3のnavigateToURLでは新規で立ち上がるようになってたんだ。

ついでに、POSTで渡った変数とその値をPHP側で確認する記述。

<?php
	$q = "";
	foreach( $_POST as $key => $value ){
		$q .= $key . " : " . $value . "<br />";
	}
	echo $q;
?>

Helvetica or Arial

Helvetica or Arial

“A”と”w”と”W”が難しい。”G”の形が一番好き。

1か-1をランダムに返す式

深い意味はなく、タイトルそのまんまの意味。

INFOBAR2用 待ち受け画面#3

INFOBAR2 待受画面

一通りの時計機能と直近二ヶ月分のカレンダーつき待受。2028年12月31日までの動作保証。