Lua 言語仕様: nil そして、・・・

2016-04-10 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「化学業界」「硝子業界」「FM COCOLO」「e-radio」、
「グルコサミン」「Python」「Firefox」bg値変動のみ。
「Perl」「C言語」「FM青森」全く変化無し。
・-・ - -・

さて、本文。

C言語の“null”に相当するのは、“Lua”言語では“nil”ですか?

定義済みの変数を未定義にするには、“nil”を代入すればイイ?

例えば、

  a = 5
  a = nil
  return a == b ----- b は未定義

だと、最後は“true”ですね。

改めて、
Lua ドキュメント:Lua 5.2 リファレンスマニュアル
を学習した。

  2.1 - 値と型

  Lua は 動的型付け言語 です。
  つまり、変数ではなく、値が型を持ちます。
  型定義の構文はありません。
  すべての値は自分自身の型を保持しています。

  Lua のすべての値は ファーストクラスの値 です。
  つまり、すべての値は変数に格納することができ、
  他の関数に引数として渡すことができ、
  また戻り値として返すことができます。

  Lua には 8 種類の基本型があります。

   ・ nil
   ・ ブーリアン
   ・ 数値
   ・ 文字列
   ・ 関数
   ・ ユーザーデータ
   ・ スレッド
   ・ テーブル

  nil は nil 値の型です。
  その主な性質は他のいかなる値とも異なることであり、
  通常、役に立つ値がないことを表します。

  ブーリアン は false 値と true 値の型です。
  nil と false は両方とも条件式では偽となり、
  他のすべての値は真となります。

  ・・・・・
  ・・・・・

この引用最終段は重要ですね。


こんなページを見つけた。
「Qiita」の、
論理演算子を用いたLuaの慣用表現

この記事にある、

  つまり、
x = x or "デフォルト値"
  は、次のIF文と同じです。
if (not x) then
x = "デフォルト値"
end
  この書き方はLuaの慣用表現としてよく使われるので・・・・・

も勉強になるが、

その下にある:解説

の5つのルール

も必読!

 ルール1
 ・ Luaでは論理演算における真偽値(Boolean)を次のように定めている。
   ・ 「false」「nil」だけが偽。それ以外はすべて真。
   ・ つまり、数値「0」、文字列"a"、半角スペース" "、
    長さ0の文字列""などは全部「真」です。

 ルール2
 ・ 定義されていない変数、まだ何も代入されていない変数
   を参照するとnilが返る。

 ルール3
 ・ 関数呼び出しで「指定しなかった引数」には、nil が入る。

 ルール4
 ・ 代入記号「=」は、その右辺を全部処理してから左辺の変数に代入する。

 ルール5
 ・ 論理演算子「or」は、まずその左側の式を確認し真ならその値を返す。
   偽ならその右側の式を確認しその値を返す。
 ・ つまり、左から順に真偽値を見て判断するのだけど、
   左を見た時点で真ならばもう右側は見ない。


さらに、

  さらに応用。その他の慣用表現(三項演算子の実現)
  上記で紹介した慣用表現をさらに発展させたものが次の表現です。

  条件によって異なる初期値を設定する。
x = 条件式 and 値1 or 値2
  これは、以下と(ほぼ)同等です。
if (条件式) then
x = 値1
else
x = 値2
end
  つまり、条件式が真のときに値1をxに代入、偽のときに値2を代入します。
  非常によく使う条件式ですね。

  ・・・・・
  ・・・・・

  ただしこの擬似三項演算子には、
  「値1が偽であってはならない」という使用上の制限があります。

も勉強になる。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160305
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク