Métodos com argumentos variáveis

Simples comparação entre as linguagens de programação e como podemos trabalhar com os argumentos variáveis.

No teste, todos os métodos podem receber inúmeros argumentos, esses argumentos serão retornados em uma string sendo separados por “|” (pipe)

PHP

//método
function imprimir()
{
    $args = func_get_args();
    for ($i = 0; $i < func_num_args(); $i++)
    {
        echo($args[$i] . '|');
    }
}
 
//chamando o método
imprimir('a', 'b', 'c', 'd');

Python

# -*- coding: iso-8859-15 -*-
 
# método
def imprimir(*args):
	for arg in args:
		print arg, "|"
 
# chamando o método
imprimir("a", "b", "c", "d")

Java

public class Main
{
    //método
    private static void imprimir(Object... params)
    {
        for (int i = 0; i < params.length; i++)
        {
            System.out.print(params[i] + "|");
        }
    }
 
    public static void main(String[] args)
    {
        //chamando o método
        imprimir('a', 'b', 'c', 'd');
    }
}

Ruby

# método
def imprimir(*args)
  args.each do | arg |
    print arg + "|"
  end
end
 
# chamando o método
imprimir("a", "b", "c", "d")

JavaScript

//método
function imprimir()
{
    for (i = 0; i < imprimir.arguments.length; i++)
    {
        document.write(imprimir.arguments[i], '|');
    }
}
 
//chamando o método
imprimir('a', 'b', 'c', 'd');

Resultados

a|b|c|d|

Referências

  • http://br2.php.net/manual/pt_BR/function.func-num-args.php
  • http://blog.stiod.com/2009/09/28/funcoes-com-argumentos-variaveis-em-javascript/
  • http://codare.net/2007/02/14/java-metodos-com-argumentos-variaveis/
  • http://sfohart.blogspot.com/2009/01/scjp-mtodo-com-lista-de-argumentos.html
  • http://www.arquivodecodigos.net/dicas/ruby-como-criar-metodos-que-aceitam-um-numero-variavel-de-argumentos-1579.html
  • http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/

Sobre Thiago Bighetti

Bacharel em Administração de Empresas. Certificação Flex pela Adobe. Utiliza tecnologias como PHP, Java, C# e Flex para desenvolver aplicativos mobile e web.
Esta entrada foi publicada em .Net, Desenvolvimento, Java, JavaScript, PHP, Python, Ruby e marcada com a tag , , , , , , , . Adicione o link permanenteaos seus favoritos.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

*


Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">