漢数字パーサをゴルフしてたので今日はDigit。
Digit
数字を表します。
Digitオブジェクトにこれを継承した0から9までの数字が定義されています。
toInt, toChar, toLong
Digits
DigitsにはdigitsとLongからDigit、DigitからLongへ変換するimplicit conversionが定義されています。
digitsは_0から_9までをもつListです。
MA#digits, MA#traverseDigits, MA#longDigits
digitsはコンテナが内包するCharをDigitへ変換します。
変換に成功した場合はSome、失敗の場合はNoneが返されます。
traverseDigitsは成功した場合、コンテナがSomeで包まれます。
longDigitsは内包されたDigitをLongへ畳み込みます。
この時先頭の0は無視されます。
最後にたかはしさんからforkしたコード。
ただDigitを使ってみたかっただけ。
数をListとして操作できるのも面白いなと思いました。
0 件のコメント:
コメントを投稿