thể trùng lặp:
Ruby block and unparenthesized argumentscủa Ruby Khối Cú pháp Lỗi
Tôi không chắc là tôi hiểu lỗi cú pháp này. Tôi đang sử dụng Carrierwave để quản lý một số tập tin tải lên trong một ứng dụng Rails, và tôi dường như đi qua một khối đến một trong những phương pháp không chính xác.
Dưới đây là ví dụ trong Carrierwave Docs:
version :thumb do
process :resize_to_fill => [200,200]
end
Dưới đây là những gì tôi có:
version :full { process(:resize_to_limit => [960, 960]) }
version :half { process(:resize_to_limit => [470, 470]) }
version :third { process(:resize_to_limit => [306, 306]) }
version :fourth { process(:resize_to_limit => [176, 176]) }
Ở trên không làm việc, tôi nhận được syntax error, unexpected '}', expecting keyword_end
. Điều thú vị là đủ, các công việc sau một cách hoàn hảo:
version :full do process :resize_to_limit => [960, 960]; end
version :half do process :resize_to_limit => [470, 470]; end
version :third do process :resize_to_limit => [306, 306]; end
version :fourth do process :resize_to_limit => [176, 176]; end
Vì vậy, câu hỏi của tôi là, tại sao tôi có thể vượt qua một khối sử dụng do...end
nhưng không phải niềng răng trong trường hợp này?
Cảm ơn!
Đây là một bản sao của [Mã khối thông qua cho 'each' làm việc với dấu ngoặc nhưng không phải với' do' -'end' (ruby)] (http://StackOverflow.Com/q/6718340/), [Block definition - sự khác biệt giữa niềng răng và 'do'-'end'?] (http://StackOverflow.Com/q/6179442 /), [Ruby multiline block không có 'do'' end'] (http://StackOverflow.Com/q/3680097/), [Sử dụng 'do' block vs brackets' {} '] (http: // StackOverflow.Com/q/2122380/), [Sự khác nhau hoặc giá trị của các kiểu mã hóa khối này trong Ruby là gì?] (Http://StackOverflow.Com/q/533008/) và [khối Ruby và các đối số không được hiển thị] (http : //StackOverflow.Com/q/420147/). –