我的意思是,我不申报
my_var = new variable
Run Code Online (Sandbox Code Playgroud)
或类似的东西.我跟你一起去
my_var = 1;
Run Code Online (Sandbox Code Playgroud)
同样,为什么我不能
books["War and peace"] = :masterpiece
Run Code Online (Sandbox Code Playgroud)
为什么我需要提前定义?
books = {}
Run Code Online (Sandbox Code Playgroud)
books["War and peace"] = :masterpiece调用[]=方法on bookswith "War and peace"和:masterpiece作为参数.如果books不存在,则无法在其上调用方法.
或者以不同的方式处理问题:如果ruby确实做了一些魔法来自动初始化变量,当你使用[]=它们时,ruby应该如何知道你想books成为上面例子中的哈希?任何类都可以拥有[]和[]=运营商,其接受字符串作为索引.
这样做:
my_var = 1
Run Code Online (Sandbox Code Playgroud)
定义和分配局部变量.使用哈希可以这样做:
books = { 'War and Peace' => :masterpiece }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |