这在Ruby中意味着什么?为什么他们为现有的哈希值分配相同的值?
@IBAction func profileButton(_ sender: Any) {
let webVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ViewController") as! ViewController
webVC.profileLink = linkProfilo
self.present(webVC, animated: false, completion: nil)
}
上述结构的含义是什么?为什么在哈希中分配了相同的值?
答案 0 :(得分:1)
这假设上面的代码有2个语法错误:第一个,,
应该是,
而第二个,,
不应该存在。
此代码创建一个proc
,它将一个响应.field1
,.field2
,.field3
,.field4
的对象作为参数。它会返回一个Hash
,其中包含4个字段,将field2
和field4
转换为字符串。
因此,输入可能类似于OpenStruct
(但不一定是;它只需响应上面的4个方法调用):
foo = OpenStruct.new
foo.field1 = 'hi'
foo.field2 = 123
foo.field3 = 'bar'
foo.field4 = 456
现在将该参数传递给Proc
返回:
{"field1"=>"hi", "field2"=>"123", "field3"=>"bar", "field4"=>"456"}
我不能说为什么代码会这样做。