我正在使用 OSX Jenkins 从机来运行 Xcode 的一些构建命令。当我在本地终端中运行 gem 环境时,这就是我得到的。
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.8
- RUBY VERSION: 2.2.0 (2014-12-25 patchlevel 0) [x86_64-darwin15]
- INSTALLATION DIRECTORY: /Users/nvitas/.rvm/gems/ruby-2.2.0
- RUBY EXECUTABLE: /Users/nvitas/.rvm/rubies/ruby-2.2.0/bin/ruby
- EXECUTABLE DIRECTORY: /Users/nvitas/.rvm/gems/ruby-2.2.0/bin
- SPEC CACHE DIRECTORY: /Users/nvitas/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/nvitas/.rvm/rubies/ruby-2.2.0/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-15
- GEM PATHS:
- /Users/nvitas/.rvm/gems/ruby-2.2.0
- /Users/nvitas/.rvm/gems/ruby-2.2.0@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES: …Run Code Online (Sandbox Code Playgroud) function sortArray(array) {
var tempArray = [];
var tempNum;
var tempPos;
for (var i = 0; i < array.length; i+= 1) {
if (i = 0) {
tempNum = parseInt(array[i]);
tempPos = 0;
}
else if (parseInt(array[i]) <= tempNum) {
tempNum = parseInt(array[i]);
tempPos = i;
}
console.log(i);
}
}
Run Code Online (Sandbox Code Playgroud)
它应该采用一个数组并从最小到最大的顺序排序但是甚至没有达到那么远,因为for循环变得无限.我做错了什么?
我有一个HashMap定义如下:
public Map<Integer, String> staticBlockPositions = new HashMap<Integer, String>();
我通过获取每个键来迭代地图,如下所示:
for (Integer key : blockPositions.keySet()) {
System.out.println(key);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我可以依靠值key始终按升序排列.所以,如果我的HashMap看起来像这样:
{
4: "abc123",
1: "def456",
11: "qwe789",
10: "iop019"
}
Run Code Online (Sandbox Code Playgroud)
(我知道这是JSON格式,这只是让你了解数据集).
请问我的循环总是输出
1
4
10
11
Run Code Online (Sandbox Code Playgroud)
不管我的数据顺序如何?
需要注意的是,添加密钥的顺序是完全随机的,我无法控制何时添加密钥.
这是一个俄罗斯方块风格的游戏,所以按升序获得键是必须的.
我有以下代码(这里简化).
#include <stdio.h>
#include <stdlib.h>
struct inner {
int a;
int b;
};
struct outer {
struct inner *next;
struct inner *prev;
};
int main(int argc, char *argv[]) {
struct outer *c = malloc(sizeof(struct outer));
if (c->next) {
printf("here\n");
}
if (c->next != NULL) {
printf("here too");
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,c仅分配了内存,因此c->next并且c->prev是NULL地址.但两份印刷报表仍然有效.if如果c->next不是空指针,我如何使语句工作?