私はいくつかのゴルフ問題を見て自分のPerl 6チョップを行おうとしています。そのうちの1つは整数のビットを抽出することでした。私はそのような表現を書くための簡潔な方法を考え出すことができませんでした。整数のビットに対するPerl6-ish式
数値として2000
を使用してこれまでのところ私の「ベスト」試行が続きます。私は、最上位ビットまたは最下位ビットが最初に来るかどうかは気にしません。
数値表現:
map { $_ % 2 }, (2000, * div 2 ... * == 0)
再帰的な匿名のサブルーチン:
文字列に変換する{ $_ ?? ($_ % 2, |&?BLOCK($_ div 2)) !!() }(2000)
:これらの
2000.fmt('%b') ~~ m:g/./
、最初は私にきれいな感じが、それは、1つのステップでビットを生成することができればうれしいでしょう。リストを仲介する。
単一の式を使用して、ビットを取得するクリーナー、より短い、および/またはより慣用な方法がありますか? (。それはという名前の関数を記述することなく、ある)