我有一些逻辑用于对数据进行排序,但根据用户输入,数据的分组方式不同.现在我有五个不同的功能,包含相同的逻辑但不同的分组.有没有办法组合这些功能,并动态设置一个正确分组的值.在功能中,这些任务正在发生
例如,有时我只是通过以下方式存储计算:
$calcs[$meter['UnitType']['name']] = ...
Run Code Online (Sandbox Code Playgroud)
但其他时候需要更具体的分组:
$calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] =...
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有时它会存储在多个数据库阵列中,有时则不存储.我一直在尝试使用eval()但没有成功(不确定这是正确的方法).将数据存储在临时变量中并不会真正节省太多,因为有许多嵌套循环和if语句因此必须在多个位置重复数组.
编辑
我希望以下示例更好地解释我的问题.这显然是一个愚蠢的版本:
if(){
$calcs[$meter['UnitType']['name']] = $data;
} else {
while () {
$calcs[$meter['UnitType']['name']] = $data;
}
}
Run Code Online (Sandbox Code Playgroud)
现在可以使用相同的逻辑,但是将它存储在不同的键中:
if(){
$calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] = $data;
} else {
while () {
$calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] = $data;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法抽象$ calc []数组中的键,以便我可以有一个函数而不是具有不同数组键的多个函数?
我正在尝试使用Rails 3设置OAuth提供程序服务器,但似乎无法找到任何可以实现此目的的内容.
当涉及到oauth时,我也是一个新手,所以请原谅我的无知.
在设置oauth服务器时,我是否需要在agree2.com这样的地方拥有oauth帐户?或者我可以使用自己的服务器吗?
我按照这里的最佳答案示例到T,用Pyc.py进行编译.
我得到一个例外 pyScope = pyEngine.ImportModule("MyClass");
no module named MyClass
Run Code Online (Sandbox Code Playgroud)
我相信这是一个错误,因为有时使用Pyc.py进行重新编译会生成一个dll ImportModule识别,但有时它不会.
结论:如下面通过digEmAll所述,以这种方式使用Pyc.py编译模块会产生随机结果.而是手动调用clr.CompileModules.
这些类有一些类似的方法,但似乎工作略有不同.
它们之间的区别是什么?我应该何时使用它们?
最近我查看了一些C代码,发现了类似于以下内容:
struct foo {
int some_innocent_variables;
double some_big_array[VERY_LARGE_NUMBER];
}
Run Code Online (Sandbox Code Playgroud)
几乎完全是C中的一个新手,我几乎完全是一个新手,我是否正确地认为这个结构因使用数组成员而在使用空间方面效率极低?将此结构作为参数传递给函数时会发生什么?它是否完整地复制到堆栈中,包括完整的数组?
在大多数情况下,double *some_pointer改为更好吗?
我正在尝试找到一个不断维护的良好验证库(电话,电子邮件等)的列表.我使用PHP并且对框架中的库开放,但是如果你从框架中推荐一个库,请说明它是否允许你在没有框架的情况下使用它?
像你们这些人一样,我经常用几种语言写作.当涉及到规划的东西,(甚至回答一些SO问题)时,我实际上是用一些未指明的混合语言来思考和写作.虽然我曾经被教导要做到这一点使用流程图或UML类图,现在回想起来,我觉得"我的"伪语言具有的成分C,Python,Java,bash,Matlab,perl,Basic.我似乎无意识地选择了最适合表达概念/算法的成语.
常见的习语可能包括范围类似Java的括号,pythonic列表推导或缩进,继承C++,C#-style lambdas,类似matlab的切片和矩阵运算.
我注意到,人们很容易认识到我正在试图做什么,并且人们很容易智能地翻译成其他语言.当然,这一步涉及考虑角落案例,以及每种语言特殊行为的时刻.
但在现实中,大多数这种语言的交流关键字和库函数通常表现相同的一个子集-数学函数,类型名称,while/ for/ if等显然,我不得不像排除口齿不清,APL衍生许多"奇"的语言,但...
所以我的问题是,
是否已存在识别文本文件编程语言的代码?(当然,这必须是比eclipse的语法树更简单的任务,或者比谷歌翻译的语言猜测功能,对吧?)事实上,SO语法荧光笔是否做了这样的事情?
从理论上讲,创建单个解释器或编译器是否可以识别您在任何时刻使用的语言习惯用语(可能是"智能地")执行或转换为可运行的表单.并标记我的语法在行为方面不明确的极端情况.我看到的直接困难包括:知道何时在依赖于缩进和依赖于支撑的模式之间切换,识别有趣的运算符(如*pointervs *kwargs)以及知道何时使用列表与类似数组的表示.
是否存在可以管理这种灵活口译的语言或口译?
我是否错过了明显的障碍?
谢谢大家的回答和想法.我打算写一个基于约束的启发式翻译可能,可能,"解决"代码的本意并转化为真正的Python代码.它将注意到来自许多常用语言的关键词,并将使用句法线索来消除人类意图的歧义 - 如间距,括号,可选的帮助词,let或者then,变量以前使用的上下文等,以及常见约定的知识(如资本名称,我迭代,和变量/方法例如包含单词的命名的一些简单的有限的了解get,asynchronous,count,last,previous,my等等).在真正的伪代码中,变量命名与操作本身一样丰富!
使用这些线索,它将创建关于每个操作的实现的假设(如基于0/1的索引,何时应该捕获或忽略异常,什么变量应该是const/global/local,从哪里开始和结束执行,以及什么位应该在单独的线程中,注意数字单位匹配/需要转换时).每个假设都具有给定的确定性 - 程序将列出每个语句的假设,因为它哄骗你写入可执行文件的内容!
对于每个假设,如果您不喜欢初始解释,您可以"澄清"您的代码.图书馆问题非常有趣.我的翻译器就像一些IDE一样,将读取所有模块中可用的所有定义,使用一些关于哪些类/方法最常使用和在什么情况下使用的统计数据,并且只是猜测!(给程序添加一个注释,说明为什么会这样猜测......)我想它应该尝试执行所有操作,并警告你不喜欢它.它应该允许任何内容,但是如果你是模棱两可的,请让你知道几种替代解释是什么.
它肯定还需要一段时间才能管理像@Albin Sunnanbo这样不寻常的ImportantCustomer例子.但是我会告诉你我是怎么过的!
language-agnostic algorithm interpreter artificial-intelligence pseudocode
我正在尝试迭代以这种特定方式构造的2D数组.这是否是构造数组的好方法是另一个问题 - 我仍然需要能够迭代它(如果可能的话).
@row1 = ( "Current Scan", "Last Month");
@row2 = ( "240", "0");
@row3 = ( "226", "209");
@row4 = ( "215", "207");
@array = (\@row1, \@row2, \@row3, \@row4);
print Dumper(@array);
printarray(@array);
Run Code Online (Sandbox Code Playgroud)
Dumper给我以下输出:
$VAR1 = [
'Current Scan',
'Last Month'
];
$VAR2 = [
'240',
'0'
];
$VAR3 = [
'226',
'209'
];
$VAR4 = [
'215',
'207'
];
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几个for循环但没有成功.每个只打印第一行($ VAR1)并退出.这是我最近的尝试:
sub printarray {
@array = shift;
$rowi = 0;
foreach my $row (@array) {
for (my $coli …Run Code Online (Sandbox Code Playgroud) 有人可以告诉我vector和deque之间有什么区别.我知道在C++中实现vector而不是deque.地图和集合的界面看起来与我类似.两者之间有什么区别,何时使用一个.
我有以下文件:a.h,a.c,b1.c,b2.c和在B1和B2我有相同的一些宏定义.
如果我移动它们是否可以,a.h或者将它们留在使用它们的文件中更常见?在C中以哪种方式进行此操作?
arrays ×3
c ×2
php ×2
algorithm ×1
c# ×1
c++ ×1
email ×1
eval ×1
icriteria ×1
input ×1
interpreter ×1
ironpython ×1
nhibernate ×1
oauth ×1
oauth-ruby ×1
perl ×1
pseudocode ×1
refactoring ×1
ruby ×1
stl ×1
struct ×1
validation ×1