javascript

java

python

c#

node.js

reactjs

android

php

c++

ruby-on-rails

html

jquery

git

css

ios

sql

.net

c

<img src="//i.stack.imgur.com/bk9VA.png" alt="" class="sponsor-tag-img" width="18" height="16"/>android

string

r - 将data.frame列名传递给函数

我正在尝试编写一个函数来接受一个data.frame(do.call())和一个eval()。 该函数对x执行一些计算,然后返回另一个data.frame。 我坚持使用最佳实践方法将列名传递给函数。

下面的两个最小示例do.call()eval()产生期望的结果,能够使用max()作为示例在x$column上执行操作。 然而,两者都依赖于看似(至少对我而言)不优雅

  1. 请致电do.call(),并可能致电eval()
  2. 需要将列名称作为字符向量传递。

fun1 <- function(x, column){
  do.call("max", list(substitute(x[a], list(a = column))))
}

fun2 <- function(x, column){
  max(eval((substitute(x[a], list(a = column)))))
}

df <- data.frame(B = rnorm(10))
fun1(df, "B")
fun2(df, "B")

我希望能够将该功能称为do.call()。 我考虑但未尝试的其他选项:

  • do.call()作为列号的整数传递。 我认为这将避免eval().理想情况下,该功能可以接受。
  • do.call(),但是,即使它有效,我认为这仍然需要eval()
  • 利用do.call()eval(),这两者都不是我的经验。

子问题:do.call()优先于eval()吗?

trans by 2019-08-21T11:02:15Z

graph - 为什么使用Dijkstra算法如果广度优先搜索(BFS)可以更快地做同样的事情?

两者都可用于从单一来源找到最短路径。 BFS运行于O(E+V),而Dijkstra运行于O((V+E)*log(V))

此外,我已经看到Dijkstra在路由协议中使用了很多。

因此,如果BFS可以更快地做同样的事情,为什么要使用Dijkstra算法呢?

trans by 2019-08-21T10:58:25Z

如何在C ++类内存结构中创建“spacer”?

问题

在低级裸机嵌入式上下文中,我想在内存中创建一个空格,在C ++结构中并且没有任何名称,以禁止用户访问这样的内存位置。

现在,我已经通过设置一个丑陋的-Wxxx位域来实现它,它将方便地取代三个字,但它会引发GCC的警告(Bitfield太大而不适合uint32_t),这是非常合理的。

虽然它工作正常,但是当你想要分发一个包含数百个警告的库时它不是很干净......

我该怎么做呢?

为什么首先出现问题?

我正在研究的项目包括定义整个微控制器线路(STMicroelectronics STM32)的不同外设的存储器结构。 为此,结果是一个类,它包含几个结构的并集,这些结构定义了所有寄存器,具体取决于目标微控制器。

一个非常简单的外设的一个简单示例如下:通用输入/输出(GPIO)

union
{

    struct
    {
        GPIO_MAP0_MODER;
        GPIO_MAP0_OTYPER;
        GPIO_MAP0_OSPEEDR;
        GPIO_MAP0_PUPDR;
        GPIO_MAP0_IDR;
        GPIO_MAP0_ODR;
        GPIO_MAP0_BSRR;
        GPIO_MAP0_LCKR;
        GPIO_MAP0_AFR;
        GPIO_MAP0_BRR;
        GPIO_MAP0_ASCR;
    };
    struct
    {
        GPIO_MAP1_CRL;
        GPIO_MAP1_CRH;
        GPIO_MAP1_IDR;
        GPIO_MAP1_ODR;
        GPIO_MAP1_BSRR;
        GPIO_MAP1_BRR;
        GPIO_MAP1_LCKR;
        uint32_t :32;
        GPIO_MAP1_AFRL;
        GPIO_MAP1_AFRH;
        uint32_t :64;
    };
    struct
    {
        uint32_t :192;
        GPIO_MAP2_BSRRL;
        GPIO_MAP2_BSRRH;
        uint32_t :160;
    };
};

其中所有-Wxxx都是宏,定义为gcc/cp/class.c或寄存器类型(专用结构)。

在这里你看到-Wxxx运行良好,但它会触发警告。

到目前为止我所考虑的事情:

我可能用几个-Wxxx(这里有6个)替换它,但我有一些极端情况,我有gcc/cp/class.c(42)(等等)。 所以我宁愿不在8k其他行上添加大约100行,即使结构生成是脚本化的。

确切的警告信息是这样的:-Wxxx(我只是喜欢这是多么的阴暗)。

我宁愿不通过简单地删除警告来解决这个问题,而是使用

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-WTheRightFlag"
/* My code */
#pragma GCC diagnostic pop

可能是一个解决方案...如果我找到-Wxxx.但是,正如在这个线程中所指出的,gcc/cp/class.c带有这个可悲的代码部分:

warning_at (DECL_SOURCE_LOCATION (field), 0,
        "width of %qD exceeds its type", field);

这告诉我们,没有-Wxxx标志可以移除此警告......

trans by 2019-08-21T10:48:48Z

编码风格 - 在.cpp fi中定义C ++命名空间方法的正确方法

可能是重复的,但不是一个容易搜索的...

给出如下标题:

namespace ns1
{
 class MyClass
 {
  void method();
 };
}

我在.cpp文件中看到了以多种方式定义的method()

版本1:

namespace ns1
{
 void MyClass::method()
 {
  ...
 }
}

版本2:

using namespace ns1;

void MyClass::method()
{
 ...
}

版本3:

void ns1::MyClass::method()
{
 ...
}

是否有权利&#39; 这样做的方法? 这些中的任何一个是错误的吗? 因为他们不是都意味着同样的事情?

trans by 2019-08-21T10:40:49Z

如何防止gcc优化C中的一些语句?

为了使页面变脏(打开页表项中的脏位),我触摸页面的第一个字节,如下所示:

pageptr[0] = pageptr[0];

但在实践中,gcc将忽略死店淘汰的陈述。 为了防止gcc优化它,我重新编写语句如下:

volatile int tmp;
tmp = pageptr[0];
pageptr[0] = tmp;

似乎这个伎俩有效,但有点难看。 我想知道是否有任何指令或语法具有相同的效果? 而且我不想使用-O0标志,因为它也会带来很大的性能损失。

trans by 2019-08-21T10:37:51Z

linux - 如何将文本附加到文件?

在Linux中将文本追加到文件的最简单方法是什么?

我看了这个问题,但接受的答案使用了一个额外的程序(sed)我确定应该有一个更简单的方法echo或类似的。

trans by 2019-08-21T10:33:24Z

javascript - 使用Gulp.js和globbing模式修改文件(相同目标)

我有一个gulp任务,试图将.scss文件转换为.css文件(使用gulp-ruby-sass),然后将生成的.css文件放在它找到原始文件的同一个地方。 问题是,由于我使用了通配模式,因此我不必知道原始文件的存储位置。

在下面的代码中,我试图使用gulp-tap来点击流并找出当前文件的文件路径,从中读取流:

gulp.task('convertSass', function() {
    var fileLocation = "";
    gulp.src("sass/**/*.scss")
        .pipe(sass())
        .pipe(tap(function(file,t){
            fileLocation = path.dirname(file.path);
            console.log(fileLocation);
        }))
        .pipe(gulp.dest(fileLocation));
});

基于console.log(fileLocation)的输出,此代码似乎应该可以正常工作。 但是,生成的CSS文件似乎放在一个比我预期更高的目录中。 它应该是project/sass/partials,结果文件路径只是project/partials

如果有一个更简单的方法,我肯定会更加欣赏这个解决方案。 谢谢!

trans by 2019-08-21T10:30:44Z

如何以编程方式关闭Android设备上的WiFi?

这个问题在这里已有答案:

  • Android:如何以编程方式启用/禁用Wifi或Internet连接                                     6个答案

按下&#34;关闭屏幕&#34;我需要关闭WiFi一段时间按钮。 我的平板电脑需要这个应用程序,因为有时我只是忘记关闭WiFi,这会非常快地释放电池。 它的寿命是没有WiFi的10倍以上。是否有任何解决方案可用作.apk? 我可以在屏幕关闭时间和5分钟后跟踪吗? 我可以在Android设备上以编程方式关闭WiFi吗? 怎么样?

trans by 2019-08-21T10:28:53Z

序列化 - 如何在C#中检查对象是否可序列化

我正在寻找一种简单的方法来检查C#中的对象是否可序列化。

我们知道,通过实现ISerializable接口或将[Serializable]放在类的顶部,可以使对象可序列化。

我正在寻找的是一种快速检查方法,而无需反映课程以获得它的属性。 接口可以快速使用is语句。

使用@Flard的建议这是我提出的代码,尖叫是有更好的方法。

private static bool IsSerializable(T obj)
{
    return ((obj is ISerializable) || (Attribute.IsDefined(typeof (T), typeof (SerializableAttribute))));
}

或者甚至更好地获取对象的类型,然后在类型上使用IsSerializable属性:

typeof(T).IsSerializable

请记住,这似乎只是我们正在处理的类,如果该类包含其他类,您可能想要检查它们或尝试序列化并等待错误,如@pb指出的那样。

trans by 2019-08-21T10:23:28Z

asp.net mvc 3 - Razor If / Else条件运算符语法

这个问题在这里已有答案:

  • 如何在剃刀中使用三元运算符(特别是在HTML属性上)?                                     6个答案

没有太多运气,我在Razor中有以下if / else语句,它完美无缺

<small>
  @if(deletedView){
     @:Deleted
  } 
  else {
     @:Created
  } by
</small> 

我想做这样的事情:

<small>
  @(deletedView) ? @:Deleted : @:Created by
</small>

但那失败了。 什么是正确的语法?

trans by 2019-08-21T10:21:38Z

android - SearchView的OnCloseListener没有'

我试图在Android 3.0+ ActionBar中添加对System.out.println()的支持,但我无法使用OnCloseListener

这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    searchView = (SearchView) menu.findItem(R.id.search_textbox).getActionView();
    searchView.setOnQueryTextListener(new OnQueryTextListener() {
        @Override
        public boolean onQueryTextChange(String newText) {
            searchLibrary(newText);
            return false;
        }
        @Override
        public boolean onQueryTextSubmit(String query) { return false; }
    });
    searchView.setOnCloseListener(new OnCloseListener() {
        @Override
        public boolean onClose() {
            System.out.println("Testing. 1, 2, 3...");
            return false;
        }
    });
    return true;
}

搜索效果很好,除了System.out.println()之外每个都有效。没有任何东西被打印到Logcat。 这是Logcat,当我按下&#34;关闭&#34;按钮:

02-17 13:01:52.914: I/TextType(446): TextType = 0x0
02-17 13:01:57.344: I/TextType(446): TextType = 0x0
02-17 13:02:02.944: I/TextType(446): TextType = 0x0

我查看了文档和示例,但似乎没有任何改变。 我在冰淇淋三明治上的Asus Transformer Prime和Galaxy Nexus上运行它。 有任何想法吗?

更新:

是的 - System.out.println()确实有效。 以下是证明:

   @Override
 public boolean onQueryTextChange(String newText) {
    System.out.println(newText + "hello");
    searchLibrary(newText);
    return false;
 }

结果在这个Logcat中:

02-17 13:04:20.094: I/System.out(21152): hello
02-17 13:04:24.914: I/System.out(21152): thello
02-17 13:04:25.394: I/System.out(21152): tehello
02-17 13:04:25.784: I/System.out(21152): teshello
02-17 13:04:26.064: I/System.out(21152): testhello
trans by 2019-08-21T10:00:36Z

以编程方式获取设备的Android API级别?

如何找出我的设备使用的API级别?

固件版本为1.6。 这是否意味着它使用API级别4?

trans by 2019-08-21T09:55:26Z

GitHub流量图是否包含您自己的视图?

我在GitHub上有几个项目,它们都有流量图,我可以查看我的存储库获得了多少流量。

我链接的博客文章对访问者非常模糊。 它指出:

..许多独特的访客,它有...

我发现我的一些存储库每天都有活动,我觉得很奇怪,但我不确定这些观点中的大多数是不是我,如果是的话,为什么我会说"Views"这是唯一的独特访客

题:

在浏览自己的源时,GitHub上使用的流量图是否包含您自己? 它非常小,但我真的很好奇,如果我得到的观点是我自己在源头浏览,或者我有人实际浏览我的来源。

具体而言,显示"Views"的行,而不是"Unique visitors",因为唯一访问者显然意味着新人浏览存储库。


对于那些认为这是offtopic的人,重新阅读主题帖。最为显着地:

但如果您的问题通常涵盖程序员常用的软件工具

trans by 2019-08-21T09:41:48Z

亚马逊s3 - S3错误:请求时间和当前时间之间的差异太大

我有错误当调用方法amazons3.ListObjects时,请求时间和当前时间之间的差异太大

ListObjectsRequest request = new ListObjectsRequest() {
    BucketName = BucketName, Prefix = fullKey 
}; 
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
    bool result = response.S3Objects.Count > 0;

    return result;
}

可能是什么?

trans by 2019-08-21T09:29:17Z

算法 - 程序员拼图:在整个游戏中编码国际象棋棋盘状态

不是严格意义上的问题,更多的是谜题......

多年来,我参与了一些新员工的技术访谈。 除了询问标准&#34;你知道X技术&#34; 问题,我也试图了解他们如何解决问题。 通常情况下,我会在面试前一天通过电子邮件向他们发送问题,并期望他们在第二天提出解决方案。

通常结果会非常有趣 - 错误但有趣 - 如果他们能解释为什么采取特定的方法,那么这个人仍会得到我的建议。

所以我想我会向Stack Overflow的观众抛出我的一个问题。

问题:您可以想到最有效的方式来编码国际象棋游戏(或其子集)的状态是什么? 也就是说,给定具有合法排列的棋盘的棋盘,编码该初始状态和游戏中的玩家所采取的所有后续合法移动。

答案不需要代码,只是您将使用的算法的描述。

编辑:正如其中一张海报所指出的,我没有考虑移动之间的时间间隔。 随意作为一个可选的额外:)考虑到这一点:)

EDIT2:只是为了进一步说明......请记住,编码器/解码器是规则感知的。 唯一真正需要存储的是播放器的选择 - 编码器/解码器可以认为其他任何东西都是已知的。

编辑3:在这里挑选一名胜利者很难:)很多很棒的答案!

trans by 2019-08-21T08:19:11Z

c# - 检查SQL连接是打开还是关闭

你如何检查我使用的是打开还是关闭

 if (SQLOperator.SQLCONNECTION.State.Equals("Open"))

然而,即使是国家也是开放的。 它在这张支票上失败了。

trans by 2019-08-21T08:12:15Z

datetime - Java Date&Time API有什么问题?

我经常遇到有关Java Date和其他与日期时间相关的类的负面反馈。 作为一名.NET开发人员,我不能完全(没有使用它们)了解它们实际上是什么问题。

任何人都可以对此有所了解吗?

trans by 2019-08-21T08:05:33Z

如何使用python执行curl命令

我想在python中执行curl命令。

通常,我只需要在终端输入命令并按回车键。 但是,我不知道它在python中是如何工作的。

该命令如下所示:

curl -d @request.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere

有一个request.json文件要发送以获得响应。

我经常搜索并感到困惑。 我试着写一段代码,虽然我无法完全理解。 它没用。

import pycurl
import StringIO

response = StringIO.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere')
c.setopt(c.WRITEFUNCTION, response.write)
c.setopt(c.HTTPHEADER, ['Content-Type: application/json','Accept-Charset: UTF-8'])
c.setopt(c.POSTFIELDS, '@request.json')
c.perform()
c.close()
print response.getvalue()
response.close()

错误信息是'Parse Error'。任何人都可以告诉我如何修复它? 或者如何正确地从服务器获得响应?

trans by 2019-08-21T08:01:52Z

apache - www-data权限?

所以我在/ var / www(称为cake)中有一个目录,我需要允许www-data写入它,但我也想写它(不必使用sudo)。 如果我机器上的其他用户(或黑客)试图修改该目录中的文件,我害怕将权限更改为777。 我如何只允许访问自己和Apache的www-data?

trans by 2019-08-21T07:57:01Z

tsql - 我什么时候需要在SQL Server中使用Begin / End Blocks和Go关键字?

有人能告诉我何时何地需要在SQL Server中使用beginend块?
另外,Go关键字究竟是做什么用的?

trans by 2019-08-21T07:51:08Z

上一页 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 下一页 共1969页