一种方法是计算他们的gcd并检查它是否为1.
有更快的方法吗?
只是想直截了当.考虑这个Erlang代码的例子:
test() ->
receive
{From, whatever} ->
%% do something
test();
{From, somethingelse} ->
%% do something else
test();
end.
Run Code Online (Sandbox Code Playgroud)
是不是test()调用,只是一个转到?
我问这个是因为在C中我们了解到,如果你进行函数调用,返回位置总是放在堆栈上.我无法想象这里的Erlang一定是这种情况,因为这会导致堆栈溢出.
基本的.我们有两种不同的调用函数的方法:goto和gosub.goto刚刚把程序流引导到其他地方,gosub记得你来自哪里,所以你可以回来.
考虑到这种思维方式,我可以更容易地看一下erlang的递归,因为如果我只读:test()作为goto,那么根本就没有问题.
因此我的问题:不是erlang只是使用goto而不是记住堆栈上的返回地址?
编辑:
只是为了澄清我的观点:
我知道goto可以用在某些语言中来跳过这个地方.但是,只是suupose而不是someFunction()你也可以这样做:在第一个例子中返回流返回的一些函数(),在第二个例子中,流程只在someFunction中继续并且永远不会返回.
所以我们通过跳转到方法起点来限制正常的GOTO行为.
如果你这样看,那么erlang递归函数调用看起来就像一个goto.
(在我看来,goto是一个函数调用,无法返回你来自的地方).这正是erlang示例中正在发生的事情.
我选择使用领带并找到:
package Galaxy::IO::INI;
sub new {
my $invocant = shift;
my $class = ref($invocant) || $invocant;
my $self = {']' => []}; # ini section can never be ']'
tie %{$self},'INIHash';
return bless $self, $class;
}
package INIHash;
use Carp;
require Tie::Hash;
@INIHash::ISA = qw(Tie::StdHash);
sub STORE {
#$_[0]->{$_[1]} = $_[2];
push @{$_[0]->{']'}},$_[1] unless exists $_[0]->{$_[1]};
for (keys %{$_[2]}) {
next if $_ eq '=';
push @{$_[0]->{$_[1]}->{'='}},$_ unless exists $_[0]->{$_[1]}->{$_};
$_[0]->{$_[1]}->{$_}=$_[2]->{$_};
}
$_[0]->{$_[1]}->{'='};
}
Run Code Online (Sandbox Code Playgroud)
如果我删除最后一个"$ [0] - > {$ [1]} …
在我与Django的新生活的第二天,请原谅我的问题的简单性.
我有一个现有的数据库表(只读访问),我已经成功地使用网址,视图,模型和所有好东西在网页上显示内容.
我遇到的挑战是该表不包含我需要显示的所有信息.该表包含测试结果,包括columns,sampletime,samplevalue,sampleresult.我需要根据我从这些列计算的内容显示不同的数据.
我的最终目标是使用flotr将此信息显示为时间序列图.现在我很乐意将我需要的数据转储到网页上的表格中.(所以我可以看到结果数据)
我想传递给模板的是,
我可以使用def函数创建jssampletime和resultvalue.我认为我会将这些函数添加到views.py中
我想我需要做的是迭代views.py中的querySet并将结果存储在我传递给模板的字典列表中.像这样的东西(代码没有经过测试).
views.py
# views.py
# Sudo code to assit in asking the question
from django.shortcuts import render_to_response
from thing.reporter.models import Samples
def _datetime_to_js(sampletime):
#.. date conversion epoch magic
return jsd_result
def _rolling_sum(samplevalue,sampleresult):
#.. summing magic
return sum_result
def dumptable(request): # The def that is called by urls.py
object_list = Samples.objects.all()
list_for_template = []
for row in object_list:
jssampletime = _datetime_to_js(row.sampletime)
resultvalue = _rolling_sum(row.samplevalue,row.sampleresult)
list_for_template.append({'jssampletime':jssampletime,'resultvalue':resultvalue})
return …Run Code Online (Sandbox Code Playgroud) try:
something here
except:
print('the whatever error occurred.')
Run Code Online (Sandbox Code Playgroud)
如何在except:块中打印错误/异常?
jQuery对象就像数组一样,不会污染原生原型.这是如何实现的?
我知道这不仅仅是带有数字键的对象 - 所以也许只是提供相应的方法(类似的东西jQuery.prototype.indexOf = Array.prototype.indexOf).
我用Google搜索并查看了源代码,但找不到明确的答案.
老实说,我不知道他们叫什么.我一直无法在互联网上找到文章.
所以我明白你可以这样做:
public struct Pair<T, U>
{
public readonly T Value1;
public readonly U Value2;
public Pair(T fst, U snd)
{
this.Value1 = fst;
this.Value2 = snd;
}
public override String ToString()
{
return "(" + Value1 + ", " + Value2 + ")";
}
public Pair<U, T> Swap()
{
return new Pair<U, T>(Value2, Value1);
}
}
Run Code Online (Sandbox Code Playgroud)
它可能是一个class而不是一个struct.
但我很困惑,出于什么目的?某种性能提升?据我所知,您可以使用这些东西(抱歉,这是什么名称?)来保存值.但是你不会总是知道它应该拥有什么样的数据吗?例如:如果您需要存储产品,则只需制作产品类.当然,你知道它需要掌握什么样的数据,因为你正在设计代码.
所以是的,我想我的问题是:这个的目的是什么,与普通物体相比有什么优势; 您指定了更多
我想我不清楚.我也想知道:有没有充分的理由去创造像上面那样的东西?例如,一个更具体的对象,例如将产品数据存储在产品对象中,而不是一些可以接收所有内容的通用对象.
新:更多文本:另外,你怎么能处理完全通用的错误编码?当我不知道我必须处理什么样的数据类型时,我担心会进行任何类型的数学操作或实际上任何操作.如果它需要我为所有数据类型编写错误处理,那么我真的看不到这些通用参数的优点.
我在数据库中创建了一个表,它有一个System.Guid作为它的主键.已生成所需的ADO.Net实体框架模型,并已映射所需的存储过程.
我创建了一个新的控制器,并为数据的创建和编辑添加了基本的必需代码.但是,当单击链接以编辑特定记录时,会生成以下错误:
The parameters dictionary contains a null entry for parameter '[MyId]' of non-nullable type 'System.Guid' for method 'System.Web.Mvc.ActionResult Edit(System.Guid)' in '[MySite].[MyController].[SpecificController]'. To make a parameter optional its type should be either a reference type or a Nullable type.
Parameter name: parameters
编辑操作在控制器中声明如下:
public ActionResult Edit(Guid itemId)
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(MyItem itemToModify)
{
}
Run Code Online (Sandbox Code Playgroud)
添加新记录时,通过存储过程生成新Guid,列表显示正确的Guid.Url也传递正确的Guid进行检索.
我似乎无法捕捉到失败的重点,但我如何将System.Guid作为参数传递给Controller?
这可能非常简单,但它在我走下c ++路的过程中阻碍了我.我目前正在通过加速c ++阅读,我决定过度使用其中一个练习.这一切都运行良好,我的代码运行良好,直到我将它分成一个标题和单独的源文件.当我导入包含我写的一些函数的.cpp源文件时,一切运行正常.但是,当我尝试通过头文件导入函数时,它失败可怕,我得到以下错误.我正在使用Geany的gcc进行编译,直到现在它都运行良好.谢谢你的帮助.
错误:
g++ -Wall -o "quartile" "quartile.cpp" (in directory: /home/charles/Temp)
Compilation failed.
/tmp/ccJrQoI9.o: In function `main':
quartile.cpp:(.text+0xfd): undefined reference to `quartile(std::vector<double, std::allocator<double> >)'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
"stats.h":
#ifndef GUARD_stats_h
#define GUARD_stats_h
#include <vector>
std::vector<double> quartile(std::vector<double>);
#endif
Run Code Online (Sandbox Code Playgroud)
"stats.cpp":
#include <vector>
#include <algorithm>
#include "stats.h"
using std::vector; using std::sort;
double median(vector<double> vec){
//code...
}
vector<double> quartile(vector<double> vec){
//code and I also reference median from here.
}
Run Code Online (Sandbox Code Playgroud)
"quartile.cpp":
#include <iostream>
#include <vector>
#include "stats.h" //if I change this …Run Code Online (Sandbox Code Playgroud) 我的数据库中有一个包含换行符的字符串.我想将该字符串转换为数组,并为每个新行跳转数组中的一个索引位置.
如果字符串是:
我的text1
我的文本2
我的文字3
我想要的结果是:
Array
(
[0] => My text1
[1] => My text2
[2] => My text3
)
Run Code Online (Sandbox Code Playgroud) algorithm ×1
asp.net-mvc ×1
c# ×1
c++ ×1
controller ×1
django ×1
erlang ×1
exception ×1
gcc ×1
generics ×1
goto ×1
guid ×1
header-files ×1
javascript ×1
jquery ×1
line-breaks ×1
oop ×1
overloading ×1
package ×1
perl ×1
php ×1
primary-key ×1
python ×1
recursion ×1
string ×1
tie ×1