2007-05-04
■ [ruby] zipメソッドって何に使うの?
http://d.hatena.ne.jp/seiunsky/20070425/1177522397
複数の配列を同時にイテレートしたいときとか。
例:
a = ["foo", "bar", "baz"] b = [1,2,3] ab = a.zip(b) #=> [["foo", 1], ["bar", 2], ["baz", 3]] ab.each do |s, i| p [s, i] end
出力:
["foo", 1] ["bar", 2] ["baz", 3]
例えば、今のRubyにはmap_with_indexがないですが
a = ["foo", "bar", "baz"] a.zip((0...a.size).to_a).map{|s, i| "#{s}:#{i}" } #実行結果: ["foo:0", "bar:1", "baz:2"]
のようにzipで代用することができます(ちょっと長いけど…)。
他にも有用な使い道があったら教えてください。
#ちなみに僕もHaskell触るまでzipとかどう使うのか知りませんでした
■ [Ruby/SDL] SFontについて調べる
- 1枚の画像をフォントとして使う
- 半透明が使える(PNGの場合)
- 文字幅が可変(文字と文字の間に紫の線が入る)
いま試したんだが、紫の線の幅には意味がないらしい。
こういうフォントを作ってみたけど
普通に表示された。
うーん、SFont 2.03のREADMEによれば 紫の線が文字幅に影響するのが正しい仕様のはずだが。
環境はRuby/SDL 1.3.0のWindows版バイナリ配布を使ってます。