Tôi đến từ một nền tảng C, php và bash, thật dễ dàng để tìm hiểu bởi vì tất cả đều có cùng cấu trúc C, mà tôi có thể kết hợp với những gì tôi đã biết.Làm thế nào để lập trình viên C và PHP này có thể học Ruby và Rails?
Sau đó 2 năm trước, tôi đã học được Python và tôi đã học được nó khá tốt, Python dễ dàng hơn cho tôi để tìm hiểu hơn Ruby. Sau đó, kể từ năm ngoái, tôi đã cố gắng tìm hiểu Ruby, sau đó là Rails, và tôi thừa nhận, cho đến bây giờ tôi vẫn không thể hiểu được, sự trớ trêu là những thứ được đánh giá là dễ học, nhưng đối với một lập trình viên dày dặn như tôi, tôi không thể kết hợp nó với những gì tôi đã học trước đây, tôi có 2 cuốn sách trên cả Ruby và Rails, và khi tôi đọc nó không có gì được hấp thu vào tâm trí của tôi, và tôi gần như từ bỏ ...
Trong ruby, tôi gặp khó khăn trong việc nắm bắt các khái niệm về các khối, và tại sao có các biến @variables có thể được truy cập bởi các hàm khác, và biến $ và biến là gì? Và trong Rails, tại sao có hàm như this_is_another_function_that_do_this, do đó, ruby, nó chỉ là một quy ước đặt tên hoặc nó được tạo tự động với thiscaniable _can_do_this_function. Tôi vẫn còn bối rối rằng tất cả những khái niệm ma thuật và sự vật đó đến từ đâu? Và bây giờ, 1 năm cố gắng và hấp thụ, nhưng vẫn không có tiến bộ ...
Edit: Để tóm tắt:
- Làm thế nào tôi có thể tìm hiểu về các khối, và làm thế nào nó có thể liên quan đến các khái niệm từ PHP/C?
- biến, những gì hiện có nghĩa là khi một biến được bắt đầu bằng:
- @
- $
- :
- "Magic khái niệm", suchs như đường ray tờ khai của Records, những gì xảy ra sau hậu trường khi tôi viết
has_one X
OK vì vậy, hãy nhầm lẫn với tôi, ít nhất là tôi 'M trung thực với bản thân mình, và đó là hơn một năm nay kể từ khi lần đầu tiên tôi cố gắng tìm hiểu ruby, và tôi không nhận trẻ ..
nên
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);
}
}
Và bây giờ, tôi chỉ không thể kết nối các dấu chấm với Ruby, | b | {blocks}, sử dụng @variables,: variables và variables_with_this_things ..
C không có globals – horseyguy
Thei're toàn cầu theo nghĩa "bên ngoài", nhiều ppl gọi chúng là "toàn cầu". http://en.wikipedia.org/wiki/Global_variable – clyfe
nó có phạm vi tập tin, chắc chắn, nhưng không phải là 'phạm vi toàn cầu'. Nó không thể truy cập từ bên trong các đơn vị dịch thuật khác ví dụ – horseyguy