除了timer:send_after/2,有没有办法向gen_server发送handle_info消息?
我有以下界面:
public interface PluginInterface<T> where T : MyData
{
List<T> GetTableData();
}
Run Code Online (Sandbox Code Playgroud)
在一个单独的程序集中,我有一个实现此接口的类.实际上,实现此接口的所有类都在单独的程序集中.原因是将我的应用程序设计为插件主机,其中插件可以在将来完成,只要它们实现上述接口并将程序集DLL复制到相应的文件夹即可.
我的应用程序通过首先加载程序集来发现插件并执行以下操作:
List<PluginInterface<MyData>> Plugins = new List<PluginInterface<MyData>>();
string FileName = ...;//name of the DLL file that contains classes that implement the interface
Assembly Asm = Assembly.LoadFile(Filename);
foreach (Type AsmType in Asm.GetTypes())
{
//Type type = AsmType.GetInterface("PluginInterface", true); //
Type type = AsmType.GetInterface("PluginInterface<T>", true);
if (type != null)
{
PluginInterface<MyData> Plugin = (PluginInterface<MyData>)Activator.CreateInstance(AsmType);
Plugins.Add(Plugin);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是因为我通过Type type = ...来获取类型的行似乎都不起作用,因为两者似乎都是null.我觉得通用以某种方式造成了麻烦.你知道为什么吗?
也许这将是一个愚蠢的问题,但我无法处理我的问题.我在这里检查了所有的问题和答案,但我没有发现任何线索.无论如何,我想在asp.net文本框中使用bootstrap datepicker.当我在没有runat ="server"标签的输入中使用它时,我看到datepicker出现了,但是当我尝试将它与带有runat ="server"标签的文本框一起使用时,日期选择器没有显示.有关如何解决这个问题的任何想法?
<asp:TextBox ID="DateTextbox" runat="server" CssClass="m-wrap span12 date form_datetime"></asp:TextBox>
<script type="text/javascript">
$(document).ready(function () {
var dp = $("#<%=DateTextbox.ClientID%>");
dp.datepicker({
changeMonth: true,
changeYear: true,
format: "dd.mm.yyyy",
language: "tr"
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.
根据Apple的Swift书,而不是
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
var reversed = sorted(names, { s1, s2 in return s1 > s2 })
Run Code Online (Sandbox Code Playgroud)
因为闭包的主体包含一个返回Bool 的单个表达式s1> s2,所以没有歧义,因此可以省略return关键字:
reversed = sorted(names, { s1, s2 in s1 > s2 })
Run Code Online (Sandbox Code Playgroud)
嗯,这在Playground中不起作用.Playground中的错误表示不明确使用运算符'>'.
更新:同样,这个
reversed = sorted(names, { $0 > $1 })
Run Code Online (Sandbox Code Playgroud)
不起作用.同样的错误.这个
reversed = sorted(names, { return $0 > $1 })
Run Code Online (Sandbox Code Playgroud)
确实.
更新2:在看到Mike S的回答后,我确信该错误可能是由于Swift String和NSString.我试过了
let nums = [3, 5, 1, 2, 10, 9]
var dec = …Run Code Online (Sandbox Code Playgroud) 当没有一个函数是异步的时,我有以下程序可以正常工作。
interface Product {
count: number
pricePerItem: number
}
interface Tax {
tax: number
}
interface Delivery {
delivery: number
}
interface PTD { //ProductTaxDelivery
p: Product
t: number
d: number
}
function getProduct(): Either<Error, Product> {
return E.right({ count: 10, pricePerItem: 5 })
}
function getTax(p: Product): Either<Error, number> {
return E.right(p.pricePerItem * p.count * 0.085)
}
function getDelivery(p: Product): Either<Error, number> {
return E.right(p.count * 0.05)
//or maybe return E.left(Error('some error in delivery happened'))
}
function run(): Either<Error, …Run Code Online (Sandbox Code Playgroud) 假设infile是一个包含输入文件名称的变量,同样也是输出文件的outfile.如果infile以.js结尾,我想用.min.js替换,这很容易(我认为).
outfile = re.sub(r'\ b.js $','.min.js',infile)
但我的问题是,如果infile以.min.js结尾,那么我不希望替换发生.(否则,我最终将使用.min.min.js)如何使用正则表达式实现此目的?
PS:这不是功课.如果你很好奇这是为了什么:这是一个小的python脚本来对目录中的JavaScript文件进行大规模压缩.
我有一个随机顺序的一些名单的平面列表.是否可以编写单个LINQ语句以在JSON中创建树层次结构,以便根据以下示例说明的规则对它们进行分组:
输入:
"Banana", "Apple", "Cheery", "Lemon", "Orange", ...
Run Code Online (Sandbox Code Playgroud)
输出:
{
"A, B, C": "Apple, Banana, Cherry",
"D, E, F" : "",
...
"J, L, M": "Lemon",
"N, O, P": "Orange",
...
}
Run Code Online (Sandbox Code Playgroud) 我在SQL Server数据库中有一个包含10多万条记录的大表.该表包含美国所有50个州的特定类型的数据.因此,如果我从这个表创建50个视图,每个状态一个,那么从我的应用程序进行查询的性能是否会得到改善?其他建议?
这是我考虑使用DB4o的方式.当我需要查询时,我会打开文件,阅读并关闭:
using (IObjectContainer db = Db4oFactory.OpenFile(Db4oFactory.NewConfiguration(), YapFileName))
{
try
{
List<Pilot> pilots = db.Query<Pilot>().ToList<Pilot>();
}
finally
{
try { db.Close(); }
catch (Exception) { };
}
}
Run Code Online (Sandbox Code Playgroud)
稍后,当我需要插入时,那么
using (IObjectContainer db = Db4oFactory.OpenFile(Db4oFactory.NewConfiguration(), YapFileName))
{
try
{
Pilot pilot1 = new Pilot("Michael Schumacher", 100);
db.Store(pilot1);
}
finally
{
try { db.Close(); }
catch (Exception) { };
}
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我认为只要在需要时将文件打开,我就会保持文件更整洁,并且大部分时间都关闭它.但我一直得到InvalidCastException
Unable to cast object of type 'Db4objects.Db4o.Reflect.Generic.GenericObject' to type 'Pilot'
Run Code Online (Sandbox Code Playgroud)
使用DB4o的正确方法是什么?
因为我只是通过阅读书籍和自己的练习(而不是做作业)来学习Erlang,所以即使是我在标题中提到的最简单的任务,我也在努力学习.
这就是我所做的:
我使用以下代码行创建了一个名为sum.erl的文件:
-module(mysum).
-export([mysum/1]).
mysum(L) ->
mysum(L, 0).
mysum([H|T], acc) ->
mysum(T, H + acc);
mysum([], acc) ->
acc.
Run Code Online (Sandbox Code Playgroud)
然后我编译:
erl sum.erl
Run Code Online (Sandbox Code Playgroud)
这把我带到了一个壳.在那里,我键入:
1> L = [1, 3, 7].
[1, 3, 7]
2> mysum(L).
** exception error: undefined shell command mysum/1
3>sum:mysum(L).
** exception error: undefined function sum:mysum/1
Run Code Online (Sandbox Code Playgroud)
说什么 ?为什么我会收到这些错误,即使错误消息略有不同,我想也许他们的意思相差甚远?
更新:新代码
-module(sum).
-export([sum/1]).
sum(L) ->
sum(L, 0).
sum([H|T], Acc) ->
sum(T, H + Acc);
sum([], Acc) ->
Acc.
Run Code Online (Sandbox Code Playgroud)
然后
1>L = [1,2,3].
[1,2,3]
2>sum:sum(L).
** exception error: no function …Run Code Online (Sandbox Code Playgroud)