这是一段要求用户输入的代码片段。问题是对当月的评估。如果输入当前月份,则gooddate应为= 0.由于某种原因,他们的评估不相同。我尝试使变量整数和字符串,但由于某种原因08当前月份不等于08。如果不够清楚,请告诉我。
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
IntegerVector toInt(RObject x) {
return as<IntegerVector>(x);
}
> toInt(c(1.5, 2.4)) # I would like a warning
[1] 1 2
> toInt(1:2 + 1) # No need of warning
[1] 2 3
答案 0 :(得分:0)
Python中的字符串比较并不像您所做的那样简单(if month == x[0]
)。但您可以使用关键字in
作为解决方法来执行此操作:
if month in x[0]:
gooddate1 = 0
(并且您必须为gooddate1
编制索引,否则它不在else
的情况下,而gooddate
将始终为1.)
答案 1 :(得分:0)
问题似乎是你忘了缩进倒数第二行:gooddate1 = 1
。所以现在gooddate1
将会是1而不是0。
您可以使用==
。 if month == x[0]
是比较字符串的好方法。