簡単な計算をしたいとき、電卓アプリを立ち上げていませんか。 Obsidianなら計算式を書くだけで結果が表示されます。 文章を書く手を止めなくていい。
ちょっとびっくりしました。
Dataview
Obsidianで「=」を二つ並べるとハイライトになる。 この仕様に困ることがあります。 要らぬところに色がつく。 それで「=」をバッククォートで囲んでみました。 そしたらDataviewがエラーを吐き出したのです。 おやおや、何事か。
このバッククォートとイコールの組み合わせはインライン・コマンドだったのです。 知らなかった。 そして面白い。 これは研究してみよう。
書式
Dataviewプラグインがインストールされていることが前提。
`= 数式 `
書式は上のとおりになります。
たとえば文中に
`= (1800 * 4) / 3 `
と書いて改行すると、数式が「2400」に変身します。 答えが出てくる。
誰かの誕生日に4人で食事に行き、ひとり1800円のコースを食べて、3人で割り勘する場合ですね。 そんなときObsidianがあれば安心。 もう電卓は必要ありません。
文中に数字を書くときも、元の計算がわかる形で書き留めることができる。
関数
もっと複雑な場合はどうか。
でも、関数はなさそうです。 最大値や平均を計算する方法はあるけど、平方根や三角関数はない。 もともとデータ集計のプラグインだから仕方ないか。
round(数式)で、小数点以下を丸めるのは使えそう。
上位互換書式
と思ったら、抜け道があった。
Dataviewの設定で「Enable Inline Javascript Queries」をONにします。 これでMath関数が使えるようになります。 下記のように「$=」で書き始めてください。
`$= Math.sqrt(2)`
「簡易電卓」じゃなくて「関数電卓」だぁ。
本来の使い方
フロントマターに作成日や修正日を入れる用途かな。
`= this.file.cday` `= this.file.mday`
上が作成日、下が修正日。 修正日はいつ変化するか分からないから変数にしておく。 このデータをDataviewで拾ってデータベースにする。
そんなジャンキーな使い方、する場面が思い浮かばないけどね。
まとめ
書式は忘れそうだからテンプレートにしておくのが良さそう。