「プログラマ脳を鍛える数学パズル」 on Clojure Q02-fixed
先日投稿しました、「プログラマ脳を鍛える数学パズル」 on Clojure Q02のコードのレビュー、修正をid:ayato0211さんにしていただいたので修正版の投稿です。
id:ayato0211さんありがとうございました!!すごく感謝しています!!
また、自分で見返してみて不要なコード、名前が悪いものが見つかったのでそこの修正もしました。
以下修正後の回答
教えていただいて学んだこと
- bool 値を返却したいというときに明示的に
true
false
を利用しなくてもand
などを上手く利用すれば省略可能である。 - 実行時の段階で値を決定できるものは、関数である必要はない(
defn
でなくdef
を利用する) map
を利用しベクタを返却したい場合はmapv
が利用できる- 文字列->数値の変換は
read-string
よりもLong/parseLong
が好ましい - 明示的に
do
を書くときは副作用などを期待する場合のみ reduce
の利用- 分配束縛を利用し見通しよく
- 副作用を期待する場合の
doseq
の利用
謝辞
改めて、id:ayato0211さんありがとうございました。
教えて頂いたことを参考にしまして、次からの問題も解いて行きたいと思います!!