From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 22765 invoked from network); 18 Jan 2021 01:53:38 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 18 Jan 2021 01:53:38 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1610934818; b=Igkeenha3E4PbNlup66hBgqE8D4+yFRpSJHkf9vSPIIE9MpuI/HLG9gBFfw9Ubg/3C8dR5Tix7 i+f+HryqWxqFS7nv9v7SlHZr4hKE64ZfrYXwHtECRacQzAz3qxxDNHXWonQm+C/tEZh177dtKv wBgs0aLMX+PQa6OtS6c/3S/zABXKpsPB9c2mDVWK1iWW5cqqhXjqXTJzp6jRtBiYPE2zctCSpt 3CTjUsj+0fIuGzsSJN/eiifnXwTtWUB+DssNtBqfvgwDK4YXQvuQkLZ8kfaaj8EeqKWfA/bgOz 8hLrppOzJNMSooDt1ZKU3QRezDcMO0knk4XXneBH4AcmTg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (sonic309-15.consmr.mail.bf2.yahoo.com) smtp.remote-ip=74.6.129.125; dkim=pass header.d=yahoo.ca header.s=s2048 header.a=rsa-sha256; dmarc=pass header.from=yahoo.ca; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1610934818; bh=OfgpQadeXQipwtVj1NnC/tikGpMjAyUH6DTEVdEuNd0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:References:Content-Type:MIME-Version:Message-ID:Subject:To: From:Date:DKIM-Signature:DKIM-Signature; b=a0IzFzgEHE4mZE6O/UwMgHB+x8ZCIfSiZ/eR1H8UfGXy1XDEY1jq4nY1fsK97jl6mR9H6Ne9Yp BmsdA5shaYl1LJrowRFHL59B7amvdJeGWZFZ8aS+Ru24bvFZ13OhYFRCqbhidWpyoKpX9kOtWG RpDrxhEppsUPHKxTZPVrmPp6k3j7qmuYqMMzw44xDnDH9bCYz5VZp88yLA/RO9kKgkPZFoHbU/ X0bmhgh3JPovjb/i9iUkTESrFMxwznJHgIJ/eSkM4mRQxhu57aeMcr6AerTjqzLYkX3FS8Vxb/ I3o2V3GHNjX/mdhyFTWNS4UXX8j5wGLxxWdp34Wmrnbq9g==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:References:Content-Type:MIME-Version: Message-ID:Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To; bh=wf+3JcWKpegz8IsTcr/p/YphGELk13O54a7hWEnD5XE=; b=ArDw41Z4arv9to7YIOJEG9wsuC Nostbcpn+h3LngrX+dyc8aQ2O87xEye/LpFr0BEbHI4+79e7a8LpRskCfG4IkIou6DwJUGw215TQn AQPxaVAN/cqPDHOpz7jUIeSYunef8CpKFGzBon+y2qwKaUnWc2AykMvc2wynVzxMZf1cFO92QTTXU K5mDEkNQgpUOoMqlYDJc4wIXgoFU/z3r+GTmQpmL2DI644+hEQWq1QAGYMnwsEMz1MQHCqUevPoDO uutXp9xH3/LwXmcQwikZy9ZZj2WYLSqCe39Q+uij7BFRSK1llAD4GM+450U2dIA2PfYIILJ6rLPhz m9UeDZCA==; Received: from authenticated user by zero.zsh.org with local id 1l1Jjb-000LEI-Du; Mon, 18 Jan 2021 01:53:35 +0000 Authentication-Results: zsh.org; iprev=pass (sonic309-15.consmr.mail.bf2.yahoo.com) smtp.remote-ip=74.6.129.125; dkim=pass header.d=yahoo.ca header.s=s2048 header.a=rsa-sha256; dmarc=pass header.from=yahoo.ca; arc=none Received: from sonic309-15.consmr.mail.bf2.yahoo.com ([74.6.129.125]:32792) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) id 1l1Jj3-000KqP-7n; Mon, 18 Jan 2021 01:53:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.ca; s=s2048; t=1610934779; bh=wf+3JcWKpegz8IsTcr/p/YphGELk13O54a7hWEnD5XE=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=EdJab9Twd9Obqv3e5rUq2QdKqHQbBbSwH0wJu1M4nPEYuBDFHFOxB10bWFUSPPaNu72LQKYg9Eoaxm8f4VlOLW1O5A0EgH0uHy+pWlHP4E/c2katF4L43XU4dn+nk5FgUsbKoJoka/wxfMpMp/Ot7nTvDpAi+AwxFU/LWmnoab7M4++7/yQAzzuBazo3YGaeBBQfz3/g6BuSr1odiM7h4Lg0ArnPWGtcfAgrPLmIZD16iyQ71ex0kNPYlaQrQaSfZzOKkf+kG2uITGss263vslfKAFWaplkx6JwQs58XhF4fxjiNRQ0DMn5cWls5Guq75LCWvl/LHxQwQmon2adwaA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1610934779; bh=LV83an92qDpSm6Jhqaep8nE3ZZanGbEoBTBO6LBa+cM=; h=Date:From:To:Subject:From:Subject:Reply-To; b=Vlv4EctXh/ujQTwbnjienjh4OMV3hB8LUKp2WS/DOHX3tVV+ep8fVhRfbTSSHmlAog8zAdeSLhr/mhp5Lv/mBvjwfdbRa7HH7mAAos1HcSHRWtjwHWFexz7Nx1EGMRM0ggkt7jlBBQSb+cFlEskX8Pm04jJG83PB1ZudjGHTfk6Y30m0sVXx2B7uJ9AKrNzDgZG36LUfBzIvYURlmzqmGh9BlJMfIE4DDpYjiBZyzkIL+D28iBMVcis6GUQz/UY9QkA7AQSGXNxQHaTgpzneEubbMWt/kzbealNPkIWGwV2vbE3fHa3oRdqIUZvT15RAFb/i8KrHoynZQ6rSoW790Q== X-YMail-OSG: T0Q52XoVM1lkTVIsmyIYWWD9DhGNE63wz4jux3w37DYomCT5rbuPViFZlka3L_X rf84OuNNp2wt7K1O_DmOVgrSca2v8lS3gKTYzJg266te2CDD6RgHRFgUaQGrJWHnaMiHySSkDJBe 6LeLxAmm7COINpU7K7ts2BcJU_BIlhRq5SmZAuS9l2pWaOfuWoTcDOYDTbW1oS84JKkKXAVZOE9C YT_kVl0rXnCFBPI9Fp3SApxN5nKDc6vfqZkbWOjhOHLk_sj9I7ymdC7RWhtT_JZIPXBxHatcSvrO TdoGb6VcxS12SzqHPr.D5jvMZ3HLkAEPTDfnCt2BJynb7CGUfoyCEkf32af2xNwMBHu3BBmgOXr2 IJSl43pHJ4MbOeQviu87O5VsO4jxJdjBsax6mngCLRD.59pVmpjfMjmbrY6JUn8t3mn6JULN_yJ7 qfym7PWTqA8ohRHepKZXYpLkW0KBKppZidnUfjy2SC_1NeWAbEYSwuX5ULMDa9l8bWY0UHAV2VAC sxKuKIF5piiiaZ3nipv4jcspgeBYs4VEVU2tLfCYvf_b_.8vvtgzWZBZuqetcy8q78ZoW5PRMoDi UmetNsDidMmwGCoZEwAk8Tz6PCW98p7fDPOcjTDGP5gFEFbaQ8nQnIkeuB8k6icnfopceSSdaxCN x888.VomovAhO03yga1NeL38CRFWcjKJaePNU10.1.k3hV2Bd._YRRtbMLGB4UqoFdODAcan2VC3 3UVEzGfkAuw7CauGZDcV.WBqL2Dnx5AHgwYzXFka3UzGRGGNx8JP17KlFF7RYY2XjzjABDwYNRWR 3SJ31B.eGl.2PYJQa5EWj9ayZL_hbMDgBsimN1TapWwO0jE9QzoS5TnIk6c2YK5WbhwwyfBXEA2X 7X_0jSGkWkkFboFJ93fsnXO6ddTq3IKfXVBNvNypXW6ta6DadY0KSF2uwEQch8LmldkS1f3uVBgR PpYL.4IzLrmhYe_etTMkcDgnwuVK1wD1gWBQVDOgmx_Q0dCMMEE1TrQdROIO2gPzwuMwE4br5HU_ rt5MeqlR1HnBfmFDlLiKOADOTjOHZclAl_O3hnLJ5VF6H.o2qEoYxFVA01erRpAP5ypHl2.UT.jQ v.iUBNB8mT0TXpASTWNlqbKZqfSxK41oy_.8wsIb4mJ7gxmSB4Yu6onfNpQzVoyXa5b0shiSFOOe Q5fv3FeIPFyf2BDLCkWhX11MMi5IurTY9aXH80K5zEJ59uFUx3wJRHstcJyma6QTG3QdZqKW0ShN GeDJjMqKKI3byk10740NMoWLq1L9xxZvCZGfZKpcVK5bTCZJtKx1p7JUULmICrY3pLTUparQE7Q7 56dUP7RhBudf.X3NOjh1tg13SdhECiQCFhBsnEu9GXF7exT1zOBTUvUFT4WOHgz_Z3MrMkPpplMn WZder4uF.p3dvLlVV2rr67tNWbHYth6uT7LSvMeIqfjVi_AspbEEPUUsDSmx3eTzKs0TkhM_uRtu HMyzFm6VGSpmrmTY5EoFMXQgcGnstRpqZfy91sndcAlXWyxDd2ROz_OxDxdJf9axUgr_wPS8WpQ4 83pCEB_PsaJ4dnCSGYCL8qJSaHneKVAGyv19VjifjGF_9rXlDiul1TdUPqVnuJDK6RFFB2Lie2rt POXBGPy5Mentxp7Gx5HzHuro8LpmYqkJvj2SIjJFxjUgBZctX8DAIzCGrQ3T_EeiHyb0onKv3rkm A12ZnUqmbEGX8oDtAnq6.1f6jFDYU8iUK.KEdWRc4kSEgGJ4kalyuMdtTdZQyFTIToIJr1uxeGoN 9x0B8p1MuNguhUDONzMv1nr6Q3lKYvMqV2XtJunwJ5A72B7aiq0GwAe4f3TX44tcPrBhI.7Mm9UD 8YcJdVagxJEfsM5IgJTJWJ7NpA_IY54MlF9.QVxeXF9z_VPoaEAfgdtz907xv2ccQ9MNW92m23kB lmyGvRddCmmb9YbBLWuCcqqMMDbSCShCEljcxEEnnb6XLtU87un08F483JXLPqaepgPb7LvmZbyR 0MddOIUwEzNGNExzCrhSz2B6o30iivVOTIE77pkC4Hrz5kBRH4CeQDvqOadAyQ8_64tJWV3QWu7u nyMjOF2odfRl6zvvxlh0HgGhIfLA3fEb7GSoR_LSZ8uidbR0ZMS_V8iFH0f.GGLc3oNxCXKSpVoy SDcSELDWqEvbmAixL7NefpdME9FGE2pcdhnyI7CorMWCF0gwTTxx.sEVFNN5hZlt3qqZh6UiE4NG BA_ZBanr39FodoOLbJwgcL_9.IyYxDd3LcSaSEEuDiRvvc9yNlUdNzxLOeqA8WU3F2eTueOYYvPl WxGBx_zIpL90GB84RogHEabjqFw6K7oXgIeCj_gelmiAtRK8Bd0.BrKsjawRQaGEDSNC.XNiKSlM xxhLnMZsuibSHLTn_hDXIHt18 Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.bf2.yahoo.com with HTTP; Mon, 18 Jan 2021 01:52:59 +0000 Received: by smtp422.mail.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID a843a388c617e6753c532c4a5ed11177; Mon, 18 Jan 2021 01:52:56 +0000 (UTC) Received: from node1.localdomain (localhost [127.0.0.1]) by node1.localdomain (8.15.2/8.15.2) with ESMTP id 10I1qs4G003646 for ; Sun, 17 Jan 2021 20:52:54 -0500 Received: (from parkw@localhost) by node1.localdomain (8.15.2/8.15.2/Submit) id 10I1qqNd003645 for zsh-users@zsh.org; Sun, 17 Jan 2021 20:52:52 -0500 Date: Sun, 17 Jan 2021 20:52:52 -0500 From: William Park To: Zsh Users Subject: (question) C struct-like template to read positional arguments? Message-ID: <20210118015252.GA3550@node1.localdomain> Mail-Followup-To: Zsh Users MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) References: <20210118015252.GA3550.ref@node1.localdomain> X-Mailer: WebService/1.1.17501 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.8) X-Seq: 26389 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: Hi all, I have question... In C struct like, struct { char aa[32], bb[32], skip[128], cc[7], dd[32], ...; } you just access variables, and compiler will do the offsetting. Can zsh do something similar? That is, you could probably build the template like template=( aa 32 bb 32 skip 128 cc 7 dd 32 ... ) and read into them, then just use variables, without worrying about offsets. So, ${cc[@]} would be equivalent to ${@:193:7}, and ${cc[1]} would be same as ${194}. I know I can do aa=( "${@:1:32}" ) bb=( "${@:33:32}" ) cc=( "${@:193:7}" ) ... But, it's so easy to make mistake and very difficult to catch it. -- William Park