Lua 学習:eval 関数

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

さて、本文。

一昨年8月(2014-08-24)の記事:「Python 学習:eval 関数
で、
“Python”における“eval 関数”について学習した。


それでは、“Lua”に於いては???


早速、「Hyperpolyglot」のお世話になる。

  Hyperpolyglot

  Programming Languages

  commonly used features in a side-by-side format

  Scripting Languages I:  Node.js, PHP, Python, Ruby
  Scripting Languages II:  Perl, Lua, Groovy
  GUI Scripting:      JavaScript, Smalltalk, Tcl, AutoHotkey
  ・・・・・
  ・・・・・

とある。


“Python”学習を始めた2年前頃(2014-02-25):
Python 学習環境」では、
  「Perl, PHP, Python, Ruby」
と成っていたが、今では、
  「Node.js, PHP, Python, Ruby
  「Perl, Lua, Groovy
と分かれている。

それは置いておいて、・・・・・


「Lua」での“eval”は?
assert(loadstring("x = 1+1"))()
とある。

試し:DOS窓を開いて、・・・・・

(1)ULua コマンド ・・・ ( LuaJIT 2.1.0-beta1 )
x=1   print( assert( loadstring( 'x = 1+1' ) )() )
何も表示されず、正常終了。
x=1   assert( loadstring( 'x = 1+1' ) )(); print(x)
これで、
  2
が表示された。


(2)Lua コマンド ・・・ ( Lua 5.3.0 )
x=1   assert( loadstring( 'x = 1+1' ) )(); print(x)
これでは、「loadstring」がエラー!???

Lua 5.2 リファレンスマニュアル
を良く見ると、・・・・・

「8 - 前のバージョンと非互換な点」の
8.2 - ライブラリの変更
に、
  ・・・・・
  ・・・・・
  ・ 関数 loadstring は廃止されました。
    代わりに load を使ってください。
    この関数は文字列引数を受け取るようになり、
    loadstring とまったく同等になりました。
  ・・・・・
  ・・・・・
とあった。

結局
x=1   assert( load( 'x = 1+1' ) )()   print(x)
こうですネ。

これで、「Lua 5.3,x」でも、「LuaJIT 2.x」でも使える。


Lua 学習は続く。


本日はここまで。


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


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

コメントの投稿

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

おきてがみ/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
ブックマーク