@gamrom 앗 ㅋㅋ 저 @post는 Controller에서 Post 특정 ID에 대한 데이터 정보를 가진 변수라고 이해해주세요..ㅎ
예
### app/controllers/posts_controller.rb
def new
@post = Post.find(params[:id]
end
### app/views/new.html.erb
## http://.../posts/new/1
... (내용 생략) ...
<%= link_to "글 쓰기", new_post_path(@post.id), method: "post" %>
@gamrom
5.times do |i|
eval("@userscore.score#{i + 1}")
end
ruby 에서는 코드가 코드를 만드는 메타프로그래밍 방식을 자주 사용합니다.
그 때 사용하는 코드가 eval 입니다.
eval 은 문자열을 그대로 코드로 실행하게 합니다.
eval 에는 아래와 같은 장단점이 있으니 잘 판단 후 사용하시면 됩니다.
장점 : 동적 구문 생성, 바인딩, 실행. 메타프로그래밍에 유용.
단점 : 느림, 스코프를 넘어선 자원 접근, 보안.