【问题标题】:J: How to efficiently apply a verb to prefixes of suffixes?J:如何有效地将动词应用于后缀的前缀?
【发布时间】:2014-09-22 16:37:31
【问题描述】:

我有一个清单

   n =: i.3

并且我想要一个副词 a 使得 u a nu 应用于 后缀的前缀强>n:

   <a n
┌─────────────┬───────┬───┐
│┌─┬───┬─────┐│┌─┬───┐│┌─┐│
││0│0 1│0 1 2│││1│1 2│││2││
│└─┴───┴─────┘│└─┴───┘│└─┘│
└─────────────┴───────┴───┘

我已经为动词写了一个产生理想结果的句子:

   ([: <@]\&.> <@]\.) n
┌─────────────┬───────┬───┐
│┌─┬───┬─────┐│┌─┬───┐│┌─┐│
││0│0 1│0 1 2│││1│1 2│││2││
│└─┴───┴─────┘│└─┴───┘│└─┘│
└─────────────┴───────┴───┘

但我不知道如何制作副词以将其与任何动词一起使用。

我看到了解决这个问题的另一种方法:

   a =: \\.
   <a n
┌─┬───┬─────┐
│0│0 1│0 1 2│
├─┼───┼─────┤
│1│1 2│     │
├─┼───┼─────┤
│2│   │     │
└─┴───┴─────┘
   ([: < (a: ~: ]) # ])"1(<a n)
┌─────────────┬───────┬───┐
│┌─┬───┬─────┐│┌─┬───┐│┌─┐│
││0│0 1│0 1 2│││1│1 2│││2││
│└─┴───┴─────┘│└─┴───┘│└─┘│
└─────────────┴───────┴───┘

但它也是专门为编写的,可能效率不高。我还是不知道怎么做副词。

如果能得到如下结果就更好了:

   <a n
┌─┬───┬─────┬─┬───┬─┐
│0│0 1│0 1 2│1│1 2│2│
└─┴───┴─────┴─┴───┴─┘

例如:

   (10&#.)a n
0 1 12 1 12 2

请帮帮我。提前致谢。

【问题讨论】:

    标签: list prefix j


    【解决方案1】:

    (几乎)已经有一个副词。这是您要应用于级别0Spread (S:)

    例如

    <\ each <\. n
    ┌─────────────┬───────┬───┐
    │┌─┬───┬─────┐│┌─┬───┐│┌─┐│
    ││0│0 1│0 1 2│││1│1 2│││2││
    │└─┴───┴─────┘│└─┴───┘│└─┘│
    └─────────────┴───────┴───┘
    < S:0 <\ each <\. n
    ┌─┬───┬─────┬─┬───┬─┐
    │0│0 1│0 1 2│1│1 2│2│
    └─┴───┴─────┴─┴───┴─┘
    
    +/ S:0 <\ each <\. n
    0 1 3 1 3 2
    
    (10&#.)  S:0 <\ each <\. n
    0 1 12 1 12 2
    

    换句话说,您的a 可能是这样的:

    a =: 1 :'u S: 0 ([: <\&.><\.) y'
    

    (编辑) 或者,正如@Tikkanz 在下面的 cmets 中所说,您可以避免使用 S: 并使用更高效的:

    a=: 1 : ';@([: u\&.> <@]\.)'
    

    a=: 1 : ';@(<@(u\)\.)'
    

    【讨论】:

    • 谢谢你,Eelvex。我不知道 S:原始。
    • 不使用S:的替代方案是:a=: 1 : ';@([: u\&amp;.&gt; &lt;@]\.)'
    • 或更简单的a=: 1 : ';@(&lt;@(u\)\.)'
    • 谢谢你,@Tikkanz!效率更高:%/ (6!:2 ,. 7!:2) '(10&amp;#.) S:0 ([:&lt;\&amp;.&gt;&lt;\.) i.100' ,: ';@(&lt;@((10&amp;#.)\)\.) i.100'1.55052 170.946
    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2016-11-04
    • 2021-10-30
    • 2022-07-27
    • 1970-01-01
    相关资源
    最近更新 更多