private static int reverse(int n, int r) {
if (n == 0) return r;
return reverse(n/10, 10*r+n%10);
}
public static int reverse(int n) {
return reverse(n, 0);
}
Run Code Online (Sandbox Code Playgroud)
我已经测试了这个并且它有效,我只是无法弄清楚如何.我知道这个数字被除以10然后再次进入循环,但似乎直到n变为小数<1,r根本就没有被使用.救命 ?
有许多电子邮件营销/交付服务提供商提供api来创建和发送电子邮件:http://postmarkapp.com,mailchimp等.
有没有人知道提供相反的Web应用程序:将新电子邮件解析为更多api可访问信息的服务?
换句话说,我正在寻找一种服务,允许我通过api访问电子邮件收件箱,最好将电子邮件内容解析为类似JSON的内容.
我有两个数据库:DBTarget和DBTest.我已经运行了几个自定义脚本DBTest,所以现在DBTest并且DBTarget应该在各方面都相同(表,表中的值,列,SPROCS等)
问题:有没有简单的方法来比较这两个数据库?
我能想到的唯一策略是:
USE [DBTarget];
SELECT * FROM tblTableN;
USE [DBTest];
SELECT * FROM tblTableN;
Run Code Online (Sandbox Code Playgroud)
我必须为每个表执行此操作,并在视觉上自己比较它们.但是,这似乎非常容易出错,并且很有可能出现人为错误.
有谁知道更好的方法?我在SQL Management Studio 2005中使用TSQL.
在我的代码中,我通过引用传递一些结构,声明它们是可变的并使用&符号.问题是,在某些地方,字段已损坏(仅在发布模式下发生),我不知道为什么.
我找到了一个修复,使用ref关键字而不是address-of运算符.我知道您可以自由地交换它们(如果是实例成员参数),但为什么它可以解决我的问题?
这是一个小代码示例,说明了这一点:
[<Struct>]
type MyStruct =
val mutable private i : int
val mutable private f : float
new (a, b) = { i = a; f = b }
member t.I = t.i
member t.F = t.f
type Printer () =
member t.Print(data : MyStruct byref) = printfn "%d %f" data.I data.F
let bar (p : Printer) =
let mutable x = new MyStruct(2, 8.0)
p.Print(&x)
let foo (p : Printer) =
let mutable y = …Run Code Online (Sandbox Code Playgroud) 很多人说我应该创建一个友谊表(userid , friendid).
我的问题是:
每个友谊都不会有双重记录吗? 喜欢:
12是5
+
5的朋友是12的朋友
有办法防止这种情况吗?
| 或者 |
我应该忽略它吗?
我正在编写一个存储大量媒体文件的Android应用程序.它们不是混淆用户通知或其他媒体目录的类型(并且太多),但它们也必须是用户可更新的,因此我不能将它们放在资源中.我可以使用getExternalFilesDir来获取SD卡上的路径,但是如果应用程序本身安装在SD卡上,我只想这样做.如果应用程序是在内部安装的,我想将媒体放在内部存储器中.
那么如何判断我的应用程序是在内部还是外部存储器中运行?
在处理大量图片时(偶然,不是并行),我偶然发现了OutOfMemory-Exception.我在一些代码中重现了这样的行为,如下所示:
class ImageHolder
{
public Image Image;
~ImageHolder()
{
Image.Dispose();
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 1000; i++)
{
ImageHolder h = new ImageHolder() { Image = new Bitmap(1000, 1000) };
}
}
}
Run Code Online (Sandbox Code Playgroud)
内存使用率上升和上升,直到我得到异常(有时是ArgumentException,有时是OutOfMemory Exception).
我的问题不是我能做些什么(我可以在ImageHolder中实现IDisposable,例如使用using-block).
我的问题是:为什么垃圾收集不会破坏我的ImageHolder类型的对象(析构函数永远不会被调用),因为它们没有引用它们而且我的内存已经用完了!
谢谢你的解释,
菲利普
我有一个关于Linux上pthread实现的问题.
假设一个进程有5个线程.现在,调度程序如何看待这些线程(或根本看不到).例如,当调用调度程序时,它是仅调度主进程,然后是主进程在每个线程之间进行调度的负担.
或者是另一种方式,调度程序将每个线程调度为一个单独的进程.
这可能是一个愚蠢的问题.我试图制作一个文字泥.我需要每个Room类包含其他Room类,当尝试移动它们或从它们获取信息时可以引用它们.但是,我不能这样做,因为我显然无法在其定义中声明一个类.那么,我该怎么做?当我声明我不能这样做时,这就是我的意思:
class Room {
public:
Room NorthRoom;
Room EastRoom;
Room SouthRoom;
Room WestRoom;
};
Run Code Online (Sandbox Code Playgroud) 我想通过阅读文件的第一部分并分析内容来确定文件的类型(通常是UTF-8).(该类型特定于我的社区,但不在我的控制之下,并且不包含在MIME/MediaType中,通常是TEXT_PLAIN).我正在使用客户端上的'org.restlet'库来分析标头
Request request = new Request(Method.HEAD, url);
Run Code Online (Sandbox Code Playgroud)
所以我知道内容长度,并且可以(如果必要和可能)估计我应该为分析下载多少字节
澄清:我无法使用MediaType.从答案1看起来我必须得到内容.因此,修订后的问题是:
"我可以使用Restlet 获取文件的一部分吗?"
答案:以下代码可以满足我的需求.我已经将@BalusC归功于这种方式.如果我错过了任何内容,请评论:
public String readFirstChunk(String urlString, int byteCount) {
String text = null;
if (urlString != null) {
org.restlet.Client restletClient = new org.restlet.Client(Protocol.HTTP);
Request request = new Request(Method.GET, urlString);
List<Range> ranges = Collections.singletonList(new Range(0, byteCount));
request.setRanges(ranges);
Response response = restletClient.handle(request);
if (Status.SUCCESS_OK.equals(response.getStatus())) {
text = processSuccessfulChunkRequest(response);
} else if (Status.SUCCESS_PARTIAL_CONTENT .equals(response.getStatus())) {
text = processSuccessfulChunkRequest(response);
} else {
System.err.println("FAILED "+response.getStatus());
}
}
return text;
}
private String processSuccessfulChunkRequest(Response …Run Code Online (Sandbox Code Playgroud)