Tag: dynamic编程

当界面和具体在不同的项目中时,“不能实现接口成员”错误

这编译: public interface IMyInterface { event Action<dynamic> OnSomeEvent; } class MyInterface : IMyInterface { public event Action<dynamic> OnSomeEvent; } 但是当我把接口和实现分开到不同的项目时,我得到: 访问器'TestProject2.MyInterface.OnSomeEvent.remove'不能为types'TestProject2.MyInterface'实现接口成员'InterfaceNamespace.IMyInterface.remove_OnSomeEvent(System.Action)'。 使用明确的接口实现。 这只发生在一个dynamic参数…

使用R / Shiny创builddynamic数量的input元素

我正在写一个Shiny的应用程序,在我的公司可视化保险福利计划。 这是我想要发生的事情: 我将有一个selectInput或sliderInput ,用户将select他们的医疗计划中的个人数量 将出现匹配数量的双面滑块(每个成员一个) 然后,他们可以input他们对每个成员的最佳/最坏情况医疗费用的估计 我有代码,将采取这些估计和创build并行的情节说明三个计划产品的预测成本,所以他们可以决定哪一个是最便宜的根据他们的估计 这是我目前的ui.R文件,硬编码input,模拟一个四口之家: shinyUI(pageWithSidebar( headerPanel("Side by side comparison"), sidebarPanel( selectInput(inputId = "class", label = "Choose plan type:", list("Employee only" = "emp", "Employee and spouse" = "emp_spouse", "Employee and child" = "emp_child", "Employee and family" = "emp_fam")), sliderInput(inputId = "ind1", label = "Individual 1", min = 0, max = 20000, value […]

为什么背包问题是伪多项式?

我知道Knapsack是NP-complete,DP可以解决。 他们说DP解决scheme是pseudo-polynomial ,因为它是“input长度”(即input编码所需的位数)的指数。 不幸的是我没有得到它。 有人可以慢慢地向我解释这个pseudo-polynomial东西吗?

dynamicLINQ中的WHERE子句

什么是最好的方式来组装dynamic的WHERE子句的LINQ语句? 我有一个窗体上的几十个checkbox,并将它们传回给我的LINQ查询:Dictionary <string,List <string >>(Dictionary <fieldName,List <values >>)。 public IOrderedQueryable<ProductDetail> GetProductList(string productGroupName, string productTypeName, Dictionary<string,List<string>> filterDictionary) { var q = from c in db.ProductDetail where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName // insert dynamic filter here orderby c.ProductTypeName select c; return q; }

如何获得我想要在Python中的任何大小的空数组?

我基本上想要在C中相当于这个python int a[x]; 但在Python中,我声明了一个数组 a = [] 但问题是我想分配随机插槽值 a[4] = 1 但我不能用python来做,因为数组是空的

为什么在编译x86_64上的静态库时,gcc不会隐式提供-fPIC标志

编译共享对象时遇到了很多问题,这些对象与静态库静态链接。 这个问题只出现在x84_64平台上。 当在x86_32上做同样的编译工作时,我没有任何问题。 也许这是一个操作系统特定的GCCconfiguration的事情,但我的研究表明,它的GCC如何在x86_64平台上工作。 无论如何,我在Ubuntu 10.04 x86_64上使用gcc 4.4.3。 问题是如何解决的?确保所有的静态库依赖关系都是用-fPIC编译的。 问题1: -fpic和-fPIC(显然-fPIC在x86上生成更多指令)有什么区别? 为什么后面的types在x86_64上下文中更相关? 问题2:我的假设是,当链接到静态代码时,您在链接时将函数硬连接到二进制文件,为什么它需要“位置独立代码”机制提供的间接级别? 问题3:现在,如果x86不需要-fpic / -fPIC来将共享对象与静态归档链接起来,为什么在x86_64中需要它? 问题4:即使需要,为什么不提供隐含的? 我认为改变应该是一个很大的禁忌

处理dynamic时引发大量的Microsoft.CSharp.RuntimeBinderExceptions

我在C#中有一个标准的“dynamic词典”types的类 – class Bucket : DynamicObject { readonly Dictionary<string, object> m_dict = new Dictionary<string, object>(); public override bool TrySetMember(SetMemberBinder binder, object value) { m_dict[binder.Name] = value; return true; } public override bool TryGetMember(GetMemberBinder binder, out object result) { return m_dict.TryGetValue(binder.Name, out result); } } 现在我称之为: static void Main(string[] args) { dynamic d = new Bucket(); […]

为什么我不能这样做:dynamic x = new ExpandoObject {Foo = 12,Bar =“twelve”}

我做错了什么,或者是下面的代码真的不可能? dynamic x = new ExpandoObject { Foo = 12, Bar = "twelve" }; 如果这是不可能的,是否有另一种单行的方式来实例化具有两个属性的ExpandoObject? 为什么C#团队会select禁用与常规对象,匿名对象和枚举/列表相同的初始化语法? 更新 我问这个问题是因为我试图向Pearl发烧友展示C#的新dynamic特性,但后来因为无法做到我认为是ExpandoObject的逻辑实例而停滞不前。 感谢Hans Passant的回答,我意识到ExpandoObject是这个工作的错误工具。 我真正的目标是使用C#的dynamic特性从方法返回两个命名值。 正如汉斯所指出的那样, dynamic关键字是完美的。 我不需要一个具有所有开销的ExpandoObject来执行此操作。 所以,如果你想从一个方法中返回一对命名值,并且你不关心types安全,Intellisense,重构或者性能,这个工作方式非常好: public dynamic CreateFooBar() { return new { Foo = 42, Bar = "Hello" }; } 用法: dynamic fooBar = CreateFooBar(); var foo = fooBar.Foo; var bar = fooBar.Bar;

如何识别Python中的numpytypes?

如何可靠地确定一个对象是否具有numpytypes? 我意识到这个问题违背了鸭子打字的哲学,但是想法是确保一个函数(它使用scipy和numpy)从不返回一个numpytypes,除非它被称为一个numpytypes。 这出现在另一个问题的解决scheme中,但是我认为确定一个对象是否具有numpytypes的一般问题远离原始问题,应该将它们分开。

阶乘的数字之和

链接到原来的问题 这不是一个功课问题。 我只是以为有人可能知道这个问题的真正的解决scheme。 2004年我参加了一个编程比赛,出现了这个问题: 给定n,findn!的数字的总和。 n可以从0到10000.时间限制:1秒。 我认为每个testing集有多达100个数字。 我的解决scheme非常快但速度不够快,所以我只是让它运行一段时间。 它build立了一个预先计算的值的数组,我可以在我的代码中使用。 这是一个黑客,但它的工作。 但是有一个人用十行代码解决了这个问题,很快就会给出答案。 我相信这是某种dynamic规划,或者是数理论。 当时我们是16岁,所以不应该成为“火箭科学”。 有谁知道他可以使用什么样的algorithm? 编辑 :对不起,如果我没有明确的问题。 正如mquander所说,应该有一个聪明的解决scheme,没有bugnum,只有普通的Pascal代码,几个循环,O(n 2 )或类似的东西。 1秒不再是一个约束。 我在这里发现,如果n> 5,那么9除以阶乘的数字之和。 我们还可以find数字末尾有多less个零。 我们可以使用它吗? 好吧,来自俄罗斯的编程比赛的另一个问题。 给定1 <= N <= 2000000000,输出N! mod(N + 1)。 这有什么关系?