iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
Modern Web

clojure 刷刷鍋系列 第 6

Clojure 肉片 -第 6 塊

  • 分享至 

  • xImage
  •  

【心得】

  1. 今天想到的 solution 以為看文件就可以很快理解怎麼用,結果每個都跟想得很不一樣...不知如何理解起,有種 摁 就是記起來XD
  2. best practice,也第一次看到 read-string 的特殊用法,看了官方文件,像是有個內建的規則會自己解讀餵入的 string,但怎麼解讀還不知道

【今日湯底】

You ask a small girl,"How old are you?" She always says, "x years old", where x is a random number between 0 and 9.

Write a program that returns the girl's age (0-9) as an integer.

Assume the test input string is always a valid string. For example, the test input may be "1 year old" or "5 years old". The first character in the string is always a number.

(必須通過以下測試)

(ns clojure.girl-age-test
  (:require [clojure.test :refer :all]
            [clojure.girl-age :refer :all]))

(deftest
  how-old-test
  (testing "Testing how old"
    (is (= (how-old "1 year old") 1))
    (is (= (how-old "6 years old") 6))))

【我的答案】

(ns clojure.girl-age)

(defn how-old
  [her-old]
  (Integer/parseInt (first (clojure.string/split her-old #" ")))
)

思路:

  1. 題目沒有很難,就是單純 split -> 取第一個 -> string 轉 int

【其他人的答案】

(ns clojure.girl-age)

(defn how-old
  [her-old]
  (-> her-old
      first
      str
      Integer/parseInt))
(ns clojure.girl-age)

(def how-old read-string)

上一篇
Clojure 肉片 -第 5 塊
下一篇
Clojure 肉片 -第 7 塊
系列文
clojure 刷刷鍋30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言