関数と演算子
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/20 02:06 UTC 版)
関数名は先頭が小文字でなければならず、記号を含むことはできない。演算子名は記号のみで構成されていなければならない。関数の定義ではC言語のような引数を囲む括弧や区切りのカンマは使われず、単に引数を空白文字で区切って表記する。次は先程示した恒等関数 id に、型の定義に加えて本体の定義もした例である。 id :: a -> aid x = x -- 関数名 仮引数1 仮引数2 … = 関数本体の式 関数の適用も同様で、単に関数に続いて空白文字で区切った引数を並べればよい。以下では上記の恒等関数 id を(ここでは使う必要はないが)適用して、別の変数を定義した例である。 hoge = id "piyo" -- hoge == "piyo" となる。 引数がつねに2個であることや引数の間に演算子をおくことなどを除けば、演算子についても関数の定義や適用と同様である。標準で定義されている算術演算子を使って、BMIを計算する関数 bmi を定義してみる。 bmi :: Float -> Float -> Floatbmi weight height = weight / height ^ 2 この定義では Float を引数にとり Float で結果を返すが、この関数では Double を引数に使うことはできない。どの浮動小数点数型でも扱えるような関数にするには、次のように型変数を使えばよい。 bmi :: Floating a => a -> a -> abmi weight height = weight / height ^ 2 このバージョンの関数 bmi では引数や返り値の型が a とされているが、これにさらに a は Floating であるとの制約をつけている。Floating は Float や Double を抽象化する型クラスであり / や ^ といった演算子を適用できるので、bmi の定義においてこれらの演算子を使うことができている。また、整数などの値は引数に取れないし、返り値は引数に与えた型で戻ってくる。 関数と演算子は新たに定義し直さなくても相互に変換可能である。関数を演算子として使うには、関数を ` (バッククォート)で囲む。逆に、演算子を関数として使うには括弧で囲む。例えば、整数を除算する関数 div はよく演算子として使われる。 aspectRatio = width `div` height なお、関数適用の優先順位はすべての演算子の優先順位よりも高い。
※この「関数と演算子」の解説は、「Haskell」の解説の一部です。
「関数と演算子」を含む「Haskell」の記事については、「Haskell」の概要を参照ください。
関数と演算子
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/25 06:38 UTC 版)
演算子はプロパティの値や色の加減乗除を行い特性間の複雑な関係の作成に活用し、関数は1対1のJavaScriptコードを使用し値の操作を行う。 @the-border: 1px;@base-color: #111;@red: #842210;#header { color: @base-color * 3; border-left: @the-border; border-right: @the-border * 2;}#footer { color: @base-color + #003300; border-color: desaturate(@red, 10%);} コンパイル結果 #header { color: #333; border-left: 1px; border-right: 2px;}#footer { color: #114411; border-color: #7d2717;}
※この「関数と演算子」の解説は、「LESS」の解説の一部です。
「関数と演算子」を含む「LESS」の記事については、「LESS」の概要を参照ください。
- 関数と演算子のページへのリンク