我使用以下代码将Object数组转换为String数组:
Object Object_Array[]=new Object[100];
// ... get values in the Object_Array
String String_Array[]=new String[Object_Array.length];
for (int i=0;i<String_Array.length;i++) String_Array[i]=Object_Array[i].toString();
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有另一种方法可以做到这一点,例如:
String_Array=(String[])Object_Array;
Run Code Online (Sandbox Code Playgroud)
但这会导致运行时错误: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
这样做的正确方法是什么?
我想知道是否有办法迫使Heroku重新编译slug而不推送新的提交和/或更新配置变量.
我为什么要这样做?:
我在Heroku上使用Cedar堆栈来获取Rails 3.2应用程序,我遇到了rake assets:precompile任务失败的问题(仅在编译期间 - 以后它可以正常工作heroku run).我非常怀疑这是由于在slug编译期间某些环境变量不可用,我认为heroku labs:enable user_env_compile实验性功能将解决这个问题.
但是,在user_env_compile打开该功能的情况下,配置更改不会触发重新编译slug,并且我的代码没有更改,所以我没有任何新的提交要推送.
当然,我可以通过一个微不足道的改变推动"虚拟"提交,这可能是最简单的答案---但我想知道是否有一个heroku命令可以让我直接重新编译slug.
谢谢!
我如何gzip压缩Python中的字符串?
gzip.GzipFile 存在,但那是文件对象 - 用普通字符串怎么样?
我有一个Python函数,fetch_data它可以访问远程API,获取一些数据,然后将它包装在响应对象中.看起来有点像下面这样:
def fetch_data(self, foo, bar, baz, **kwargs):
response = Response()
# Do various things, get some data
return response
Run Code Online (Sandbox Code Playgroud)
现在,响应数据可能会显示"我有更多数据,请使用递增page参数调用我以获得更多".因此,我基本上喜欢在响应对象中存储"方法调用"(函数,参数),因此我可以Response.get_more()查看存储的函数和参数,并再次调用函数(几乎)参数,返回一个新的Response
现在,如果fetch_data被定义为fetch_data(*args, **kwargs)我可能只是存储(fetch_data, args, kwargs)在response.不过我有self,foo,bar和baz担心-我可以只存储(fetch_data, foo, bar, baz, kwargs)但这是重复的非常不理想的量.
从本质上讲,我试图找出如何,在一个函数中,得到一个完全填充*args和**kwargs,其中包括函数的命名参数.
我可以在不将此应用程序合并到项目中的情况下为我的可重用Django应用程序启动测试吗?
我的应用程序使用了一些模型,因此有必要提供(TEST_)DATABASE_*设置.我应该在哪里存储它们以及如何启动测试?
对于Django项目,我可以运行测试manage.py test; 当我使用django-admin.py test我的独立应用程序时,我得到:
错误:无法导入设置,因为未定义环境变量DJANGO_SETTINGS_MODULE.
这里的最佳做法是什么?
我在加载xlsx包和使用choose.files时遇到了一个奇怪的问题.
一旦我将RStudio更新到最新版本(v0.97.237),就会出现此问题.如果我启动RStudio然后加载xlsx(即library(xlsx))包加载就好了.但是,如果我尝试使用choose.files(),RStudio会冻结(实际上它会持续运行,无法在不使用Win7任务管理器结束的情况下关闭).如果我启动RStudio并首先使用choose.files,它可以正常工作.如果我然后运行该library(xlsx)行,xlsx包将不会加载.它给出了下面的错误.
我已经尝试重新安装xlsx包(以及xlsxjars和rJava),但这不起作用.也没有重新安装Java.
有什么建议?我正在使用R v2.15.2.
library(xlsx)
Loading required package: xlsxjars
Loading required package: rJava
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error : .onLoad failed in loadNamespace() for 'xlsxjars', details:
call: .jinit()
error: Cannot create Java virtual machine (-4)
Error: package ‘xlsxjars’ could not be loaded
Run Code Online (Sandbox Code Playgroud)
编辑:这是问题所在.对不起任何困惑.当我输入这个:
filename<-file.choose() #select file
library(xlsx)
mydata<-read.xlsx(filename,1) #load datafile
Run Code Online (Sandbox Code Playgroud)
我可以成功选择文件名,但xlsx包无法加载,因此我无法打开数据文件.我得到上面的错误.但是,如果我改为运行它(在我关闭并重新启动RStudio之后):
library(xlsx)
filename<-file.choose() #select file
mydata<-read.xlsx(filename,1) #load datafile
Run Code Online (Sandbox Code Playgroud)
xlsx包正确加载,但file.choose导致R无限期运行,因此脚本冻结,我无法加载我的文件.这也是使用的情况choose.files().我不知道为什么这两件事(xlsx和 …
我正在Heroku上部署一个Django应用程序,并在用户在网站上注册时使用Sendgrid插件发送验证电子邮件.
我按照这里的说明将以下内容粘贴到settings.py:
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'sendgrid_username'
EMAIL_HOST_PASSWORD = 'sendgrid_password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Run Code Online (Sandbox Code Playgroud)
但是,我的应用程序在注册后崩溃了.
究竟我应该放什么的EMAIL_HOST_USER和EMAIL_HOST_PASSWORD?
在heroku的sendgrid插件中的开发人员选项卡下,它为我提供了用户名app*******@heroku.com,而对于密码,它只是显示"您的密码".密码是我的Heroku密码吗?
另外,我需要包含DEFAULT_FROM_EMAIL在我的settings.py文件中吗?我在哪里告诉Sendgrid它是什么?
编辑:我已经设置DEBUG = True,看起来错误是:
SMTPSenderRefused
(550, 'Cannot receive from specified address <info@myapp.com>: Unauthenticated senders not allowed', 'info@myapp.com')
Run Code Online (Sandbox Code Playgroud)
在Sendgrid做其事之前,看起来问题正在发生.我是否需要以某种方式使用Heroku验证电子邮件地址?
每次我启动我的应用程序时,如果没有:
2012-05-06T22:41:11+00:00 heroku[web.1]: Stopping process with SIGKILL
2012-05-06T22:41:11+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2012-05-06T22:41:11+00:00 heroku[web.1]: Process exited with status 137
2012-05-06T22:41:12+00:00 heroku[web.1]: State changed from starting to crashed
Run Code Online (Sandbox Code Playgroud)
这是我的Procfile:
web: bundle exec thin start -p $PORT
Run Code Online (Sandbox Code Playgroud)
任何回复都将得到彻底的赞赏.
我找到了关于如何使用NSString drawInRect:绘制旋转文本的答案,但我不确定它是如何工作的,因为它只对我有用:https://discussions.apple.com/thread/1779814?start = 0&tstart = 0
我的代码看起来像:
CGContextSaveGState(context);
CGContextDrawLinearGradient(context, gradient, CGPointMake(0, centY - halfWidth), CGPointMake(0, centY + halfWidth), 0);
// Add text
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
NSString *str = @"some test string";
CGAffineTransform transform1 = CGAffineTransformMakeRotation(M_PI/4);
CGContextConcatCTM(context, transform1);
CGContextTranslateCTM(context, 0, 0);
UIFont *font = [UIFont systemFontOfSize:16.0];
[str drawInRect:CGRectMake(0, 0, 200, 100) withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UIBaselineAdjustmentNone];
Run Code Online (Sandbox Code Playgroud)
因此,当我使用它时,我看到文本被绘制在x轴下方45度.我想沿着lineargradient垂直绘制文本.所以我认为我可以通过使用M_PI/2 90度来做到这一点.我没看到我的文字.我已经为旋转尝试了不同的变换,只有一些似乎像M_PI/4和M_PI/8一样工作.我认为如果我使用-M_PI/4,它将使文本在x轴上方45度,而M_PI/2将在x轴下方90度.但两者都没有出现.
有什么想法吗?谢谢.
我正在构建一个基于找到一个位置的"方便会面点"的应用程序.
目前我将"方便"定义为"最小化总行程距离".这与查找质心的问题不同,如下例所示(为方便起见,使用笛卡尔坐标而不是纬度和经度):
这些点的最小总行程位置为(0,0),总行程距离为12; 质心位于(0,4),总行程距离为16(4 + 4 + 8).
如果位置被限制在其中一个点上,问题似乎变得更简单,但这不是我想要的约束(不像,例如,这个类似的问题).
我似乎无法做到的是提出任何类型的算法来解决这个问题 - 建议欢迎!