無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

F#をつつく8ー比較演算子。プログラムに比較はつきもの。

プログラミングで比較は頻繁に行うよね?だから比較を早い段階でつつくピヨ♪


#light
open System

let x = 10;;
let y = 10;;
Console.WriteLine( "{0} = {1} = {2}", x, y, ( x = y ) );;
Console.WriteLine( "{0} <> {1} = {2}", x, y, ( x <> y ) );;

let z = 9;;
Console.WriteLine( "{0} > {1} = {2}", x, z, x > z );;
Console.WriteLine( "{0} < {1} = {2}", x, z, x < z );;

Console.WriteLine( "{0} >= {1} = {2}", x, y, x >= y );;
Console.WriteLine( "{0} <= {1} = {2}", x, y, x <= y );;

Console.ReadLine();;


以上のように比較演算子は比較的分かりやすいピヨ♪
等価と非等価の記号に気をつければ後は大丈夫ピヨ♪
この比較演算子を使えば、排他的論理和も実現できるピヨ♪


#light
open System
open Microsoft.FSharp.Core.Operators

let x = true;;
let y = true;;
Console.WriteLine( "{0} XOR {1} = {2}", x, y, not ( x = y ) );;
let z = false;;
Console.WriteLine( "{0} XOR {1} = {2}", x, z, not ( x = z ) );;

Console.ReadLine();;


実行したら分かると思うけど、排他的論理和とは両方の値が同じ場合偽(false)、違う場合は真(true)になる天邪鬼な論理演算ピヨ♪何に使うのかと疑問に思う人も居るだろうけど、これは結構重要な論理演算だから覚えておこう♪
注意事項が一つあるピヨ。それはzの代りにyを使用したら意図した結果にならない事ピヨ。一度やってみて。そしたら、2番目の結果がfalseになるピヨ。これは何故かと言うと、関数型言語では値であるfalseの名前がyだと考えるからだピヨッ。だからyはtrueのままなんだ。命令型言語(CとかJava)に慣れている人は間違えやすいから注意してね。
{1} = {2}", x, z, x > z );; Console.WriteLine( "{0} < {1} = {2}", x, z, x < z );; Console.WriteLine( "{0} >...">別窓 | F# | コメント:0 | トラックバック:0 | ∧top | under∨
<<IronRubyをつつく0.1ー基礎も大事。はじめましてIronRuby。 | 無差別に技術をついばむ鳥 | F#をつつく7ー論理演算。ご利用は論理的に♪>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |