我将使用什么语法来获取表示字符串的字节数,并将它们与表示ArrayList保存该字符串的字节数进行比较,例如?
我正在使用多代理代理系统通过消息发送对象,我想跟踪每条消息占用多少空间.只要该方法与对象的实际大小成比例地缩放,该方法就不必是准确的.例如,长度为4的字符串向量将报告为小于长度为5的字符串向量.
我在最近的一位经济学家看到了这一点,我想知道是否有人有代码可以帮助使用ggplot复制它.经济学家图表
谢谢!
我问,因为我试图调试SQL查询问题和adb似乎只显示部分SQL字符串并切断结束.
我在运行查询时遇到"无法识别的令牌"错误:
W/System.err(18917): android.database.sqlite.SQLiteException: unrecognized token: "931C6752DF97CFDACD130A06CAE0E7DA6320DE2945FFFA0A65629BC687256DE3": , while compiling: SELECT COUNT(*) FROM products WHERE (id IN (9781101134801,9781429535823,9780806532318,9781440609404,9781440644474,9781101184554,2940000052358,9780071633574,9781429516105,9781411433250,9781586488581,9780786537624,9781101188705,9781440697661,9780199717569,9781429580397,9781429979436,9781101187739,9781429959810,9781420119053,9781429954419,9781101218457,9781569757468,9780802196262,9781101213339,9781411428942,9781411428232,2940011807343,9780307272119,2940000248775,2940000273708,2940000278932,2940000274514,2940000400104,2940000336878,2940000281062,2940000400081,2940000281017,9780316005050,2940000336113,2940000367278,9781426847585,2940000244647,9780137058549,2940000248768,9780077422318,9781426833533,2940000244609,2940000274552,2940000244692,2940000336908,2940000400142,2940000277621,2940000400111,2940000392300,2940000228241,9780345464927,2940000336144,2940000807224,2940000277249,9780345515667,2940000336076,2940000336137,9780316086134,2940000273463,9780061429347,2940000392355,9781416549833,9780061998065,9780321700704,2940000400159,9781426806421,9781426840562,2940000273470,9781416587187,9781428507326,2940000313640,2940000277669,2940000336915,2940000338131,2940000244654,9780791487655,2940000277676,2940000392331,2940000273449,2940000313633,9781411431645,9780316040341,2940000248782,9780077395469,2940000248850,2940000336083,2940000367261,2940000273494,2940000228623,2940000228302,9780061959936,2940000367247,2940000244623,2940000274538,2940000280942,2940000336861,2940000367216,2940000277645,2940000228388,2940000338124,9780321703477,2940000248812,9780061962066,2940000338100,2940000277225,2940000392324,2940000278925,2940000248348,2940000277713,2940000273487,2940000336120,2940000367223,9780877797753,2940000274569,2940000336922,2940000336106,2940000313671,9780307264725,9780385533133,2940000248393,2940003039615,2940000336090,9780061916458,2940000338087,2940000244678,2940000277638,2940000281079,2940000400128,2940000338049,2940000367186,2940000313695,9780321702067,2940000248867,2940000277652,2940000400135,2940000338094,2940000248805,2940000277201,2940000248836,2940000982556,2940000228340,2940000367209,9780307593672,2940000336052,2940000278918,2940000277706,2940000336069,2940000248355,2940000277232,2940000280966,2940000338117,2940000248379,2940000277218,2940000313657,2940000341599,2940000248829,9780062002945,2940000313664,2940000274521,2940000367230,9780786955916,2940000277690,2940000248362,2940000362396,2940000244685,9780307272300,2940000273500,2940000313688,2940000281147,9781101443552,2940000248843,2940000273456,2940000228043,2940000274545,2940000392317,9780743258241,2940000982303,9781439168035,9780132103206,9781596916715,2940000313718,2940000392348,2940000244661,2940000400098,2940000400166,9780307271341,2940000313701,2940000367193,2940000277683,9781605043739,9780440334408,2940000338070,2940000244630,2940000338063,9780307719607,2940000336939,9780345464453,2940000336885,2940000367254,2940000336892,2940000338056,2940000244616,2940000392294,2940000313626,2940000093559,931C6752DF97CFDACD130A06CAE0E7DA6320DE2945FFFA0A65629BC687256DE3,88F21F69943935F0C31A803A6C3A639F242CDF18DC0570113888FE00569BAE45,9781411433786)) AND (id IN (2940000697375,9781423140344,9781101134801,9781433671074,9781101152140,9781429535823,9780806532318,9781429516174,9781440609404,9781440644474,9781101184554,2940000052358,9780071633574,9780761148340,9781429516105,2940000147467,9781411428485,9781411433250,9781586488581,9781414346304,9781101136775,9780786537624,9781101188705,9781440697661,9781429543637,9781414346311,9781101190111,9781565125858,9780199717569,9781596917248,9781429580397,9780786025145,9780786564743,9781429979436,9781101187739,2940000754603,9781420119053,9781429954419,9781101213339,9781440668890,9780307272119,2940000248775,2940000273708,2940000278932,2940000274514,2940000400104,2940000336878,2940000281062,2940000244562,2940000400081,2940000281017,9780316005050,2940000336113,29400
W/System.err(18917): at android.database.sqlite.SQLiteProgram.native_compile(Native Method)
W/System.err(18917): at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:117)
W/System.err(18917): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:66)
W/System.err(18917): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
W/System.err(18917): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:59)
W/System.err(18917): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1286)
W/System.err(18917): at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1259)
Run Code Online (Sandbox Code Playgroud)
如您所见,上面的查询显示为截断.
假设我有两个相关的类MyClass :: A和MyClass :: B,它们都是MyClass的子类.我希望MyClass的构造函数获取文件名,读取文件,并根据文件的内容,确定文件是A还是B类型.然后,它应该构造一个相应子类的对象并返回它.编辑:实际上,它应该调用相应子类的构造函数并返回结果.
例如,在此代码之后,
my $filename = "file_of_type_A.txt";
my $object = MyClass->new($filename);
Run Code Online (Sandbox Code Playgroud)
$object应该是MyClass :: A的一个实例.这似乎是有效的行为,因为它$object->isa('MyClass')总是会返回true.我正在考虑使用内省来获取MyClass的所有子类的列表,然后尝试依次构造每个子类,直到成功.但是,我没有看到修改Moose构造函数来实现此目的的方法.BUILDARGS和BUILD钩子似乎都不合适.
那么如何修改Moose类的构造函数来选择合适的子类并将构造委托给该子类?
我正在制作一个wxpython应用程序,我将使用各种冻结实用程序进行编译,以便为多个平台创建可执行文件.
该程序将成为基于图块的游戏引擎的地图编辑器
在这个应用程序中,我想提供一个脚本系统,以便高级用户可以修改程序的行为,如修改项目数据,将项目导出到不同的格式等.
我希望系统能像这样工作.
用户将他们希望运行的python脚本放入样式文本框中,然后按一个按钮执行脚本.
到目前为止,我很擅长这一切,这些都非常简单.从文本框中获取脚本作为字符串使用内置函数compile()将其编译为cod对象,然后使用exec语句执行脚本
script = textbox.text #bla bla store the string
code = compile(script, "script", "exec") #make the code object
eval(code, globals())
Run Code Online (Sandbox Code Playgroud)
问题是,我想确保此功能不会导致任何错误或错误,
如果脚本中有import语句.考虑到代码是用py2exe或py2app之类的东西编译的,这会导致任何问题吗?
我如何确保用户不能破坏程序的关键部分,如修改部分GUI,同时仍允许他们修改项目数据(数据保存在自己的模块中的全局属性中)?我认为这意味着修改传递给eval函数的全局变量dict.
如何确保此eval不会导致程序因长循环或无限循环而挂起?如何确保用户代码中引发的错误不会导致整个应用程序崩溃?
基本上,如何避免在允许用户运行自己的代码时可能出现的所有问题?
编辑:关于给出的答案
我觉得到目前为止任何答案都没有真正回答我的问题,是的,他们已经得到了部分回答,但并未完全回答.我很清楚,不可能完全停止不安全的代码.对于一个人(甚至是一个人)而言,人们过于聪明地想到绕过安全系统并阻止它们的所有方法.
事实上,如果他们这样做,我真的不在乎.我更担心一些人无意中打破了他们不知道的事情.如果有人真的想要他们可以通过脚本功能撕毁应用程序,但我不在乎.这将是他们的实例,他们创建的所有问题将在他们重新启动应用程序时消失,除非他们已经搞乱了HD上的文件.我想防止用户给某些东西愚蠢时出现的问题.
像IOError,SystaxErrors,InfiniteLoopErrors等.
现在关于范围的部分已得到解答.我现在明白如何定义可以从eval函数访问哪些函数和全局变量但是有没有办法确保如果它花费太长时间可以停止执行它们的代码?
也许是一个绿色线程系统?(绿色,因为它会让用户担心线程安全性)
此外,如果用户使用import module语句从甚至未在类的其余部分中使用的默认库加载模块.这会导致应用被Py2exe,Py2app或Freeze冻结的问题吗?如果他们称标准库的模态外?模态是否与冻结的可执行文件存在于同一目录中是否足够?
我想在没有创建新问题的情况下得到这些答案,但如果必须,我会这样做.
我花了很多时间离线,虽然通常我正在阅读一些书籍或杂志的工作,但我最近一直在阅读Visual Studio 2010应用程序生命周期管理(又名TFS 2010)的MSDN Library文档.
不幸的是,这个文档似乎不再包含在Vs2010和VsAlm2010安装媒体上了,我找不到任何下载...除了在线表单之外它是否根本不存在?
我发现很难相信获得此文档的唯一方法是针对每个请求访问网站.我错过了什么?
我应该调整FRAMEWORK_SEARCH_PATHS还是HEADER_SEARCH_PATHS在向项目添加自定义框架时?
我将MainProject.xcodeproject这些链接SomeFramework.framework简单地从"产品"拖到SomeFramework.xcodeproject主项目中的"与二进制库链接"构建阶段.
Framework包含其Headers目录中的所有必需标头.但是,在我的项目中,我不能简单地使用:
#import <SomeFramework.h> // I'm pretty sure this file exists
Run Code Online (Sandbox Code Playgroud)
包括此标题.构建失败"没有这样的文件或目录".编译器标志包括-F…/SomeFramework/build/Release,该目录包含带有Headers目录符号链接的框架.
(顺便说一句:这适用于Mac OS X.我不关心iPhone.)
我需要的是一个非常简单的自动完成,它建议用户在其中输入字母的单词,非常简单,没有任何花哨,无论是内联还是来自外部文件,我只需要大约20个左右的结果建议总计.
我看到了这个:http://jquery.bassistance.de/autocomplete/demo/?
但它是8kb,这对我需要它来说非常大,有没有人知道一个更小的轻量级自动完成脚本?或者有谁知道jquery提供一个超级简单的自动填充?
而且我没有使用Jquery UI,这是Jquery的一个蹩脚的臃肿插件,所以我不能使用他们的自动完成,我敢肯定它是10000mb大.
adb ×1
android ×1
autocomplete ×1
autosuggest ×1
constructor ×1
debugging ×1
eval ×1
exec ×1
facebook ×1
frameworks ×1
ggplot2 ×1
header ×1
include ×1
java ×1
jquery ×1
moose ×1
msdn ×1
perl ×1
php ×1
python ×1
r ×1
scripting ×1
search-path ×1
security ×1
sqlite ×1
subclass ×1
tfs2010 ×1
truncation ×1
wxpython ×1
xcode ×1