如何寫函數一直以來都是入門 Notion 的一大門檻,酥油我本人剛開始也是一頭霧水,修改無數次的語法後,系統永遠出現紅字告訴我說:語法錯誤,雖然氣餒但心中有股氣,告訴自己別人可以成功為什麼我不行,所以我將一口賭氣化為學習動力,開始參照其他人成功範例的函數解析、基礎程式語言觀念,一點一點的去東學一點西學一點,一步一步寫成了這個模板。
適用人群:想跨入 Notion 但因為函數過於複雜而心生退意的人,也非常歡迎已經是函數高手的大家跟我分享,在我的思路底下更好的方法解,或是有任何錯誤的地方,歡迎指正。
請按文章:能不能在 Notion實現蕃茄鐘工作法?
模板在此👉🏻模板|蕃茄鐘
本文文長,建議使用電腦觀看體驗更佳。
零基礎簡單建立函數觀念(一):
- 區分「文本」與「數值」: 文本需要使用兩個雙撇號包含起來,例如:"這是文本";相對於數值,沒有運算的功能;數值則可以使用運算符,也就是我們從小學得基礎數學加減乘除。
。文本:"0" + "1" + "2" + "3" = "0123"
。數值:0 + 1 + 2 + 3 = 6
先釐清值是文本或是數值是在寫函數一件很重要的事情,由於兩者無法同時並存,所以 Notion裡頭有兩個專責於轉換格式的函數:將值轉成文本的 format()和 將值轉為數值的 toNumber()。
- 解析函數語法:舉例一個簡單的加函數 add()
。add() 函數總共有兩種方式可以成立:
- 使用運算符加號
- 使用「 add(欲相加的值1 , 欲相加的值2)」
。解析定義:用來相加「欲相加的值」,
而值本身可以為「文本」或「數值」。
在此提供一個重要的觀念:文本與數值不可以共同相加,打個比方: 在所有的函數中,必須保證我們要運行的值同為「數值」或是「文本」,所以當我們發現需要運行的值一個是文本、一個是數值,此時我們需要使用 format()或是 toNumber()轉換一下格式,讓值同為文本或是數值。
舉例:我有兩個值:一個文本 "23" 和一個數值 9,我想要將兩個值使用運算符號加號得出一個數值,函數要如何寫呢?
— ( )括號內是函數要運行的範圍。換句話說:我們將需要使用加函數運行的地方,都使用「括號」包起來。 當我們函數編寫的越來越複雜,需要不斷地注意左括號與右括號包圍的範圍與數量,很多時候系統告訴判別錯誤時,都是這個小地方沒有注意到,有幾個左括號就必須有相同數量的右括號。
- 能成立的公式就是目前最好的函數:最後談一個心態問題
這是我個人從函數小白開始練習函數到現今的體悟,同一情境下有太多的函數可以達成自己想要的效果,只要自己目前能寫得出來的公式,就是目前最好的答案。
我以前幾乎對函數沒有概念時,常常為了把函數寫出來大半夜通宵,後來發現讓自己腦袋休息一下,翻翻別人的範例,重新思考一下自己的需求以及思路邏輯,慢慢一步步構思自己的函數,所以完全不需要去追求最好公式,能達成目標才是最大的宗旨,如果在未來自己產生不一樣的需求時,再慢慢改進即可。
注意:寫函數時輸入法為英打模式,所以每個符號都是半形符號噢。
接下來,開始講解蕃茄鐘模板中的「實際總消耗」是如何產生:
構思思路:
函數分析:
- concat()
- floor()
- format()
最後實際的總耗時欄目,使用了 concat()、floor()、format(),這三個並不算太難的函數,不曉得大家對於這個欄位有沒有一些概念或是覺得使用上能更符合使用情境的意見,都非常歡迎底下留言、來信告訴我喔,希望看到此處的大家都有完整理解,如果喜歡這篇文章歡迎愛心、拍手、留言,對於哪處敘述糢糊或者意思不清楚,也歡迎告知。祝大家有美好的一天,我們下次見。