簡體   English   中英

Ruby語法用於調用方法

[英]Ruby Syntax for calling methods

我是紅寶石語言的新手,遇到了以下代碼行:

f.options[:chart][:defaultSeriesType] = "bar"  

有人可以向我解釋一下嗎? 因為這樣做:

f.options([:chart][:defaultSeriesType]) = "bar"  

給你一個錯誤。 提前致謝!

f.options應該是一個哈希,像這樣

f.options = {:chart => {}}

然后,您首先編寫的命令將起作用。 因此,這不是方法調用,而是實際設置哈希值。

希望這可以幫助。

每當您有這樣的問題時,請打開控制台並使用對象

>f.options.class
=> Hash
>f.options[:chart].class
=> Hash

f.options[:chart]返回哈希。 因此, f.options[:chart][:defaultSeriesType] = "bar"哈希值設置為key為'defaultSeriesType',值為'bar'。

並且,對於鍵,使用符號而不是字符串是一種好習慣,因此冒號位於前面- :defaultSeriesType

您正在處理哈希。
當您對f.options.inspect這樣的f.options.inspect ,它將打印出數據結構的內容。
我將通過一個示例讓您理解:
根據您的編寫方式,似乎您正在以這種方式來處理一個對象,該對象的結構更少:

f.options = { chart => {defaultSeriesType => "bar"; somethingElse => "bor"}, graph => {attribute1=> "anotherString"} }

因此,您可以通過以下方式查詢對象: f.options[:graph][:attribute1]f.options[:chart][:somethingElse] ,依此類推。
我建議您在http://www.tryruby.org上花一分鍾時間並處理哈希,也可以在這里查看: http : //www.troubleshooters.com/codecorn/ruby/basictutorial.htm#_Hashes

當然有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM