今日は findanglesSub3() を書いた。
今日は findanglesSub3() を書いた。
今日も findanglesSub2() を書いた。
今日も findanglesSub2() を書いた。
今日も findanglesSub2() を書いた。
今日も findanglesSub2() を書いた。
前回
ライブラリにしてみた。名前はてきとうです。
$ crystal init app testtest2
dependencies:
esty:
github: righ1113/esty
$ cd testtest2
$ shards install
# $ crystal src/testtest2.cr require "esty" module Testtest2 VERSION = "0.1.0" end # example struct Int include Esty # factorial def fact self.<=(0).if 1, D.i(self.pred.fact.*(self)) end # Fibonacci def fib self.<=(1).if (self.==(0).if 0, 1), D.i(self.pred.fib.+(self.pred.pred.fib)) end # collatz (0 is inf loop) def collatz self.==(1).if [1], D.ai(self.odd?.if D.ai(self.*(3).succ.collatz.unshift(self)), D.ai(self.tdiv(2).collatz.unshift(self))) end # FizzBuzz def fizzbuzz (s = (self.%(3).==(0).if "Fizz", "").+(self.%(5).==(0).if "Buzz", "")).==("").if self.to_s, s end # zundoko def zdk_base(str_arr) rand.>(0.5).if D.ast(self.succ.zdk_base str_arr << "Zun"), D.ast((self.>=(4)).if D.ast(str_arr << "Doko" << "Ki-Yo-Shi!"), D.ast(0.zdk_base str_arr << "Doko")) end end # run puts 10.fact # => 3628800 puts (0..10).to_a.map &.fib # => [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55] puts 3.collatz # => [3, 10, 5, 16, 8, 4, 2, 1] puts (1..30).to_a.map &.fizzbuzz # => ["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz", "16", "17", "Fizz", "19", "Buzz", "Fizz", "22", "23", "Fizz", "Buzz", "26", "Fizz", "28", "29", "FizzBuzz"] def zdk 0.zdk_base [] of String end puts zdk # => ["Doko", "Zun", "Zun", "Zun", "Zun", "Doko", "Ki-Yo-Shi!"]
$ crystal src/testtest2.cr