问题列表 - 第20970页

无扫描器分析器

序言:虽然解析器识别的语言集(无上下文语法)严格大于扫描程序(常规语法),但大多数解析器生成器都需要扫描程序.

(请不要试图解释其背后的原因,我非常了解它们).

我见过解析器,不需要扫描仪

使用无扫描仪有一些优点:

  • 只有一个概念(无上下文语法)而不是两个
  • 在一个文件中解析多种语言(如HTML/Javascript)
  • 解析没有保留关键字的语言(如PL/1)

通常,使用"解决方法"就像在解析器的请求上切换扫描程序一样.

问题:你知道其他任何无扫描器解析器生成器(任何语言)吗?这些是实用的(或纯粹的学术性的)?除了Tomita/GLR之外还有其他方法吗?

回答:

language-agnostic parser-generator

23
推荐指数
2
解决办法
3169
查看次数

Ruby on Rails:如何检查文件是否是图像?

你如何检查文件是否是图像?我想你可以使用这样的方法:

def image?(file)
  file.to_s.include?(".gif") or file.to_s.include?(".png") or file.to_s.include?(".jpg")
end
Run Code Online (Sandbox Code Playgroud)

但这可能有点低效且不正确.有任何想法吗?

(我正在使用回形针插件,顺便说一句,但我没有看到任何方法来确定文件是否是回形针中的图像)

ruby ruby-on-rails

17
推荐指数
4
解决办法
1万
查看次数

PHP中类方法的默认可见性

我查看了手册,但似乎无法找到答案.

对于没有可见性声明的方法,PHP的默认可见性是什么?PHP是否具有Java中的包可见性?

例如,在以下代码中,是go()公共还是私有?

class test {
  function go() {
  }
}
Run Code Online (Sandbox Code Playgroud)

我问的原因是我看到很多构造函数代码编写为,function __construct()而某些代码编写为public function __construct().它们是等价的吗?

php oop visibility

113
推荐指数
4
解决办法
3万
查看次数

jquery hasClass匹配元素

在jquery中我可以将"nearest"或Parents()与"hasClass"组合在一起,所以如果它存在于页面上,它会给我一个与给定类最接近的元素吗?

var matchingDiv = $(this).closest('div').hasClass('SomeClass')

if ( matchingDiv != null )
{
   //we found matching element now manipulate it

}
Run Code Online (Sandbox Code Playgroud)

我总是会有一个匹配的div元素,或者没有.谢谢.

jquery jquery-selectors

4
推荐指数
1
解决办法
4839
查看次数

mysql生日提醒,闰年

我正在尝试整理一个结果集,该结果集给出了按即将到来的生日排序的5个最近的用户.这种方法非常有效,直到闰年发挥作用.例如:

  • 5月15日 - 还剩96天
  • 5月15日 - 还剩97天

最重要的结果是出生于1987年,较低的是1988年.出生时的存储为yyyy-mm-dd.有没有一种简单的方法来排序这个问题,而不必重写整个查询?

SELECT u_birth, IF( DAYOFYEAR( u_birth ) >= DAYOFYEAR( NOW() ), 
          DAYOFYEAR( u_birth ) - DAYOFYEAR( NOW() ), 
          DAYOFYEAR( u_birth ) - DAYOFYEAR( NOW() ) +  
      DAYOFYEAR( CONCAT( YEAR( NOW() ), '-12-31' ) ) 
 )  
 AS distance
FROM (blog_users)
WHERE `s_agehide` = 0
ORDER BY distance ASC
LIMIT 5
Run Code Online (Sandbox Code Playgroud)

从mysql手册中获取并修改此查询:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#c7489

mysql leap-year

5
推荐指数
1
解决办法
3694
查看次数

将字段更改为ManyToMany时的Django数据迁移

我有一个Django应用程序,我想在其中将ForeignKey中的字段更改为ManyToManyField.我想保留我的旧数据.最简单/最好的流程是什么?如果重要,我使用sqlite3作为我的数据库后端.

如果我对问题的总结不清楚,这是一个例子.说我有两个型号:

class Author(models.Model):  
    author = models.CharField(max_length=100) 

class Book(models.Model):  
    author = models.ForeignKey(Author)  
    title = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

假设我的数据库中有很多数据.现在,我想更改Book模型,如下所示:

class Book(models.Model):  
    author = models.ManyToManyField(Author)  
    title = models.CharField(max_length=100) 
Run Code Online (Sandbox Code Playgroud)

我不想"丢失"我之前的所有数据.

完成此任务的最佳/最简单方法是什么?

django django-models django-migrations

42
推荐指数
1
解决办法
1万
查看次数

声明性语言的实现细节本身是否必要

我正在阅读Tomas Petricek和Jon Skeet的'Functional Programming',我理解声明和命令式编程之间的区别.

我想知道的是原始运算符和函数是如何实现的,是由命令式运算符和函数构造的声明性语言.

干杯

AWC

language-agnostic programming-languages functional-programming declarative imperative

5
推荐指数
1
解决办法
573
查看次数

重复更新的mysql条件插入 - 多条记录

如何使用ON DUPLICATE UPDATE带有多值INSERT?

INSERT INTO tbl_name 
  (key_id,field1,filed2) 
VALUES
  (1,2,3),
  (1,5,6),
  (1,8,9);
Run Code Online (Sandbox Code Playgroud)

mysql sql insert

5
推荐指数
1
解决办法
2446
查看次数

有没有快速的方法来锁定我的SVN存储库的主干?

有时候我需要确定没有人承诺到特定分支或我的主干.发布版本和重新集成合并就是一个例子.

SVN"锁定"所有文件是不现实的(很长一段时间,因为项目很大).我也不相信锁定会阻止某人提交新文件.

什么是一个快速的方法,以确保没有人提交任何文件夹,直到我完成我正在做的事情?

谢谢

svn version-control

8
推荐指数
2
解决办法
9525
查看次数

使用JPA创建带有保留字名称的字段

@Column(name="open")
Run Code Online (Sandbox Code Playgroud)

使用sqlserver方言与hibernate.

[SchemaUpdate] Unsuccessful: create table auth_session (id numeric(19,0) identity not null, active tinyint null, creation_date datetime not null, last_modified datetime not null, maxidle int null, maxlive int null, open tinyint null, sessionid varchar(255) not null, user_id numeric(19,0) not null, primary key (id), unique (sessionid))
[SchemaUpdate] Incorrect syntax near the keyword 'open'.
Run Code Online (Sandbox Code Playgroud)

我希望hibernate在创建表时使用带引号的标识符.

关于如何处理这个问题的任何想法...除了重命名字段?

java sql-server orm hibernate jpa

76
推荐指数
6
解决办法
4万
查看次数