Vengo de un fondo C, php y bash, fue fácil de aprender porque todos tienen la misma estructura C, que puedo asociar con lo que ya sé.¿Cómo puede aprender este programador de C y PHP Ruby and Rails?
Luego, hace 2 años, aprendí Python y lo aprendí bastante bien, Python es más fácil de aprender que Ruby. Luego, desde el año pasado, estaba tratando de aprender Ruby, luego Rails, y lo admito, hasta ahora todavía no podía entenderlo, la ironía es que esos son calificados como fáciles de aprender, pero para un programador experimentado como yo, simplemente no podía asociarlo con lo que aprendí antes, tengo 2 libros sobre Ruby y Rails, y cuando lo estoy leyendo, nada está absorbido en mi mente, y estoy a punto de darme por vencida ...
En ruby, estoy teniendo dificultades para comprender los conceptos de bloques, y ¿por qué hay @variables a las que se puede acceder mediante otras funciones, y qué hacen $ variable y: variable? Y en Rails, ¿por qué hay una función como this_is_another_function_that_do_this, así que ruby, es solo una convención de nomenclatura o se genera automáticamente con esta variable _can_do_this_function. Todavía estoy desconcertado de donde vinieron todos esos conceptos mágicos y cosas? Y ahora, 1 año de tratar y absorbente, pero todavía no hay progreso ...
Editar: En resumen:
- ¿Cómo puedo aprender acerca de los bloques, y cómo puede estar relacionado con los conceptos de PHP/C?
- variables, lo que lo hace significa cuando una variable tiene el prefijo:
- @
- $
- :
- "conceptos mágicos", suchs como carriles declaraciones de registros, lo sucede detrás de las escenas cuando escribo
has_one X
OK así que, tengan paciencia conmigo con mi confusión, al menos yo 'M honesto conmigo mismo, y es más de un año desde la primera vez que intenta aprender rubí, y no estoy cada vez más jóvenes ..
por lo
I learned this in Bash/C/PHP
solve_problem($problem)
{
if [ -e $problem == "trivial" ];
then
write_solution();
else
breakdown_problem_into_N_subproblems(\;
define_relationship_between_subproblems;
for i in $(command $each_subproblem);
do
solve_problem $i
done
fi
}
write_solution(problem) {
some_solution=$(command <parameters> "input" | command);
command | command $some_solution > output_solved_problem_to_file
}
breakdown_problem_into_N_subproblems($problems) {
for i in $problems;
do
command $i | command > i_can_output_a_file_right_away
done
}
define_relationship_between_subproblems($problems) {
if [ -e $problem == "relationship" ];
then
relationship=$(command; command | command; command;)
elsif [ -e $problem == "another_relationship" ];
relationship=$(command; command | command; command;)
fi
}
In C/PHP is something like this
solve_problem(problem)
{
if (problem == trivial) write_solution;
else {
breakdown_problem_into_N_subproblems;
define_relationship_between_subproblems;
for (each_subproblem) solve_problems(subproblem);
}
}
Y ahora, simplemente no podía conectar los puntos con Ruby, | b | {blocks}, usando @variables,: variables y variables_with_this_things.
C no tiene globales – horseyguy
Son globales en el sentido "externo", muchas personas los llaman "globales". http://en.wikipedia.org/wiki/Global_variable – clyfe
tiene un alcance de archivo, seguro, pero no 'alcance global'. No se puede acceder desde otras unidades de traducción, por ejemplo, – horseyguy