我知道这个问题之前会被问到,但我认为这是2 - 3年前,事情发生了变化.现在没有任何代码示例正在运行.我在Java 1.6中尝试以下代码:
Properties props = new Properties();
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.debug", "true");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("uname","password");
}
});
session.setDebug(true);
Transport transport = session.getTransport();
InternetAddress addressFrom = new InternetAddress("abc@gmail.com");
MimeMessage message = new MimeMessage(session);
message.setSender(addressFrom);
for (int j = 0; j < 20; j++) {
message.setSubject("Testing javamail plain"+Math.random());
message.setContent("This is a test", "text/plain");
String sendTo [] = …Run Code Online (Sandbox Code Playgroud) 我想检查用户提交的URL与正则表达式,如果url不以http://或https://开头,那么我想先将http://添加到开头然后保存它.
我有一些代码,但我不知道如何将它合并到我的应用程序中.这段代码会起作用吗?并且我会在允许用户创建链接之前将其合并到我的应用程序中以检查URL.
我已经附上了下面的代码和文件.谢谢
def add_http(link)
if (link =~ /http[s]?:\/\//)
link
else
"http://#{link}"
end
end
Run Code Online (Sandbox Code Playgroud)
控制器https://gist.github.com/1279576
ruby regex model-view-controller ruby-on-rails ruby-on-rails-3
我正在编写一个函数来获取系统的路径环境变量,分割每个路径,然后在其他一些额外的字符上连接到每个路径的末尾.
一切正常,直到我使用该strcat()功能(见下面的代码).
char* prependPath( char* exeName )
{
char* path = getenv("PATH");
char* pathDeepCopy = (char *)malloc(strlen(path) + 1);
char* token[80];
int j, i=0; // used to iterate through array
strcpy(pathDeepCopy, path);
//parse and split
token[0] = strtok(pathDeepCopy, ":"); //get pointer to first token found and store in 0
//place in array
while(token[i]!= NULL) { //ensure a pointer was found
i++;
token[i] = strtok(NULL, ":"); //continue to tokenize the string
}
for(j = 0; j <= i-1; j++) …Run Code Online (Sandbox Code Playgroud) 如何在Java中将给定String的UTF-8编码的字节的MD5哈希的前8个字节表示为long?
我正在将一些Scheme代码转换为Common Lisp.我不知道Scheme.我知道一点Common Lisp.
我想我理解这个Scheme代码:
(define (make-cell)
(let ((local-name '()))
(define (local-add-name name)
(set! local-name name))
(define (me message)
(cond ((eq? message 'add-name) local-add-name)
((eq? message 'name) local-name)))
me))
Run Code Online (Sandbox Code Playgroud)
使用该功能,我可以制作两个单元格:
(define a (make-cell))
(define b (make-cell))
Run Code Online (Sandbox Code Playgroud)
然后我可以在每个单元格中存储一个名称:
((a 'add-name) 'a)
((b 'add-name) 'b)
Run Code Online (Sandbox Code Playgroud)
然后我可以检索存储在每个单元格中的名称:
(a 'name)
Run Code Online (Sandbox Code Playgroud)
=> a
(b 'name)
Run Code Online (Sandbox Code Playgroud)
=> b
a-cell在其中存储了名称"a".b-cell在其中存储了名称"b".我可以查询a-cell的名称,然后返回"a".我可以查询b-cell的名称,然后返回"b".
到目前为止,我是否正确理解?
现在我想使用Common Lisp实现相同的功能.这是我创建的make-cell函数:
(defun make-cell ()
(let ((local-name nil))
(defun local-add-name (name)
(setf local-name name))
(defun me (message)
(cond ((eq message 'add-name) #'local-add-name)
((eq message 'name) local-name)))))
Run Code Online (Sandbox Code Playgroud)
显然这是错误的,因为它没有给出所需的行为,正如我接下来所示. …
我有一个页面,我必须根据用户选择动态加载控件.让我们说我有这样的事情:
public static readonly Dictionary<string, string> DynamicControls = new Dictionary<string, string>
{
{ "UserCtrl1", "~/Controls/UserCtrl1.ascx" },
{ "UserCtrl2", "~/Controls/UserCtrl2.ascx" },
{ "UserCtrl3", "~/Controls/UserCtrl3.ascx" },
{ "UserCtrl4", "~/Controls/UserCtrl4.ascx"}
};
Run Code Online (Sandbox Code Playgroud)
现在让我们说,而不是在加载控件的页面上,代码是这样的:
protected void Page_Load(object sender, EventArgs e)
{
SomePanel.Controls.Add(GetControl());
}
private Control GetControl()
{
string dynamicCtrl = CurrentItem.DynamicControl;
string path = SomeClass.DynamicControls[dynamicCtrl];
Control ctrl = null;
//TODO: find a better way to load the controls
switch (dynamicCtrl)
{
case "UserCtrl1":
{
ctrl = (UserCtrl1)LoadControl(path);
}
break;
case "UserCtrl2":
{
ctrl = (UserCtrl2)LoadControl(path); …Run Code Online (Sandbox Code Playgroud) 我有一堆通用接口和类
public interface IElement {
// omited
}
class Element implements IElement {
// omited
}
public interface IElementList<E extends IElement> extends Iterable {
public Iterator<E> iterator();
}
class ElementList implements IElementList<Element> {
public Iterator<Element> iterator() {
// omited
}
}
public interface IElementListGroup<E extends IElementList<? extends IElement>> {
public E getChosenElementList();
}
class ElementListGroup implements IElementListGroup<ElementList> {
public ElementList getChosenElementList() {
// omited
}
}
Run Code Online (Sandbox Code Playgroud)
然后是一个简单的代码
ElementListGroup group;
for(Element e : group.getChosenElementList())
{
// omited
}
Run Code Online (Sandbox Code Playgroud)
而对于关键字throwe的行"无法从元素类型Object转换为Element"编译器错误.
提前致谢.
必须有一种更快的方法来做到这一点.
这里有很多东西,但打开包装相当简单.
这是相关的python代码(来自scipy import*)
for i in arange(len(wav)):
result[i] = sum(laser_flux * exp(-(wav[i] - laser_wav)**2) )
Run Code Online (Sandbox Code Playgroud)
有一堆数组.
是的,在指数范围内,我正在逐个(逐个元素)平方标量值和laser_wav数组之间的差异.
一切都按预期工作(包括缓慢)任何帮助,你可以给我消除这个for循环将非常感谢!
package pkg_1;
public class ExpOnWaitMethod extends Thread {
static Double x = new Double(20);
public static void main(String[] args) {
ExpOnWaitMethod T1 = new ExpOnWaitMethod();
ExpOnWaitMethod T2 = new ExpOnWaitMethod();
T1.start();
T2.start();
}
public void run() {
Mag mag = new Mag();
synchronized (x) {
try {
for (int i = 1; i < 10; i++) {
mag.nop(Thread.currentThread());
x = i * 2.0;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Mag {
char ccc = …Run Code Online (Sandbox Code Playgroud) java ×4
asp.net ×1
byte ×1
c ×1
c# ×1
common-lisp ×1
concurrency ×1
for-loop ×1
ntfs ×1
python ×1
refactoring ×1
regex ×1
ruby ×1
scheme ×1
string ×1