Tôi chỉ mới bắt đầu học Ruby và tôi đã viết một chương trình tạo ra một số số và gán chúng cho biến @one, @two, @three v.v. Sau đó, người dùng có thể chỉ định một biến để thay đổi bằng cách nhập tên của nó (ví dụ: một). Sau đó tôi cần phải làm một cái gì đó như '@ [valueofinout] = asd'. Làm thế nào tôi sẽ làm điều này, và có cách nào tốt hơn như cách tôi đang nghĩ đến dường như không được khuyến khích? Tôi đã tìm thấySử dụng giá trị của một biến như một tên biến khác trong Ruby
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
nhưng tôi không hiểu tại sao dòng thứ hai là cần thiết. Trong trường hợp của tôi, tôi sẽ sử dụng một cái gì đó giống như
@one = "21"
input = "one"
input = "@" + input
changeto = "22"
eval(input) -> changeto
wow, đây thực sự là một lĩnh vực mà PHP vượt trội hơn về tính sạch sẽ của cú pháp. http://stackoverflow.com/a/4169891/2951835 – ahnbizcad
Ruby làm cho nó khó làm vì nó xấu xí, bạn hiếm khi cần thiết lập biến người dùng được chỉ định của một cá thể trừ khi bạn đang lập trình meta. Tự động rối tung với các biến toàn cầu là một lỗ hổng bảo mật; nếu bạn muốn một tập hợp các biến do người dùng định nghĩa thì bạn có thể muốn có một băm. – rjh