我可能错过了一些明显的东西,但是有没有办法在每个循环中访问散列内的迭代索引/计数?
hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'}
hash.each { |key, value|
# any way to know which iteration this is
# (without having to create a count variable)?
}
Run Code Online (Sandbox Code Playgroud) 我只是在学习Maven,所以这可能很明显,但我找不到一个简单的方法来列出给定项目的每个maven生命周期阶段的相关目标.
我看到Maven默认生命周期阶段和相应的默认目标都记录在这里.到目前为止,我的理解是每个pom.xml都可以为每个生命周期阶段绑定其他目标.
那么,是否有一个mvn命令来确定将为给定项目的每个生命周期阶段运行的目标?如果没有,我想我只需要查看每个新maven项目的pom.xml来解决这个问题?
C-x C-f blah.info以基本金属模式打开文件.我使用apropos并发现Info-mode我认为可能会从基本模式更改为信息模式,但这会引发一个lisp错误.
如何在emacs中打开外部/第三方*.info文件,以便获得与我正在查看时相同的花里胡哨M-x info(n下一步,u用于向上,超链接等)?我确信这很明显,但我无法弄明白.
我是来自Java的Ruby的新手.我正在尝试发出一个http get请求,我得到一个400的http响应代码.我通过http调用的服务非常特别,我很确定我的请求不完全正确.req在我执行head请求(下面)之后"查看" 对象是有帮助的,以便仔细检查正在发送的request_headers是我认为我正在发送的内容.有没有办法打印出req对象?
req = Net::HTTP.new(url.host, url.port)
req.use_ssl = true
res = req.head(pathWithScope, request_headers)
code = res.code.to_i
puts "Response code: #{code}"
Run Code Online (Sandbox Code Playgroud)
我试过这个:puts "Request Debug: #{req.inspect}"但它只打印这个:#<Net::HTTP www.blah.com:443 open=false>
我希望调试jaxb-impl的源代码.
我下载了2.2.6版,附加了源代码然后意识到我正在调试的应用程序是使用jaxb-impl 2.2.3版
所以现在我有了2.2.3版本的正确版本,我无法弄清楚如何从2.2.6源中删除关联以便我可以附加2.2.3?
更新:我发现你可以进入.idea目录,找到库xml def并删除<sources>标签内的所有内容.就我而言,我编辑了 libraries/Maven__com_sun_xml_bind_jaxb_impl_2_2_3_1.xml.
任何人都知道是否有办法通过GUI执行此操作?
说我有两个JavaBeans Person和Address.
如果我创建一个Person对象列表,我想编组这样的东西:
<persons>
<person>...</person>
</persons>
Run Code Online (Sandbox Code Playgroud)
可以使用此处描述的技术: 使用JAXB解组/编组List <String>
通过使用@XmlRootElement(name = "persons")和注释JaxbList,@XmlElement(name = "person")可以编组上面的XML.
但是,能够重用同一个JaxbList<T>类来编组Address对象列表会很好.实际上,我会有很多其他类型的豆子.我可以用以下的东西:
<list>
<item xsi:type="person" xmlns:xsi="http://www.w2.org/2001/XmlSchema-instance"></item>
</list>
Run Code Online (Sandbox Code Playgroud)
但是,理想情况下,将"list"替换为复数版本的类名称和"item"替换为类名称会很好.
那么,是否有可能在运行时以编程方式配置JaxbContext或其他东西,并基本上设置name内部的值@XmlRootElement和@XmlElement?
或者任何其他方式让这个工作,而不必JaxbList为每个bean类型编写单独的实现?也许XmlJavaTypeAdapter可以实现这种事情?
更新 @Blaise Doughan在下面接受的解决方案非常有用.对于我的用例,我需要直接从Java对象到XML,这里有用(注意这不是我的完整实现,它只是用于演示的伪代码):
//JAXBContext is thread safe and so create it in constructor or
//setter or wherever:
...
JAXBContext jc = JAXBContext.newInstance(Wrapper.class, clazz);
...
public String marshal(List<T> things, Class clazz) {
//configure JAXB and marshaller
Marshaller m = …Run Code Online (Sandbox Code Playgroud) 如果我选择一个文本区域,有没有办法使用isearch(或其他一些搜索命令),这将允许我只在该区域内搜索?我希望在宏中使用它来进行技术处理.
这可能是显而易见的,但我做了一个快速搜索,找不到办法.
我有一个很长的文本文件.有没有简单的方法来"撤消" M-q一段时间之前编写和保存的文件(fill-paragraph)?
例如,我想改变这个:
他们来带我走了,哈哈!
他们要把我带走,ho-ho,嘻嘻,ha-haaa去有趣的农场.在那里,生活一直都是美丽的,我会
很高兴看到那些漂亮的年轻人穿着干净的白色
外套,他们会带我离开,哈哈!
对此:
他们来带我走了,哈哈!他们要把我带走,ho-ho,嘻嘻,ha-haaa
去有趣的农场.在那里,生活一直都是美丽的,我会很高兴看到那些漂亮的年轻人穿着干净的白色外套,他们会带我离开,哈哈!
我正在运行Rails 2.3.4.当我创建一个新的rails项目时,public/index.html文件有一个名为"关于你的应用程序环境"的链接,指向"rails/info/properties".在开发模式下,它提供了运行时环境的摘要.但是,在生产模式下,它无法找到404页面.
有人能指出我在"rails/info/properties"路由的配置方式和位置方向吗?我只想了解它是如何设置的.
更新(希望)澄清:如果定义一个目标在给定阶段运行,是否可以在不运行所有阶段的情况下运行单个目标.换句话说,是否可以antrun:run在不获取依赖关系,生成资源,编译,测试,打包等的情况下运行目标(下面定义为安装阶段的一部分)?
我正在使用antrun插件在package阶段创建一个zip文件,并在此阶段删除和复制一些文件install.我理解如何运行单个maven插件目标,例如:mvn antrun:run.但是,有没有办法运行特定执行的目标?喜欢的东西mvn antrun:run:execution-id,还是mvn phase:antrun:run?
基本上,如果我能告诉maven除了在部署阶段内运行下面定义的ant任务之外什么都不做,我会很高兴.等待maven通过所有阶段只是为了检查部署阶段的ant任务是否正常工作,这有点乏味.
<executions>
<!-- create zip file -->
<execution>
<id>create-zip</id>
<phase>package</phase>
<configuration>
<tasks>
...create zip...
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<!-- do some other stuff -->
<execution>
<id>copy-files</id>
<phase>install</phase>
<configuration>
<tasks>
...delete some files, copy some files ...
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
Run Code Online (Sandbox Code Playgroud)