小编Jas*_*ael的帖子

你如何在n组中打破一个数组

这类似于在特定数量的分隔符后添加'\n',但是,如果组中的元素是可编程的,则假设该数字.

我们有:

aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm
g=4
Run Code Online (Sandbox Code Playgroud)

我们想要

aaa,bbb,ccc,ddd
eee,fff,ggg,hhh
iii,jjj,kkk,lll
mmm
Run Code Online (Sandbox Code Playgroud)

我们如何用bash实现这一目标?

我尝试了很多选择.这是最新的失败(tmp []是数组):

for e in ${tmp[@]}; do 
  for i in $(eval echo "{0..$groupsof}"); do 
    foo[$i]=$e; 
  done
done
Run Code Online (Sandbox Code Playgroud)

arrays bash

6
推荐指数
1
解决办法
1631
查看次数

Terraform 想要删除一个存储桶,并抱怨它不为空。我不希望 terraform 删除存储桶。我如何告诉它不要这样做?

我有 terraform 正在生成以下应用日志:

Terraform will perform the following actions:

  # aws_lambda_permission.allow_bucket must be replaced
-/+ resource "aws_lambda_permission" "allow_bucket" {
        action        = "lambda:InvokeFunction"
        function_name = "arn:aws:lambda:us-east-1:<secret>:function:ProggyS3ObjectCreatedHandler"
      ~ id            = "AllowExecutionFromS3Bucket" -> (known after apply)
        principal     = "s3.amazonaws.com"
      ~ source_arn    = "arn:aws:s3:::bucket-example-us-east-1" -> (known after apply) # forces replacement
        statement_id  = "AllowExecutionFromS3Bucket"
    }

  # aws_s3_bucket.bucket must be replaced
-/+ resource "aws_s3_bucket" "bucket" {
      + acceleration_status         = (known after apply)
        acl                         = "private"
      ~ arn                         = "arn:aws:s3:::bucket-example-us-east-1" -> (known after apply)
      ~ bucket …
Run Code Online (Sandbox Code Playgroud)

terraform

5
推荐指数
1
解决办法
9739
查看次数

ruby将分隔字符串数组转换为哈希值

我有一个阵列

["bob:12 elm st", "sally:100 digital ave", "tom:2324 elmhurst st"] 
Run Code Online (Sandbox Code Playgroud)

我需要转换为

{"bob" => "12 elm st", "sally" => "100 digital ave", "tom" => "2324 elmhurst st"}.
Run Code Online (Sandbox Code Playgroud)

我知道我能做到

array.each do |e|
  k = e.split(":").first
  v = e.split(":").last
  hash[k] = v
end
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?

ruby arrays string hash parsing

1
推荐指数
2
解决办法
3440
查看次数

ruby转换数组以散列保存重复键

我需要将git ls-remote的结果下拉到一个数组中,然后将该数组转换为这样的哈希:{commit_hash => reference}.有时,两个提交哈希值是相同的(但可能有不同的引用).所以我得到了这样的东西:

["19d97e408ee3f993745b053e281ac9dc69519e06","refs/heads/auto",
 "8f6f47c6e8023540b022586e368c68e1e814ce6d","refs/heads/callout_hooks",  
 "3cbdb4b2fcb85bc7f0ed08b62e2bf2445a7659e8","refs/heads/elab",
 "d38a9a26ef887c08b306bdab210b39882f58e587","refs/heads/elab_6.1",
 "19d97e408ee3f993745b053e281ac9dc69519e06","refs/heads/master",
 "906dfe6eebff832baf0f92683d751432fcc98ab7","refs/heads/regression"]
Run Code Online (Sandbox Code Playgroud)

我要转换为:

{"19d97e408ee3f993745b053e281ac9dc69519e06" => "refs/heads/auto"...}
Run Code Online (Sandbox Code Playgroud)

但是master和auto具有相同的哈希值,因此其中一个在转换中被删除.

我如何1.)获取转换中丢弃的值的列表,或2.)通过向键添加特殊字符使密钥唯一,如*?

ruby arrays hash type-conversion

0
推荐指数
2
解决办法
1098
查看次数

标签 统计

arrays ×3

hash ×2

ruby ×2

bash ×1

parsing ×1

string ×1

terraform ×1

type-conversion ×1