<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/wiki/PT-BR/Argumentos_Opcionais?action=history&amp;feed=atom</id>
	<title>PT-BR/Argumentos Opcionais - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/wiki/PT-BR/Argumentos_Opcionais?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;action=history"/>
	<updated>2026-05-27T11:25:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;diff=69088&amp;oldid=prev</id>
		<title>Myonlake: Myonlake moved page Argumentos Opcionais/PT-BR to PT-BR/Argumentos Opcionais</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;diff=69088&amp;oldid=prev"/>
		<updated>2021-02-21T16:49:18Z</updated>

		<summary type="html">&lt;p&gt;Myonlake moved page &lt;a href=&quot;/wiki/Argumentos_Opcionais/PT-BR&quot; class=&quot;mw-redirect&quot; title=&quot;Argumentos Opcionais/PT-BR&quot;&gt;Argumentos Opcionais/PT-BR&lt;/a&gt; to &lt;a href=&quot;/wiki/PT-BR/Argumentos_Opcionais&quot; title=&quot;PT-BR/Argumentos Opcionais&quot;&gt;PT-BR/Argumentos Opcionais&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:49, 21 February 2021&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki_dev_:diff::1.12:old-65013:rev-69088 --&gt;
&lt;/table&gt;</summary>
		<author><name>Myonlake</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;diff=65013&amp;oldid=prev</id>
		<title>Lettify: Lettify moved page BR/Argumentos Opcionais to Argumentos Opcionais/PT-BR: Deixar pesquisa pela página mais abrangente</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;diff=65013&amp;oldid=prev"/>
		<updated>2020-02-04T19:48:48Z</updated>

		<summary type="html">&lt;p&gt;Lettify moved page &lt;a href=&quot;/wiki/BR/Argumentos_Opcionais&quot; class=&quot;mw-redirect&quot; title=&quot;BR/Argumentos Opcionais&quot;&gt;BR/Argumentos Opcionais&lt;/a&gt; to &lt;a href=&quot;/wiki/Argumentos_Opcionais/PT-BR&quot; class=&quot;mw-redirect&quot; title=&quot;Argumentos Opcionais/PT-BR&quot;&gt;Argumentos Opcionais/PT-BR&lt;/a&gt;: Deixar pesquisa pela página mais abrangente&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:48, 4 February 2020&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki_dev_:diff::1.12:old-65005:rev-65013 --&gt;
&lt;/table&gt;</summary>
		<author><name>Lettify</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;diff=65005&amp;oldid=prev</id>
		<title>Lettify: Created page with &quot;'''Argumentos Opcionais''' são argumentos que podem opcionalmente ser passados para qualquer função Lua, incluindo os internos do MTA: SA. Eles não são necessários para...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Argumentos_Opcionais&amp;diff=65005&amp;oldid=prev"/>
		<updated>2020-02-04T00:34:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Argumentos Opcionais&amp;#039;&amp;#039;&amp;#039; são argumentos que podem opcionalmente ser passados para qualquer função Lua, incluindo os internos do MTA: SA. Eles não são necessários para...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Argumentos Opcionais''' são argumentos que podem opcionalmente ser passados para qualquer função Lua, incluindo os internos do MTA: SA. Eles não são necessários para a função ser executada e podem ser desabilitados (valor == ''[[nil]]''). Frequentemente, esse tipo de argumento não faz uma enorme diferença no comportamento da função.&lt;br /&gt;
&lt;br /&gt;
É uma convenção Lua em que os argumentos escritos entre colchetes são opcionais, portanto, neste Wiki, você também pode encontrar funções com alguns argumentos entre colchetes. Isso significa que eles são opcionais e que não é necessário fornecê-los.&lt;br /&gt;
&lt;br /&gt;
Vamos dar uma olhada nesta função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;vehicle createVehicle ( int model, float x, float y, float z, [ float rx, float ry, float rz ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste exemplo, ''rx'', ''ry'', and ''rz'' são argumentos opcionais, pois estão entre colchetes. Eles não precisam ser fornecidos para a função; será padronizado para nenhuma rotação em todos os eixos. Se fornecida, a função utilizará as rotações especificadas.&lt;br /&gt;
&lt;br /&gt;
==Por que argumentos opcionais são usados?==&lt;br /&gt;
Na maioria das vezes, é chato ter que fornecer todos os argumentos de uma determinada função, especialmente se eles são os mesmos repetidamente. Os argumentos opcionais permitem que o scripter transmita apenas os dados realmente necessários para seu script, e isso ajuda a melhorar a legibilidade e o tamanho do código.&lt;br /&gt;
&lt;br /&gt;
==Usando os argumentos opcionais==&lt;br /&gt;
O argumento opcional é utilizado como argumentos normais. A única diferença é que eles serão padronizados para um determinado valor, se não for fornecido (em outras palavras, se ''opcionalArgument == nil'', será então ''opcionalArgument = defaultValue'').&lt;br /&gt;
&lt;br /&gt;
Um problema comum para programadores novos é quando eles desejam fornecer apenas um argumento opcional, sem definir os que estão antes dele. Bem, isso é realmente simples de &amp;quot;consertar&amp;quot;. Normalmente, eles podem ser definidos como ''[[nil]]'', então eles serão padronizados com seus valores correspondentes enquanto o scripter ainda é capaz de definir o que ele realmente deseja. Por exemplo, se você quer somente definir a rotação do eixo Z da função [[createVehicle]] (e não sabe que ''rx'' e ''ry'' tem como padrão, o zero):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;vehicle createVehicle ( int model, float x, float y, float z, [ float rx, float ry, float rz ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você pode usar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;local meuCarrinho = createVehicle( getVehicleModelFromName( &amp;quot;Infernus&amp;quot; ), 0, 0, 5, nil, nil, 180 )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E o resultado será o carro Infernus girado 180 graus no eixo Z, no centro do mapa.&lt;br /&gt;
{{BR/Warning|Existem algumas funções nativas do MTA: SA que não seguem esta concordância, especialmente quando um argumento opcional está intimamente relacionado a outro (ex.: argumentos de cores nas funções DX e provavelmente outros): ao invés de substituir o valor ''nil'', eles informam o erro 'bad argument' e não fazem nada. '''Sempre verifique se isso funciona com uma função antes de usá-la em um script'''.|1}}&lt;br /&gt;
==Funções personalizadas com argumentos opcionais==&lt;br /&gt;
Estas funções com argumentos opcionais ficam fáceis de ser gerenciada quando usado o '''if''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function aNotSoUsefulFunction( text )&lt;br /&gt;
    if type( text ) == &amp;quot;string&amp;quot; or type( text ) == &amp;quot;nil&amp;quot; then -- Verifica se os argumentos corretos foram fornecidos&lt;br /&gt;
        local realTextToOutput&lt;br /&gt;
        if text == nil then&lt;br /&gt;
            realTextToOutput = &amp;quot;Eu &amp;lt;3 argumentos opcionais&amp;quot; -- Se a variável text for igual a nil (não especificado), é usado um padrão&lt;br /&gt;
        else&lt;br /&gt;
            realTextToOutput = text -- Aqui é definido o texto que o usuário especificou, isso se ele definiu&lt;br /&gt;
        end&lt;br /&gt;
        outputChatBox( realTextToOutput ) -- Texto publicado no chat&lt;br /&gt;
    end&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você também pode usar [http://en.wikipedia.org/wiki/Short-circuit_evaluation short-circuit evaluation], se você preferir:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function aNotSoUsefulFunction( text )&lt;br /&gt;
    local realTextToOutput = ( type( text ) == &amp;quot;string&amp;quot; or type( text ) == &amp;quot;nil&amp;quot; ) and ( type( text ) == &amp;quot;string&amp;quot; and text or &amp;quot;Eu &amp;lt;3 argumentos opcionais&amp;quot; ) or nil&lt;br /&gt;
    if realTextToOutput then -- Verifica se há algo para postar no chat&lt;br /&gt;
        outputChatBox( realTextToOutput ) -- Poste o texto&lt;br /&gt;
    end&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[hu:Optional Arguments]]&lt;br /&gt;
[[pl:Argumenty opcjonalne]]&lt;br /&gt;
[[ru:Optional Arguments]]&lt;br /&gt;
[[de:Optionale Argumente]]&lt;/div&gt;</summary>
		<author><name>Lettify</name></author>
	</entry>
</feed>