challenge ローカル変数の一覧を取得

リフレクション系のお題の続編です。 ローカル変数の内容を取得して連想配列(ハッシュ、辞書など)に詰める コードを書いてください。

Pythonで表現すると、下のコードの???部分を埋めることになります。

>>> def foo():
	x = 1
	y = "hello"
	???
	return result

>>> foo()
{'y': 'hello', 'x': 1}

Posted feedbacks - Lua

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
function locals()
   local i = 1
   local t = {}
   while true do
     local k, v = debug.getlocal(2, i)
     if k == nil then break end
     t[k] = v
     i =  i + 1
   end
   return t
end

function foo()
  local x = 1
  local y = "hello"
  return locals(), nil
end

for k, v in pairs(foo()) do print(k, v) end 
--> y       hello
--> x       1

Index

Feed

Other

Link

Pathtraq

loading...