いま話題のツイートまとめ(Xポストまとめ)が読めるTwitterまとめ(Xまとめ)に特化したまとめサイト。人気のツイートやTwitterトレンド、写真やマンガといった話題の画像から、さまざまなニュースの反応まで、みんなであつめる国内最大級のメディアプラットフォームです。
たとえば整数の配列から、条件に合う要素のうち、最初に現れる 10 個だけ拾いたいとき、どうしますか? ary.select {|x| x.even? }.take(10) ↑これは非常に明瞭なプログラムです。しかし select は、最初の 10 個だけでなく全要素をチェックしてしまうため、ary が大きいと無駄にループします。また、select の戻り値となる中間配列も無駄です。 ret = [] ary.each do |x| ret << x if x.even? break if ret.size == 10 end ↑これなら 10 個見つかった時点で終了してくれるし、無駄な配列確保もありません。しかし非常に強引で原始的で煩雑なプログラムであり、Ruby 1.9 の時代を迎えた新人類である我々には、可読性やメンテナンス性に問題があると言わざるを得ない。一言で言うと品がないのです。
GNU screen の 最新バージョンである 4.0.2 において、 SJIS な端末で screen を走らせて screen のウィンドウで eucJP を使おうとすると、 1 バイト文字の前に 0x8E が挿入されてしまう。 つまり、 screen のコマンド「encoding eucJP SJIS」 (kanji euc sjis) を実行した場合とか、 あるいは「KJ=SJIS」を指定した端末で「defencoding eucJP」 (defkanji euc) を指定した screen を使うといった場合である。 なぜだろうと思い、ソースを確認すると、encoding.c の 1154 行目あたりが 次のようになっている: if ((0x81 <= c && c <= 0x9f) || (0xe0 <= c && c <= 0xef)) { *statep = c; retu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く