问题标签 [tacit-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lisp - Lisp 中的隐式编程
是否可以在 Lisp 中使用/实现默认编程(也称为无点编程)?如果答案是肯定的,它已经完成了吗?
arrays - 如何在 J 的函数中使用两次参数?
我想为学习 J 编写素数函数。到目前为止,我想出了这个:
它工作得很好,除了我应该将数字存储在y
变量中。
我如何编写一个可以使用参数的函数?即f 13
->1
function - Haskell 中的隐性函数组合
假设我有一个mean
这样定义的函数:
但我希望它以某种默认形式出现,如下所示:
是否有一种内置的 Haskell 方法可以按照这些方式做一些事情,而不必构建我自己的tacit
函数(类似这样):
在这种形式中,函数如下所示:
但感觉可能有一种方法可以避免使用诸如此类的显式函数。我是在想; 有没有内置于 Haskell 中的方法来做到这一点?
for-loop - J 编程初学者循环
有人可以解释一下 J 中的控制结构(特别是 For 和 While 循环)吗?假设我有 a=:1 和 b=:10,我想使用 For/While 循环将 '1' 添加到 'a' 直到 a < b。
所以,通常它会像(在其他语言中)
或者
请帮忙。我知道这很简单,但我不知道如何在循环中执行此操作。
另外,我读到了一些叫做“explicits”的东西。例如:
3 和 0 代表什么?
j - 是J联想的火车
在编程语言 J 中,一系列动词总是关联的吗?如果是,有证据吗?
j - J中sum(1/(1+x)^y)的一个好的默认形式是什么
作为初学者练习,我尝试sum(1/(1+0.03)^n for n = 1 to 30
使用J 计算以下总和+/%(1 + 0.03)^ >:i.30
。我怎样才能把它写成一个简单的默认形式?我所尝试的一切都比上面的显式形式丑得多>:@[ (+/&:%)@:^ >:&i.@]
j - 在 J 中查找可被 x 和 y 整除的整数
编写我的第一个 J 程序来求解欧拉问题 #1(找到所有低于 1000 且是 3 或 5 的倍数的自然数之和),我得到了以下解决方案:
但是,我很确定有一种巧妙的方法可以做到这一点,而无需使用变量。我尝试使用 fork 重写它,但我不知道如何将 () 之间的表达式替换为应用于3 5
and的动词i.1000
。有人可以帮助我吗?
loops - 将列表中的五个连续数字相乘的默认函数:J,j701
我正在研究 Project Euler,我正在处理问题 8,我正在尝试一个简单的蛮力:将数字的每个连续 5 位相乘,用结果列出一个列表,然后找到更高的。
这是我目前正在尝试用 J 编写的代码:
如何将 takeFive 用于 N 的所有索引?我试过:
但它不起作用,我不知道为什么。谢谢你们。
dice - K N面骰子的不同掷数
我需要计算滚动 K 骰子可能产生的不同可能掷骰的数量,每个骰子都有 N 面。我对 roll 的定义是 {1, 1, 2, 3, 4} 等价于 {1, 4, 3, 1, 2} (顺序无关紧要),但不等于 {1, 1, 3 , 3, 3} (它们不是同一组结果)。例如:Yahtzee 是一个涉及掷 5 个 6 面骰子的游戏——至少最初是在重新掷骰之前——因此不同掷骰的数量为 252。当 N = K 的情况导致OEIS 序列 A001700。
如果我没记错的话,这是由“(N-1 + K)选择(N-1)”给出的,或者等效地,“(N + K-1)选择K”,它K ! <: K + N
在J中。这导致我有四种不同的默认表示:
d =: ([ ! [: <: +)
. 简单的火车,没有括号,但我需要使用帽子。d =: ([ (! <:) +)
. 没有上限,但将内钩括起来。d =: (] !&<: +)
. 只有三个动词训练,但使用 Compose。它使用(<: N) ! <: K + N
版本。d =: (([ ! +) * ] % +)
. 这个将“C(N+K-1, K)”重写为“C(N+K, K) * N / (N+K)”。它更丑陋,但在 0 面 0 骰子的情况下,它给出的是 0 而不是 1,这可以说是一个不那么荒谬的答案。
其中哪一个是最“J-ish”的解决方案?
此外,所有这些的一元案例是没有意义的:1 0 0 0 0 ...
对于前三个和0 1 1 1 ...
第四个。这个动词的一个更合乎逻辑的单子是反身,由 给出d~
,那么将这个动词定义为 会更好(d~ : d)
吗?
haskell - 什么是 (f .) 。g 在 Haskell 中是什么意思?
我已经看到根据模式定义了很多功能(f .) . g
。例如:
这是什么意思?