Commits

Vinicius Jarina committed 0f0f3a6

Update

Comments (0)

Files changed (1)

 
  A função \texttt{DoFile} e \texttt{DoString} executão uma expressão em Lua, efetuando a avaliação da expressão e retornando o seu resultado. A funcão \texttt{DoFile} recebe como argumento o caminho para um arquivo onde a expressão esta armazenada e \textt{DoString} recebe uma string, onde deve ser passada a expressão a ser avaliada.
 
- \begin{lstlisting}[caption=Criando ambiente de execução Lua,label=ctor_lua]
+\begin{lstlisting}[caption=Avaliando uma expressão]
 
-var resutado = (double) contexto.DoString ("return 10*2(math.sin(3.14/2)")[0];
+string exp = "return 10*2(math.sin(3.14/2)*10 + 2)";
+var resutado = (double) contexto.DoString (exp)[0];
 
 \end{lstlisting}
 
- \subsection {Invocação de funcões em Lua}
+\subsubsection {Passando valores do C\# para o Lua}
+
+Para poder passar valores do C\# para o Lua, pode se utilizar o operador \texttt{[]}.
+
+\begin{lstlisting}[caption=Passando valores,label=set_lua]
+
+string exp = "return 10*2(math.sin( x /2)*10 + 2)";
+
+contexto ["x"] = 3.14 * 1.5;
+
+var resutado = (double) contexto.DoString (exp)[0];
+
+\end{lstlisting}
+
+No exemplo \ref{set_lua}, uma variável global \texttt{x} esta sendo criada e recebendo o valor da expressão \texttt{3.14 * 1.5}, dessa forma o conteúdo de \texttt{x} na expressão \textt{return 10*2(math.sin( x /2)*10 + 2)} será avaliado com o seu devido valor.
+
+\subsubsection {Lendo valores do Lua para o C\#}
+
+ \subsection {Invocação de funcões Lua}
+ \subsection {Invocação de funcões estáticas em Lua}
  \subsection {Importando Assemblies com NLua}
  \subsection {Utilizando classes .NET a partir do Lua}