Tag: parsing

为什么JavaScript在if语句中接受逗号?

我偶然发现了一些JavaScript语法,它似乎应该会产生某种types的parsing错误,但是不会: if (true, true) {console.log('splendid')} else {console.log('horrid')} // splendid if (true, false) {console.log('splendid')} else {console.log('horrid')} // horrid 似乎只有最后一个expression式影响逻辑,尽pipe所有expression式都被执行: if (console.log('super'), true) {console.log('splendid')} // super splendid 任何人都知道为什么这是有效的JavaScript语法? 有没有实际的用途呢?

分号作为URL查询分隔符

删除死了Imageshack链接 – &符号与分号 尽pipe强烈build议( W3C源代码 ,通过维基百科 )为Web服务器支持分号作为URL查询项目的分隔符(除了&符号之外),但似乎并没有遵循。 例如,比较 http://www.google.com/search?q=nemo& oe = utf-8 http://www.google.com/search?q=nemo ; OE = UTF-8 结果。 (在后一种情况下,分号是, 或正在编写此文本时 ,将其视为普通string字符,就像URL是: http : //www.google.com/search?q=nemo %3B oe = utf-8 ) 虽然我尝试的第一个URLparsing库,但performance良好: >>> from urlparse import urlparse, query_qs >>> url = 'http://www.google.com/search?q=nemo;oe=utf-8' >>> parse_qs(urlparse(url).query) {'q': ['nemo'], 'oe': ['utf-8']} 什么是接受分号作为分隔符的当前状态,什么是潜在的问题或一些有趣的笔记? (从服务器和客户端的angular度来看)

在Python中用于lexing,令牌化和parsing的资源

人们可以指向我的资源用Python来解释和分词吗? 我在一个开源项目( hotwire )上做了一些攻击,希望对代码进行一些修改,对input的命令进行词法分析和标记 。 由于它是真正的工作代码,所以它相当复杂,难以解决。 我之前没有研究过lex / parse / tokenise的代码,所以我想一种方法是通过一两个教程来解决这个问题。 我希望能够学习足够的知识来浏览我实际想要改变的代码。 那里有什么合适的吗? (理想情况下,可以在一个下午完成,而不必先购买和阅读龙书…) 编辑: (2008年10月7日)下面的答案都没有给我想要的。 有了它们,我可以从头开始生成parsing器,但我想学习如何从头开始编写我自己的基本parsing器,而不是使用lex和yacc或类似的工具。 完成之后,我可以更好地理解现有的代码。 那么有人可以指点我一个教程,我可以从头开始构build一个基本的parsing器,只使用python?

阅读XML(从string),并获得一些领域 – 阅读XML的问题

我有这个XML(存储在一个名为myXML的C#string中) <?xml version="1.0" encoding="utf-16"?> <myDataz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <listS> <sog> <field1>123</field1> <field2>a</field2> <field3>b</field3> </sog> <sog> <field1>456</field1> <field2>c</field2> <field3>d</field3> </sog> </listS> </myDataz> 我想浏览所有的<sog>元素。 对于他们每个人,我想打印孩子<field1> 。 所以这是我的代码: XmlDocument xmlDoc = new XmlDocument(); string myXML = "<?xml version=\"1.0\" encoding=\"utf-16\"?><myDataz xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><listS><sog><field1>123</field1><field2>a</field2><field3>b</field3></sog><sog><field1>456</field1><field2>c</field2><field3>d</field3></sog></listS></myDataz>" xmlDoc.Load(myXML); XmlNodeList parentNode = xmlDoc.GetElementsByTagName("listS"); foreach (XmlNode childrenNode in parentNode) { HttpContext.Current.Response.Write(childrenNode.SelectSingleNode("//field1").Value); } 但似乎我不能读取一个string为XML? 我得到System.ArgumentException

如何做一个十进制数的Integer.parseInt()?

Java代码如下: String s = "0.01"; int i = Integer.parseInt(s); 然而,这是抛出一个NumberFormatException …什么可能会出错?

将数组通过属性传递给AngularJS指令

我目前有一个问题时,通过该指令的属性传递一个指令的指令。 我可以读取它作为一个string,但我需要它作为一个数组,所以这是我想出来,但它不工作。 帮助任何人? 提前 使用Javascript :: app.directive('post', function($parse){ return { restrict: "E", scope:{ title: "@", author: "@", content: "@", cover: "@", date: "@" }, templateUrl: 'components/postComponent.html', link: function(scope, element, attrs){ scope.tags = $parse(attrs.tags) } } } HTML :: <post title="sample title" tags="['HTML5', 'AngularJS', 'Javascript']" … >

将包含头字段的CSV文件parsing为每行的属性

我想parsing一个CSV文件,以便每一行被视为一个对象,其中标题行是对象中属性的名称。 我可以写这个,但我确定它已经在那里了。 这是我的CSVinput: "foo","bar","baz" 1,2,3 "blah",7,"blam" 4,5,6 代码看起来像这样: CSV.open('my_file.csv','r') do |csv_obj| puts csv_obj.foo #prints 1 the 1st time, "blah" 2nd time, etc puts csv.bar #prints 2 the first time, 7 the 2nd time, etc end 与Ruby的CSV模块,我相信我只能通过索引访问字段。 我认为上面的代码会更具可读性。 有任何想法吗?

检查一个string是否可以parsing为Long而没有try-catch?

Long.parseLong("string")如果string不能parsing为long,则会抛出一个错误。 有没有比使用try-catch更快地validationstring的方法? 谢谢

从C#打印堆栈跟踪信息

作为我们产品中某些error handling的一部分,我们想转储一些堆栈跟踪信息。 然而,我们体验到,许多用户只是截取错误消息对话框的屏幕截图,而不是向我们发送程序中提供的完整报告的副本,因此我想在此对话框中提供一些最小的堆栈跟踪信息。 我的机器上的.NET堆栈跟踪如下所示: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) at […]

如何在Rails中提交布尔参数?

我正在提交值为true的参数show_all 。 该值不与模型相关联。 我的控制器将这个参数分配给一个实例variables: @show_all = params[:show_all] 但是, @show_all.is_a? String @show_all.is_a? String , if @show_all == true总是失败。 Railsparsing为什么值为布尔值? 我如何显式指定我的参数是一个布尔值,而不是一个string?