Javaでfor-each(拡張for文)

訳あって最近Javaで戯れる。
で、配列をいわゆるfor-each的に回したくなったときPHPだとすぐにforeach($ary as $k=> $v) と頭に浮かぶのだけど、Java書いていてついつい下の様に書いてしまった。

class Sample{
public static void main(String args[]){
String[] strary = {"foo", "bar", "hoge"};
for(int i=0; i<strary.length; i++){
System.out.println(strary[i]);
}
}
}

あぁ、旧世代。でも、昔はこう教科書にも書いてあったのだ。
ちゃんと、今のJava*1はfor-eachできるのですね。

class Sample{
public static void main(String args[]){
String[] strary = {"foo", "bar", "hoge"};
for(String val: strary){
System.out.println(val);
}
}
}

他にもいろいろ知ったことはあるのだけど、また気づいた度にメモしていこう。
一度、勉強し直した方がよいのかもしれないな。

*1:今のjavaといっても拡張for文はJDK5からの実装だから5年くらい前の話だ。恐ろしい。

井の頭公園側に焼き鳥等々を食べに行く

友達と飲みに行く。
相変わらず停電が2回起きるなど、楽しい店だ。
そして会話は、Androidからtaspoの決済方法についてまで相変わらず幅広いのだ。
あと、ハイボールの炭酸はもう少し効いてた方が美味しいと思うけど、まぁ、いいや。
どーだどーだ的にビールを飲み、何故か焼き鳥以外の注文*1が多かったりするということも気にしつつ、夜は更けた。
f:id:hideack:20100522195202j:image

*1:餃子としょうが焼きが美味しかった

すっかり

blogがご無沙汰状態。
twitterが気楽なのでどうしてもそちらを更新してしまう毎日。

今日の一言

仕事の課題を解決するときに難しく考えては駄目で簡単に考えなければならない。
簡単なことの組み合わせで仕事は片付けられる。と、前職の上司に教えてもらったが、未だにマスターできていないかもしれない。

連休終了

カレンダー通り休んだので本日で充電期間終了。
いろいろ考え事持って帰ったのですが、あまり解決せず逆に宿題増えて東京に戻ってきた感すらあったり...。
移動に使う4,5時間の間、いつもは長いなぁ。と思っていたのでしたが、今日はあっという間に時間が過ぎました。

とりあえず、明日から仕事再開で現実に戻りたいと思います。

StdClassをArrayに変換する方法

キャストすればよいですよ。と。

<?php
$obj = new Sample();
$obj->foo = 'foo';
$obj->bar = 'bar';
$array = (array) $obj;
print_r( $array );
/*
    Array
    (
       [foo] => foo
       [bar] => bar
    )
    */
?>

なんで気づかなかったんだろう…。

Twitter APIとPEAR::Services::Twitterで全フォロワーの情報を取得

Twitter APIを通して、あるユーザの全フォロワーを取得したいと思ったら以下の様な形になる。
ここでは、スクリーン名と設定してあるアイコンの保管位置を取得している。
ミソと言うわけではないが、$info = $twitter->statuses->followers(array("cursor" => -1)); としないと、フォロワーの人数が100人を超えた場合に続けてデータを取得するためのcursorの値が取れない。
最初設定しないで、cursorの値が取れず大いに悩んだ。

参照: Twitter REST API Method: statuses followers

<?php
require_once 'Services/Twitter.php';
require_once 'HTTP/OAuth/Consumer.php';
$consumerkey = "";        // Twitterから開発者が取得したConsumer keyを設定
$consumersecret = "";   // Twitterから開発者が取得したSecret keyを設定
$accesstoken = "";          // TwitterのOAuth認証で得ているAccess Token
$accessecret = "";           // TwitterのOAuth認証で得ているAccess Token Secret
try{
$twitter = new Services_Twitter();
$oauth   = new HTTP_OAuth_Consumer($consumerkey, $consumersecret, $accesstoken, $accessecret);
$twitter->setOAuth($oauth);
$followerprop_ary = array();
$cursor = -1;
do{
$info = $twitter->statuses->followers(array("cursor" => $cursor));
foreach($info->users as $follower){
$tmp = array(
"screen_name" => $follower->screen_name,
"profile_img" => $follower->profile_image_url,
);
$followerprop_ary[] = $tmp;
}
$cursor = $info->next_cursor_str;
}while($cursor != "0");
print_r($followerprop_ary);
printf("Total %d followers.\n", count($followerprop_ary));
} catch (Services_Twitter_Exception $e) {
echo $e->getMessage();
}
?>

雪。だなぁ。

昨夜寒い寒いと言っていたら、今朝起きたら外が白くてびっくり。
ほとんど溶けかかった様な状態なので、屋根から雪がベランダに滑り落ちてけたたましい音を上げた。

こんな時期に雪がふることがあるんだ。
東京でこの時期の雪は41年ぶりらしくて。ホント、冬用のコートをクリーニングに出してなくてよかった。もっとも、正確に言うとクリーニングに出そうと忘れないように何度も玄関のクリーニング用紙袋に入れたことはあったのだが、朝、家を出る時殊の外寒いことが何度かあって袋から取り出していたのだけど。