问题标签 [flexibility]
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.
haskell - Haskell 98下如何编写多态函数
作为一个训练练习,我编写了一个多态函数来确定给定数字是单个数字还是所有数字列表的素数:
为了让它工作,我不得不使用 FlexibleInstances,我对此很满意,但很好奇。
据我了解,在严格的 Haskell 98 下,我需要在实例定义中添加一个类型描述符T:
但我不知道用什么代替“T”,我什至不知道这在 Haskell 98 下是否可行。
所以:
- 在 Haskell 98 下这甚至可能吗?
- 如果是这样,T 会使用什么?
blazor - Inserting abstract Blazor component, open-closed principle
I had no idea how to phrase a good title here.
I'm basically trying to use the open-closed principle, so I don't need to specify precisely which component to render, but just use an interface/abstract class instead.
I'm making a node editor. I have a List of NodeModelBases, to hold the data for each node, and for each of these, I want to insert a corresponding NodeComponent to be rendered. Currently:
The idea is that NodeModelBase is inherited by specific types of Nodes, so I could have a "StartNode : NodeModelBase", "DelayNode : NodeModelBase" , etc., i.e. sub-classes of NodeModelBase. I may potentially have 20 or more sub-classes, and I would like to not update the above for-loop for each new added node type.
I then want to render their respective component. Currently, I have a Blazor component called NodeBase, which I just insert, because I only have one node type so far. But I would like to be able to do something like: node.GetHTML() and insert this instead.
I could have a long if-else to check which sub-class of NodeModelBase I have, and then insert the correct component, something like:
But that's pretty inconvenient.
I know this can be done programmatically by using the RenderTreeBuilder, and making calls like builder.OpenElement(...), or builder.AddAttribute(...), so the result would look something like:
But being a html/blazor novice, I would much prefer to be able to define the html/razor syntax normally, and somehow return/insert that.
So, any suggestions on how to be flexible about which component is inserted?
persistence - 灵活性持久性在 MDE 中意味着什么?
我遇到了一些讨论模型驱动工程中的灵活性持久性的文章,但我一直无法找到描述它真正含义的东西。我最初的想法是,它允许您保存模型,即使它们可能有错误或不完整。这是正确的,还是有其他定义?
谢谢!
r - 如何在不显式调用名称的情况下动态访问 r 矩阵行名称?
几周前,我问了一个关于如何根据已知标准从矩阵中提取某些行的问题(如何将具有相似名称的行提取到子矩阵中?)。当时收到的答案对应用程序非常有效,但我发现自己需要动态采样行名称并构建后续矩阵的功能,而无需明确确定要提取哪个名称。
例如,我在上一个问题中建立的模型有 6 行“族”:Intercept、actsBreaks、tBreaks 等,它们可以替换为 15+ 个其他潜在的预测变量。手动更改行构造部分很麻烦,我需要避免。
我搞砸了readline(prompt=...)
让用户定义他们希望使用的预测变量系列,但被告知这是一个用户需要能够在一夜之间循环并离开的程序,所以那里没有运气。是否可以修改此代码
从矩阵行名称向量中采样而不具体指定使用哪个“系列”?还是我应该使用其他东西?Caret 包看起来很有前途,但我并不精通 r 语法,而且我不确定使用声称主要用于机器学习的东西是否具有此功能。这个问题的答案(Subsetting a matrix by row.names)利用矩阵索引可能有潜力,但是我们不得不再次手动更改子矩阵代码。
TlDr:我需要一种方法来按矩阵中的名称过滤行,而无需输入
r - 从 R 中的函数中调用 nls,传递具有任意数量参数的用户指定函数
我有一个函数在stats::nls()
内部使用来获取非线性模型的参数估计。但是,我需要函数估计的参数数量是可变的,由用户确定。我怎样才能做到这一点?此函数位于 R 包中,因此尽可能灵活很重要。
例如,这里有一些虚拟数据和用户可能使用的两个可能的功能。
目标是有一个名为 的函数fit_nls()
,它至少需要 3 个参数,x
,d
和FUN
。FUN
是一个以d
第一个参数为参数的函数,但可以有任意数量的附加参数,并输出 的一些转换d
:
我可以使函数对固定数量的参数起作用:
但无法弄清楚如何使用可变数量的参数。我尝试过的一件事是使用传递参数列表do.call()
,但这不起作用:
这并不奇怪,因为它相当于在函数中设置值:
所以,我尝试传递一个符号作为替代,但没有成功:
我对任何类型的解决方案持开放态度。如果有人能给我任何建议或指出正确的方向,我将不胜感激。
scrum - 小型开发团队支持多种产品
我管理一个由七名开发人员组成的团队,拥有十多种产品和 20 种产品之间的集成。一年前我接手了这个团队,我们一直在努力在整个团队中传播知识。一年前,每个开发人员基本上都是多个产品和集成的孤岛,这让我们非常脆弱。这已经有了很大的改善,我们今天的处境要好得多。这已通过共同开发和结对编程有机地和临时地处理。
最近,一些开发人员提出了一种更结构化的方法来确保我们所有的产品和集成在团队中都是众所周知的。他们希望每个开发人员都对可能被要求对其进行更改的系统承担特定范围的责任。因此,系统 X 中的开发只能由开发人员 x、y 或 z 完成,而不能由开发人员 a、b 或 c 完成。
首先,我认为这是一个好主意——每个人都不应该知道一切。但是仔细考虑一下,我也可以看到这种方法的一些缺点。计划冲刺并确保在这些限制下平均分配工作变得非常困难。我们可能会在开发人员在冲刺结束时无事可做,而其他人负担过重的情况下结束。这感觉不像是一个团队为冲刺负责。此外,我们可能会被迫在 sprint 中进行价值较低的工作,以确保每个人都有工作。
关于拥有一个没有太多漏洞的灵活团队,您是否可以分享任何最佳实践或经验?例如,如果有确切的语言和框架、通用的代码实践、有良好文档记录的代码、经过良好测试的代码和良好的审查流程,那么要求开发人员在许多产品中工作是否现实?还是我们必须将某些开发人员分配给某些产品?
javascript - 高级 JSON 编程?
从我过去看到的情况来看,有一种方法可以将代码插入 JSON 文件。教我这个的人已经不在了。我目前正在构建一个如下所示的说明性 JSON 文件(烹饪示例):
我的问题是,有没有一种聪明的方法可以在不进行字符串替换的情况下访问“+- 30”?
我会知道我在 (Date()) 什么时候取出蛋糕,比如说下午 1 点,所以我应该在下午 1:30 到 2:30 之间开始涂抹糖霜
Javascript 提供了这种方法: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
但我不想硬编码 [+- 30 分钟,+- 45 分钟,+- 2 小时,...等]
除了一些基本的教学视频之外,我似乎找不到任何东西,所以这就是我在这里问这个问题的原因。