@@'数値演算のインターフェイスイメージ(@auto_convertがあると引数の型に自動変換される)' can Number @@'正'@@auto_convert do Self.`+`@Number(value@Number) ? spec +1 = 1 +0 = 0 +1.1 = 1.1 +'1' = 1 +'0' = 0 +'1.1' = 1.1 +'a' = 0 DO @@'負'@@auto_convert do Self.`-`@Number(value@Number) ? spec -1 = -1 -0 = 0 -1.1 = -1.1 -'1' = -1 -'0' = 0 -'1.1' = -1.1 -'a' = 0 DO @@'加算'@@auto_convert do Self.`+`@Number(left@Number@'左辺', right@Number@'右辺') ? spec 1 + 2 = 3 '1' + 2 = 3 1 + '2' = 3 '1' + '2' = 3 1 + 2.2 = 3.2 1.2 + 2 = 3.2 1.1 + 2.1 = 3.2 -10 + 1 = -9 10 + -1 = 9 -10 + -1 = -11 18446744073709551616 + 1 = 18446744073709551617 -18446744073709551616 + -1 = -18446744073709551617 -18446744073709551617 + -1 = -18446744073709551618 1 + 'a' = 1 DO @@'減算'@@auto_convert do Self.`-`@Number(left@Number@'左辺', right@Number@'右辺') ? spec #(省略) DO @@'乗算'@@auto_convert do Self.`*`@Number(left@Number@'左辺', right@Number@'右辺') ? spec #(省略) DO @@'除算'@@auto_convert do Self.`/`@Number(left@Number@'左辺', right@Number@'右辺') ? spec #(省略) DO @@'整数除算(計算結果の小数部分を切り捨てる)'@@auto_convert do Self.`\`@Number(left@Number@'左辺', right@Number@'右辺') ? spec #(省略) DO @@'剰余'@@auto_convert do Self.`%`@Number(left@Number@'左辺', right@Number@' ? spec #(省略) DO @@'累乗'@@auto_convert do Self.`^`@Number(left@Number@'左辺', right@Number@'右辺') ? spec #(省略) DO CAN