Module: Jagram::ConditionalStatement

Included in:
Object
Defined in:
lib/jagram/conditional.rb

Instance Method Summary collapse

Instance Method Details

#もし(cond, cmd = ならば, &block) ⇒ Object

条件分岐 - もし

引数に渡した条件が条件が真のときに、 ‘{}`や`do .. end`で囲んだ処理を実行します。 「ならば」は省略可能です。

Examples:

条件分岐の使い方 - ‘{}`を使った`もし`の例

i = 0
もし( i == 0, ならば) {
  次を表示("iは0です") #> iは0です
}
もし( i == 0) { # ちなみに、ならばは省略可能
  次を表示("iは0です") #> iは0です
}

もしの活用 - 条件が等しいときの例

太郎君の挨拶 = "hello"
英語の挨拶 = "hello"
もし(太郎君の挨拶.は次と等しい(英語の挨拶), ならば) {
  次を表示("太郎君は英語がわかるのかもしれない")
}
もし(太郎君の挨拶 == 英語の挨拶, ならば) {
  次を表示("太郎君は英語がわかるのかもしれない")
}

もしの活用 - 条件が等しくないときの例

英語の挨拶 = "hello"
太郎君の挨拶 = "こんにちは"
もし(太郎君の挨拶.は次と等しくない(英語の挨拶), ならば) {
  次を表示("英語がわからないのかもしれない")
}
もし(太郎君の挨拶 != 英語の挨拶, ならば) {
  次を表示("英語がわからないのかもしれない")
}

もしの活用 - 数字の比較 - 以上, より大きい

太郎君の体重 = 60
花子さんの体重 = 120

もし(花子さんの体重.は次の値以上(太郎君の体重), ならば) {
  次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}

もし(花子さんの体重 >= 太郎君の体重, ならば) {
  次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}

もし(花子さんの体重.は次の値より大きい(太郎君の体重), ならば) {
  次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}

もし(花子さんの体重 > 太郎君の体重, ならば) {
  次を表示("花子さんは太郎君よりも#{花子さんの体重 / 太郎君の体重}倍重たい") #> 花子さんは太郎君よりも2.0倍重たい
}

もしの活用 - 数字の比較 - 以下, より小さい

太郎君の体重 = 60
花子さんの体重 = 120

もし(太郎君の体重.は次の値以下(花子さんの体重), ならば) {
  次を表示("太郎君は花子さんより軽い") #> 太郎君は花子さんより軽い
}

もし(太郎君の体重 <= 花子さんの体重, ならば) {
  次を表示("太郎君は花子さんより軽い") #>  太郎君は花子さんより軽い
}

もし(太郎君の体重.は次の値より小さい(花子さんの体重), ならば) {
  次を表示("太郎君は花子さんより軽い") #> 太郎君は花子さんより軽い
}

もし(太郎君の体重 < 花子さんの体重, ならば) {
  次を表示("太郎君は花子さんより軽い") #>  太郎君は花子さんより軽い
}

Parameters:

  • cond (Boolean)

    条件

  • block (Proc)

    もし条件が真であった場合に、渡したブロックを実行する



81
82
83
84
85
# File 'lib/jagram/conditional.rb', line 81

def もし(cond, cmd=ならば, &block)
  if cond
    block.call
  end
end