2014年7月31日木曜日

下等超人のルーツ

ふと思ったこと。

完璧超人に縁のある地が地球に集中しているのは単純なご都合主義だと思っていたのだけれど、カピラリア七光線による超人ジェノサイドから完璧超人始祖となる超人達を救うためのシェルターになったのが地球なのではないか。それならば超人墓場や完璧の党、そしてサグラダ・ファミリアの下に眠る何かも、全て地球に存在している意味がありそうだ。

更に、地球(の一部?)をカピラリア七光線から保護したことで、地球に居た一部の超人が意図せずジェノサイドを免れたのでは? そんな中には、現・超人閻魔に心身ともに優れていると認められなかっただけで、性根はクズだけど力は当時の始祖達と同等以上な超人も混ざっていた可能性を考えると、下等超人もまんざら力が劣っているとは言い切れなかったかもしれない。完璧超人が強いのは、それから何万年もの間、治安維持というお題目で下等超人の中の出る杭を打ち続けたから、と言うだけで。

で、超人強度だけ見れば完璧超人が圧倒的に強い状況を作り上げて安心していたのも束の間。大した力は無いと見過ごしていた中から、瞬間的に完璧超人を凌駕する力を発揮する超人達が現れて、慌てて無量大数軍が叩きに来て今に至る、と。

いい年こいて平日の昼間から何を考えているんだという自己ツッコミは、グッと飲み込もう。

2014年7月30日水曜日

外国株を買ってみたい

そう思い立ってググってみたところ、住信SBIネット銀行のハイブリッド預金目当てで口座開設済みのSBI証券で取引できるとのこと。

で、適当に給料が振り込まれっぱなしのメガバンクの口座からSBI証券に入金手続きをしたのが先週末。週が開けて実際に入金されたところで為替手数料を見てみたら高い。米ドルで片道25銭、他の通貨はもっとスプレッドが広い

が、もう少し調べてみたところ、住信SBIネット銀行との間の入出金は、円でも外貨で無料で可能とのこと。住信SBIネット銀行の方がスプレッドが半分以下なので、両替はこっちでやった方が得。しかも、買い付けに限れば毎月25日から3営業日間は手数料無料。…と言うわけで、入金した側から住信SBIネット銀行へ出金指示したのが月曜日。

そんなこんなで、ようやく今日、住信SBIネット銀行に振り込まれたが、結局買い付け手数料の無料期間が過ぎてしまった。雇用統計前に博打を打つ気もないので、しばらく放置。

2014年7月29日火曜日

住宅の供給過剰

http://www.47news.jp/CN/201407/CN2014072901001607.html

全国平均を取ると7.4戸に1戸は空き家ってことか。結構インパクトのある数字だな。

さてこのニュース。色々対策しなければと言っているけれど、自分のような不動産を所有していない立場から見れば、まんざら悪い話ではないように思える。単純に借り手優位になるのはもちろんのこと。ついでに、ローンとともに住宅に縛られる習慣に風穴を開けてくれないかと期待している。無理に住宅を保有することにこだわらない人が増えれば、それだけ住宅ローンのために働かざるを得ない人が減るわけだから、世の働き方の革新につながる可能性も十分秘めているのではなかろうか。

もっとも、今住んでいる横浜の外れでは、空き家が増えているなんて実感はまるでない。地域差が大きすぎて、平均だけ見てもあまり意味は無いのだろうな。

2014年7月28日月曜日

悪魔の嘘泣き

今週のキン肉マン。

おいおい、サンシャインの醜態は酷過ぎだろう。ゆではどれだけサンシャインを辱めたいんだよ? …と思ったら、嘘ぴょ〜ん、とな。今回の情けない様がII世で老け込んだサンシャインと違和感無く重なったおかげで、見事に騙されてしまった。

砂鉄なら既に酸化してる気がするけど、超人の体を構成している砂鉄に人智は及ばないと思っておこう。とにかく情けない印象ばかりのサンシャインが、したたかに悪魔らしい逆転劇を見せたのは大きい。

ピークア・ブーがしっかり一命を取り留めていたのも、今後の展開的には地味に大きいかもしれない。

ももクロ夏のバカ騒ぎ2014 日産スタジアム大会 ~桃神祭~ 2日目

昨日に続いて、ももクロ夏のバカ騒ぎ2014 日産スタジアム大会 ~桃神祭~に参戦してきた。

今日は南側スタンドなので、水にも濡れずまったり観戦かな。13時半の開場と同時に入場したときはまだ、そんなことを考えていたのだが…。雷鳴を引き連れて開演を1時間遅れせた通り雨のおかげで、結局スタンドでもずぶ濡れ。まあ、そんな雨が降ったり止んだり虹が出たりを全部ひっくるめて、夏の日の良い思い出だ。

スタートは1時間遅れた今日のライブだけれど、曲をカットした感はほとんど無かったような気がする。堂々平和宣言のサングラスをあっさりかけたり、ももクロ音頭をやらなかったくらいかな。上下するリフトをほとんど使わなかったのも、何かしらの変更の跡だったのだろうか。大箱ライブとしては久々にBD1枚に収まりそう。

さて、今年のももクリはド平日と発表。チケットを取るだけでも難易度が高そうなのに、同時に有休も取らなきゃならないのが厳しそうだな。既に年末は仕事の炎上予報が出ているんだが…。チケットを取れたらたまたま風邪を引いてしまうかもしれない。

2014年7月26日土曜日

ももクロ夏のバカ騒ぎ2014 日産スタジアム大会 ~桃神祭~ 1日目

ももクロ夏のバカ騒ぎ2014 日産スタジアム大会 ~桃神祭~に参戦してきた。

一言で表せば、最高に楽しかった! 4時間のライブが本当にあっという間に終わってしまった感じ。今回はとにかく席が良すぎた。さすがに規模が規模だけに、水をかぶれればラッキーだろうと思っていたら、まさかのアリーナ中央付近で前から4列目。メインステージのメンバーの表情を肉眼でバッチリ確認できるわ、目の前の放水機からたっぷり水をかけられるわ。あと、目の前のメンバーの動きと音がきちんと同期していたのも印象的。いっこく堂状態が当たり前だと思っていた。セットリストとか最後の演出とか、去年のGOUNNツアーに近かったかな。

最後に取って付けたように、2日目に多少は役に立つかもしれない情報。本人確認は11時少し前、手荷物確認しながらの入場は14時頃に行ったけど、どちらもほぼ並ばずスイスイ。他の時間帯は知らないけど、心配していた新システムの立ち上げは大丈夫だったみたい。

有安水は1本購入。

2014年7月25日金曜日

今度こそMacbook Air Retina?

http://japanese.engadget.com/2014/07/24/apple/

欲しいと言っていたMacbook AirのRetina阪が、今度こそ本当に出るのか?

確かにYosemiteと同時に発表というシナリオは、ありそうな話だ。さすがに12インチで4Kはオーバースペックと言うか、現行の11インチモデルを1920x1080にするだけで十分だと思うけど、iPadや新しいiPhoneのアプリを開発するにはピクセル数が多い方がいいのかな。ギリギリBroadwellを搭載できそうなタイミングというのも、なんとなくそれっぽい。

あ〜、この秋冬だけでも1ドル100円割らないかな〜。

2014年7月24日木曜日

C言語で構造体の中のメンバの順序

ずっと勘違いしていた。C言語の構造体の中でのメンバの並びはコンパイラがいくらでも最適化しうるから、ソースコートで記述した順序が保たれる保証は全くないと思っていたのだが、そんなことはなかった

リンク元から引用の引用をすると、

構造体オブジェクト内では, 非ビットフィールドメンバ及びビットフィールドが置かれる単位は, 宣言された順に増加するアドレスをもつ。構造体オブジェクトへのポインタは, 適切に変換すれば, その先頭メンバ(又はビットフィールドならば, それが置かれた単位)を指す。さらに, その逆も成り立つ。構造体オブジェクトの中に名前のない詰め物があってもよいが, 先頭には名前のない詰め物があってはならない。
だそうな。構造体の先頭以外にはパディングされうるけど、メンバの並び順までは変えられない。例えばこの構造体
struct s {
  char a;
  int b;
  char c;
};
に対しては、必ず以下の関係が満たされるわけだ。
offsetof(struct s, a) < offsetof(struct s, b) < offsetof(struct s, c)
上の例だと、a, b, cという順序に特に意味がなければ、大抵の場合はb, a, cと並び替えた方がメモリ使用効率が良いだろう。

パディングする/しないはC言語の標準機能で選べないので、具体的なオフセット値までは標準機能だけでは保証されない。

2014年7月23日水曜日

Chromebook上陸

http://news.mynavi.jp/articles/2014/07/23/c720/

正直言って4万円では買わないけど、選択肢が増えるのは大歓迎。ついでに、世の中のMS Office依存度が下がってくれれば万々歳だ。大体、世の大半の定型作業に、フル装備のPCとMS Officeなんてオーバースペックすぎるだろうよ。

そんなChromebookに対抗してか、ネットブック復活の兆しもあるとか何とか。個人的にはこっちの方が期待大で、送料税込み$300くらいでLinuxを入れられるUS配列のノートPCを手に入れたい。国内発売されるマシンにキーボードのバリエーションは期待薄だから、買うなら海外通販かな。

まあ、一番欲しいのはMacbook AirのRetina阪なんだけど。MacbookならUS配列は確実に選択できるだろうけど、ド定価なんだよなぁ。これもUS通販で買った方が安いかもしれない。送料はかかるけど、実効消費税率が4.8%で済むし。

2014年7月22日火曜日

MavericksでLaunchpadのアイコンの並びを初期化する

Launchpadがゴチャゴチャしてきたので、いい加減に整理しようと思い立った。…が、チビチビ並び替えるのが面倒で早々に挫折。

で、ググってみた。Launchpad-Controlというフリーソフトはあるようだけど、Lion時代で開発が止まっている模様。さて、どうしようかと思っていたところ、Launchpadのアイコンの並びを初期化するだけなら今すぐできるようなので、やってみた。

端的に方法を書くと、~/Library/Application\ Support/Dock /*.dbを削除してDockを再起動する。ターミナルで以下のコマンドを実行すればOK。

% rm -f ~/Library/Application\ Support/Dock /*.db
% killall Dock
デスクトップとスクリーンセーバの設定も初期化されてしまったみたい。凝った設定をしている人は、設定値を控えてから上記のコマンドを実行した方が良さそう。

2014年7月21日月曜日

Mavericksの世界時計を直す

いまいち使いどころが分からないMac OS Xのダッシュボード。自分にとってはデスクトップを切り替えているときに、最も左のデスクトップの更に左を見ようとして間違えて表示するくらいの存在なのだが、そんなときにチラリと見える時計の針が、確かMavericksにアップグレードしたあたりからおかしい。どうせ使ってない機能だし、そのうちアップデートで直るだろうと思っていたのに全然直らないので、Yosemiteの足音が聞こえてきそうな今更ながらググってみた。

で、結論から書くと直った。具体的に効果があったのはこちらの手順。端的に書くと

~/Library/Preferences/widget-com.apple.widget.worldclock.plist
を削除して再起動すればOK。

ちなみに、再起動するのは面倒だったので再ログインで直らないか試してみたけれど、それでは駄目だった。久々に再起動したわ。

2014年7月20日日曜日

冷やしつけ麺のタレ

熱々の袋麺を食べたくなかったので、蕎麦のように水で締めて食べてみた。で、その際に作ってみたタレの分量をメモ。

  • 料理酒 大さじ1
  • みりん 小さじ1
  • 醤油 大さじ1
  • ケチャップ 小さじ1
  • 豆板醤 少々
  • ごま油 少々

大した手順はなく、料理酒とみりんを電子レンジで20〜30秒煮切るくらいで、あとは混ぜるだけ。ちょっとした冒険のつもりでケチャップを入れてみたけど、結構アリかな。もう少し量を増やしてもいいかも。

…これって結局、冷やし中華か?

2014年7月19日土曜日

Pocketに入れておいて、後で読む

今更ながらPocketを使い始めてみた。

そもそもPocketとは何なのか? ざっくり言えば、後で読むリスト管理サービス。feedlySmartNewsとも連携できて、後で読もうと思った記事を気軽にPocketに放り込める。

嬉しいのは、Pocketアプリがオフラインでもかなり読めるところ。平日の昼間はオフライン状態になってしまったので、週明けからはローカル魚拓として活躍してくれそうだ。

2014年7月18日金曜日

富士通の半導体離れ

http://jp.reuters.com/article/topNews/idJPKBN0FN00320140718

う〜ん、厳しいね。半導体業界にどっぷり浸かってきた人間って、あまり潰しがきかなさそうなんだが、どうなるんだろう? …と言うか、そういう潰しがきかない年の取り方をしてしまったコスパの悪いところを切らないと、どうにもならないんだろうな。優秀な人材なら、好調な東芝が拾ってくれるさ。

SPARCはさすがに切らないよね?

2014年7月17日木曜日

えのきハムカツ

冷蔵庫にあるものを適当に使ってみるシリーズ。とりあえずハムを消費するためにハムカツを作ろうと思ったのだけれど、それだけでは面白くないので、えのきだけを巻いてみた。

手順は以下。

  1. ハムに薄力粉をまぶす
  2. ハムでえのきだけを巻く
  3. 溶き卵にくぐらせてパン粉を付ける
  4. 160℃の油で揚げる
食感が面白い。ソースをかけずにハムの塩分だけで食べた方が美味しかった。

2014年7月16日水曜日

iOSのカレンダーで過去の予定が消えた?

ふとiPod touchのカレンダーで過去を振り返ってみようとしたら、一部の繰り返しイベント以外すっからかん。もしかしてiCloudって、過去の予定を取っておいてくれないの?

…と思ったけれど、同じカレンダーと同期しているMacのカレンダーだと、過去の予定がしっかり残って見える。で、ググってみたところ、単に初期設定では1か月分しか同期しないだけだった。すべてのイベントを同期するように変更したら、あっさり解決。

2014年7月15日火曜日

低価格SIM戦争、So-netの反撃

http://www.itmedia.co.jp/mobile/articles/1407/15/news135.html

IIJmioより20円安くて100MB高速通信量が多い、なんとも微妙な線。…と言うのはあくまでIIJmioユーザ目線であって、新規で回線契約をしようと思ったら、カタログスペック的には上位互換なSo-netを選ぶのだろうか?

とりあえず乗り換える気にはならないけど、サービス改善競争が続くのはありがたい。

2014年7月14日月曜日

遊星からの物体マン

今週のキン肉マン。

シングマンはThingmanでほぼ確定か。数億年前のアメリカって、そもそも数億年前は現在の5大陸構成ではなかった気がしないでもないが、まあ細かいことは気にしちゃいけない。

さて、とにかく固い物体Xで出来ているシングマンは、誰がどうやって攻略するのだろう。熱ネタはジャンクマンが使ってしまったからアシュラマンの氷属性か、はたまた固さには固さで将軍様のダイヤモンドパワーか。大穴で裏切ったサイコマンの雷ってのもあり?

あとサンシャインさん、お疲れ様でした。崩落したコンクリートに肋骨が混ざっているあたりは、II世の串カツ屋を覚えているのかな。しかしまあ、相変わらず始祖は対戦相手を容赦なくバラバラにするのが好きだなぁ。

2014年7月13日日曜日

A8はTSMC?

http://news.mynavi.jp/articles/2014/07/12/apple_samsung/

今度こそSamsungからTSMCに乗り換えか? 当然ながら、9月発売の新機種のSoCを今更どうこう決めているはずもなく、この記事の内容が本当なら、かなり万全を期してTSMCでA8を作っていたことになる。iPhone 6がちょっと欲しくなっているので、とにもかくにもスムースに供給して、思い立ったら買える状態を作って欲しい。

さて、噂通り20nmプロセスでCPU, GPUともに4コアとなると、キャッシュも倍増とかしなければ、28nm, 2コアのA7よりダイサイズは少し小さくなるのかな? ただでさえ画面の大型化という価格上昇要因があるのだから、オーバースペックのせいで購入意欲が萎えるような価格にならないことを祈る。A7でもRetina iPadがぬるぬる動いているのだから、不毛なベンチマーク以外にピーク性能なんて求められていないと思うんだが…。

2014年7月12日土曜日

Inoreader

feedlyのバックアップとして、Inoreaderを使い始めてみた。

とりあえず、iOSアプリChromeの拡張があるのはgood. PC用サイトの重さは、feedlyとNetvibesの間と言ったところか。キーボードショートカットがGoogle Readerっぽくていい感じ。feedlyで言うところのSaved For Laterに相当する機能が見当たらないけど、代わりにお気に入り機能を使えってことか?

設定をざっと眺めたところ、ルール機能とやらを使えばメーラーの振り分けみたいなこともできるらしい。上手く使えば化けるかも。しばらくfeedlyと併用してみよう。

2014年7月11日金曜日

Thunderbirdでメール本文での振り分けが働かない

仕事でThunderbirdを使っていて、ふと一部の振り分けフィルタが機能していないことに気が付いた。

色々いじって機能するフィルタと機能しないフィルタの違いを見極めたところ、メール本文に特定の文字列が含まれているかどうかの判定を誤っている模様。試しに普通に検索してみても、目の前のメールにどう見ても含まれている文字列がヒットしない。なんじゃこりゃ?

…で、結局Quoted-printableでエンコードしている日本語文字列は、デコードした日本語文字列で検索してもヒットしないことが分かった。例えば、「あいうえお」というUTF-8の文字列がQuoted-printableで本文に含まれているメールを探したければ、

=E3=81=82=E3=81=84=E3=81=86=E3=81=88=E3=81=8A
という文字列を検索すればいい。まあ、検索の度にこれをやるのは全く実用的ではないけど、メールの振り分けフィルタに設定するくらいなら許容範囲内かな、仕事なら。プライベートならそんな不便なものは使わん。

一応Thunderbirdのフォローをしておくと、もしかしたらQuoted-printable対応の拡張とかがあるのかもしれないけど、今の職場はネットワーク周りが不自由極まりなくて、外部から拡張を拾って来るなんて出来やしない。なので、渋々こんなことをしているのだ。

2014年7月10日木曜日

空に向けて撃った弾丸はどうなる?

空に向けて発砲するとどうなるか? 空気抵抗を無視した中高生レベルの知識なら、運動エネルギー→位置エネルギー→運動エネルギーと変換されて、発射時の速度で地上に落ちて来ることになる。当然、当たったら銃で撃たれたのと同じダメージを受ける。

さすがに空気抵抗は無視できないだろうと思いながらも、具体的な数値は知らないので、「本当に危なかったら空に向けて発砲なんてしないだろう」とお気楽に考えていた。

が、ふと気になってググってみたら、かなり危ないじゃないか! ああ、関東が銃社会じゃなくて良かった。

2014年7月9日水曜日

ホットケーキミックスに豆腐を混ぜて揚げると美味いらしい

…と聞いて、早速やってみた。

なるほど、結構いける。

今回使った(家にあった)材料は以下。

  • 木綿豆腐 150g
  • 牛乳 大さじ2
  • 蜂蜜 大さじ2
  • ごま 適量
  • ホットケーキミックス 150g
潰した豆腐に蜂蜜とごまを加え、そこに牛乳で水分調整しながらホットケーキミックスを混ぜて行き、160℃の油で揚げてみた。作っている途中に気付いたのだが、これって白和えとホットケーキミックスで作った、がんもどきだね。

2014年7月8日火曜日

キン肉マン47巻

遅ればせながら47巻が発売されていたことに気が付いて、仕事帰りに買って来た。

さて、47巻最大の注目ポイントと言えば、やはりガンマン初登場。連載時はあまりのルックスに衝撃を受け、休載明けの2週間後にしれっと今のデザインに変更してからの、「私は変身などしない!」という流れがある意味秀逸だったのだが…。残念(?)ながら、単行本では最初から今のデザインに修正されていた。これで修正前のガンマンは、完全になかったことになってしまったのか。

…と思っていたら、巻末のQ&Aコーナーにまさかの変身前ガンマン! ガンマンのデザイン変更についての質問なんて、よく採用したなぁ。

2014年7月7日月曜日

シング汁ブシャー

今週のキン肉マン。

おいおいサンシャイン、序盤からそんなに特殊能力使うなんて、破ってくれと言っているようなもんじゃないか。…と思ったら、あっさり1話で封じられてしまった。しかも、わざわざ最強必殺技と言ってしまった呪いのローラーを破られる始末。星勘定的にはそろそろ悪魔六騎士が勝つのではないかと思っていたけど、豆腐メンタルのサンシャインが切り札を失ったら、まさかのカーメン以来の2話敗戦もありうる?

で、結局シングマンの特殊能力はサン射したあの汁? ガンマンと気が合うくらいだから、変身・変形系の特殊能力を無効化する液体を調合して真っ向勝負に持ち込むとか、そんな感じなのだろうか。ここまでの戦い方では、未だにシングマンの名前の由来が分からない。

2014年7月6日日曜日

FXで6億円を半年で溶かす

http://www.yomiuri.co.jp/national/20140706-OYT1T50046.html

既視感。まあ、今回の馬鹿は自殺しなかっただけまし…、なのか?

しかしまあ、どいつこいつも、自分だけは大丈夫だと思ってしまうのだろうか? バレたら困ることはバレるようにやるなよ。冷静にリスクとリターンを見極められなくなってしまうのも、金の為せる業なのか?

そんな他人の批判をしている自分の方は、すっかりFXとはご無沙汰。市場も凪みたいだし。もう1〜2か月、買いのチャンスを待つ予定。

2014年7月5日土曜日

カステラ

いまいち減りが悪い強力粉の使い道を探して、カステラに辿り着いた。で、実際に作ってみて知ったのは、カステラが卵料理だということ。

大袈裟でも何でもなく、もう体積的にカステラのほとんどは卵。撹拌し続けるだけで卵があんなに膨らむとは。卵の力ってすげー! ベーキングパウダーなんて入れなくてもフワフワ。あと、ハンドミキサーの力ってすげー! 手動ではとても無理だ。

あまりに卵が主役過ぎて、元々の目的である強力粉を消費する方法としては弱かったけど、簡単かつ美味しくて、これはこれでいいね。

2014年7月4日金曜日

スマートフォンはおやつに入りますか?

まあ、おやつには入らないとは思うが、仕事で某所に入るのに、モバイルルータがNGを食らってしまった。スマートフォンがOKなんだから、今更モバイルルータだけ禁止したって意味がないと思うんだが…。ルールを変える力なんぞ全くないので、無駄な抵抗で心身をすり減らす気はない。

で、とりあえずこういう安い機種でテザリングして、実質モバイルルータとして使おうかと思ったのだが、発売は1か月後か。どうせ待つなら、思い切ってSIMフリー版のiPhone 6ってのもアリな気がしてきた。

本当はiPadみたいに、iPod touchのセルラー阪があれば十分なんだけど。

2014年7月3日木曜日

C99のlog2()

Cの標準ライブラリで用意されているのは自然対数log()と常用対数log10()のみで、2を底とする対数が欲しければ自分で計算しなければならない。そんなふうに考えていた時期が俺にもありました。

それがC99で、そのものずばりlog2()が追加されていた。

#include <math.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
    double xs[] = {1, 2, 3, 4, 6, 8, 11, 16, 100, 128, 200, 256};
    int i;
    for (i = 0; i < sizeof(xs) / sizeof(double); i++) {
        double y = log2(xs[i]);
        printf("log2(%lf) = %lf\n", xs[i], y);
    }
    return 0;
}
こいつを実行すると
log2(1.000000) = 0.000000
log2(2.000000) = 1.000000
log2(3.000000) = 1.584963
log2(4.000000) = 2.000000
log2(6.000000) = 2.584963
log2(8.000000) = 3.000000
log2(11.000000) = 3.459432
log2(16.000000) = 4.000000
log2(100.000000) = 6.643856
log2(128.000000) = 7.000000
log2(200.000000) = 7.643856
log2(256.000000) = 8.000000
こうなる。

もっともlog2が欲しい場面の大半は、ある整数を表現するのに何ビット必要かを計算するときなので、シフトしながら桁数を数えれば済む。double log2(double)はオーバースペックかな。

…と思ったけど、最近(?)のCPUは整数から浮動小数点数への変換をハードウェアでやってくれるので、doubleにキャストして指数部を直接見た方が速いかもしれない。

2014年7月2日水曜日

低価格SIM戦争、新たなワンコインの選択肢

http://itpro.nikkeibp.co.jp/article/NEWS/20140701/568102/

DTIが独占していた500円程度の価格帯に、ようやく新たな挑戦者が現れたか。

速度制限はDTIと同等で、公衆無線LANも使えて、価格は税込み480円/月。これは結構いいんじゃないか? …と思ったけど、LTEのみで3Gの話がない。手元のモバイルルータはLTE対応してないんだよなぁ。

飛びつくかどうかはさておき、選択肢が増えるのは大歓迎。競争も大歓迎。

2014年7月1日火曜日

RubyのEnumerator#with_index

Rubyらしくイテレータを使ってループを記述したいけど、インデックスも併用したい。ただ、eachじゃないからeach_with_indexは使えない。そんなときはEnumerator#with_indexを使う。

irb> %w(foo bar baz).map.with_index {|e, i| "#{i} : #{e}"}
=> ["0 : foo", "1 : bar", "2 : baz"]
irb> %w(foo bar baz).map.with_index(1) {|e, i| "#{i} : #{e}"}
=> ["1 : foo", "2 : bar", "3 : baz"]
こんな感じで、任意のEnumeratorからインデックス付きEnumeratorを作れる。with_indexの引数でインデックスの初期値を指定できるのも、地味に嬉しい。