ruby中星号(*)的功用

    xiaoxiao2021-03-25  59

    ruby中星号(*)的作用

    有正常的乘法功能

      3 * 4 == 12 # => true

    数组*integer

    [1,2,3] * 2 = [1, 2, 3, 1, 2, 3] ; [1,2 ,[3 , [4 ,5]]] *2 = [1,2 ,[3 , [4 ,5]] , 1,2 ,[3 , [4 ,5]]]

       3. 字符串*integer

    "hello"*2 = "hellohello"

    4.创建数组

    *a = 1,3,"as" # => 相当于 a = [1,3, "as"]

       5. 数组参数传入时的前缀eg:

    a= [1 , 2]  demoFun(*a) == demoFun(1 , 2) #正确  demoFun(*a)== demoFun([1,2])#错误    demoFun(*a) 等同于 demoFun(1,2)

    6.查询sql:

    sql: values = ['小明',15] User.where('name=? and age = ?', *values) #=> 等同于 User.where('name=? and age = ?', "小明",'15')

    7.hash中的含义

    Hash[:a, 1, :b, 2] # => {:a => 1, :b => 2} array = [:a, 1, :b, 2] Hash[array] # => {} Hash[*array]#=> 相当于 Hash[:a, 1, :b, 2] #=> {:a => 1, :b => 2}
    转载请注明原文地址: https://ju.6miu.com/read-150227.html

    最新回复(0)