PDF de programación - comparacion práctica de los lenguajes php y ruby

Imágen de pdf comparacion práctica de los lenguajes php y ruby

comparacion práctica de los lenguajes php y rubygráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 14 de Enero del 2018)
1.279 visualizaciones desde el 14 de Enero del 2018
102,5 KB
5 paginas
Creado hace 16a (24/02/2008)
Comparación práctica de los lenguajes PHP y Ruby

Característica

Comentarios

Ruby

# Una linea estilo shell
=begin
Esto es un ejemplo
de comentarios
multilnea
=end

PHP

# Una línea estilo shell
// Una línea estilo C
/*
Esto es un ejemplo
de comentarios
multilinea al estilo C++
*/
Igual comportamiento.

Comillas simples:
'Hola Mundo'

Comillas dobles:
“Hola Mundo {$var}\n”

Concatenar:
'Hola' . 'Mundo'

Repetir:

N/A
$cadena[$indice]
substr($cadena, $inicio,
$longitud)

Comillas simples: cadenas de texto
simples, significan lo que representan.
'Hola Mundo'

Comillas dobles: permiten reemplazar
caracteres escapados y variables
incluídas.
“Hola Mundo #{var}\n”
Concatenar:
'Hola' + 'Mundo'

Repetir:
'Hola ' * 2
cadena[indice]
cadena[inicio, longitud]
cadena[elemini ... elemfin]

Cadenas

Concatenar y
repetir cadenas

Extracción de
caracteres de una
cadena
Arreglos
Unir y repetir
arreglos

Extracción de
elementos del
arreglo
Convertir arreglo a
cadena
Convertir cadena a
arreglo
Conversión de
tipos

arreglo = [1, 2, '3']

arreglo = array(1, 2, '3');

Unir:
a2 = arreglo + ['a', 'b', 'c']

Unir:
$a2 = array_merge($arreglo,
array('a', 'b', 'c'));

Repetir:
a3 = a2 * 5

● arreglo[indice]
● arreglo[inicio, longitud]
● arreglo[elemini ... elemfin]

Repetir:

N/A
$arreglo[$indice]
array_slice($arreglo, $inicio,
$longitud);

arreglo.join(separador)

implode($separador, $arreglo);

cadena.split(separador)

explode($separador, $cadena);

cadena = entero.to_s
entero = cadena.to_i

$cadena = (string)$entero;
$entero = (int)$cadena;

Jorge Iván Meza Martínez <[email protected]>

Hashes

Acceso,
modificación,
agregación y
eliminación de
elementos del
hash
Lectura de entrada
estándar
condicionales

switch/case

while

foreach

for

if condición
# ...
else
# ...
end
unless es un if negado.
case variable
when opcion1
# ...
when opcion2, opcion3
# ...
end

while condicion
# ...
end
until es un while negado.
for elemento in colección
# ...
end
colección.each{|elemento|
# ...
}
for i in (4 .. 6)
# ...
end

Manipulación de
las iteraciones

break: rompe la iteración y termina
completamente el ciclo.
next: termina la iteración actual y
continúa en la siguiente.

Comparación práctica de los lenguajes PHP y Ruby

hash = {1 => 2, '2' => '4'}

hash[llave] = valor
hash[nueva_llave] = valor
hash[llave] = nil

$hash = array(1 => 2, '2' =>
'4');
$hash[$llave] = $valor;
$hash[$nueva_llave] = $valor;
unset($hash[$llave]);

STDIN.gets

fgets(STDIN)

if (condición)
{
# ...
}
else
{
# ...
}
switch($variable)
{
case opcion1:
# ...
break;
case opcion2, opcion3:
# ...
break;
default:
# ...
break;
}
while (condicion)
{
# ...
}

foreach ($coleccion as $elemento)
{
# ...
}

for ($i=4; $i<=6; $i++)
{
# ...
}
break: rompe la iteración y termina
completamente el ciclo.
continue: termina la iteración actual y
continúa en la siguiente.

Jorge Iván Meza Martínez <[email protected]>

Comparación práctica de los lenguajes PHP y Ruby

Declaración de una
clase

Declaración de un
método

redo: termina la iteración actual y la
reinicia nuevamente.
class Nombre
# ...
end

class Nombre
def miMetodo(parametros)
# ...
end
end

Declaración de un
constructor

class Nombre
def initalize(parametros)
# ...
end
end

Referencia a la
misma clase
Creación de una
nueva instancia
Llamado de
métodos

Herencia

self

instancia = Clase.new (parametros)

instancia.metodo(parametros)

Los paréntesis son opcionales.
class Hijo < Padre
# ...
end

Referencia a la
clase padre
Encapsulamiento

Módulos/interface
s

super

public
protected
private
Module miModulo
# ...
end

Acceso a los recursos del módulo:
miModulo.metodo(parametros)
miModulo::miConstante

Incluír el módulo en el ambiente actual:
include miModulo
Nombre = valor

Constantes

class Nombre
{
# ...
}
class Nombre
{
function
miMetodo($parametros)
{
# ...
}
}
class Nombre
{
function __construct
($parametros)
{
# ...
}
}
$this

$instancia = new
Clase($parametros);
$instancia -> metodo(parametros);

class Hijo extends Padre
{
# ...
}
parent

public
protected
private
interface miInterfaz
{
# ...
}
class miClase implements
miInterfaz
{
# ...
}

define('Nombre', 'valor');

Jorge Iván Meza Martínez <[email protected]>

Comparación práctica de los lenguajes PHP y Ruby

Variables globales $nombre = valor
Atributos de
instancia

El nombre de las constantes empieza por
una letra mayúscula.

class miClase
def sumar(valor)
@resultado = resultado +
valor
end
end
Inicialmente tiene el valor de nil.

Variables locales

nombre = valor

Verificar la
existencia de una
variable

Manejo de
excepciones

Lanzar
excepciones

El nombre de la variable inicia por
minúsculas o underscore ('_').

La primera asignación actúa como
declaración.
defined? variable

Retorna una descripción de la variable si
esta existe, nil de lo contrario.
begin
# Código que puede lanzar
# excepciones
rescue
# Código de manejo solo en
# caso de excepciones
ensure
# Código que se ejecuta
# hayan sucedido excepciones
# o no
end
retry intenta ejecutar el bloque begin
nuevamente.
raise “Mensaje de la excepción”

El mensaje de la excepción se puede
obtener posteriormente con la variable
$!.

Representación de
cadena de un
objeto

class miClase
def inspect
return “esta es la
representación”
end
end

$GLOBALS['nombre'] = valor;
class miClase
{
var $resultado;
function sumar($valor)
{
$this -> resultado =
$this -> resultado + $valor;
}
}
Inicialmente tiene el valor de null.
$nombre = $valor;

Depende del ámbito donde se utilice.

isset($variable)
Retorna true si existe la variable,
false de lo contrario.
try
{
# Código que puede lanzar
# excepciones
}
catch (ClaseExcepcion $e)
{
# Código de manejo solo en
# caso de excepciones
}

throw new Exception('Mensaje de
la excepción');

El mensaje de la excepción se puede
obtener posteiormente a través del
método getMessage() del objeto
Exception.
class miClase
{
function __toString()
{
return “esta es la
representación”;

Jorge Iván Meza Martínez <[email protected]>

Comparación práctica de los lenguajes PHP y Ruby

obj = miClase.new
print obj

}
}
$obj = new miClase();
print ($obj);

Mas recursos:

1. Guía del usuario de Ruby. http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-

2. Ruby quick reference: http://www.digilife.be/quickreferences/QRC/Ruby

%20Language%20QuickRef.pdf

3. Ruby desde otros lenguajes: http://www.ruby-lang.org/es/documentation/ruby-from-

ruby/

other-languages/

Jorge Iván Meza Martínez <[email protected]>
  • Links de descarga
http://lwp-l.com/pdf8318

Comentarios de: comparacion práctica de los lenguajes php y ruby (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad