小编Jer*_*ith的帖子

想要先按值排序红宝石中的哈希值,然后按键秒排序

可能重复:
首先按Ruby的值对其哈希值进行排序.

我需要订购一个哈希,以便该值是第一优先级,然后当值相同时,它按键排序.

我目前正在使用此代码进行排序,但我没有看到如何使用第二个元素进行sort_by.

Hash[@card_value_counts.sort_by{|k, v| k * -1}]
Run Code Online (Sandbox Code Playgroud)

我正在寻找的例子是:

pre_sorted = {10=>1, 9=>2, 3=>2, 2=>1, 1=>1}
sorted = {9=>2, 3=>2, 10=>1, 2=>1, 1=>1}

pre_sorted = {12=>2, 10=>3, 9=>4, 5=>3}
sorted = {9=>4, 10=>3, 5=>3, 12=>2}
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

0
推荐指数
1
解决办法
2065
查看次数

为什么不识别此实例变量?

在我的.h:

@class PanelController;

@interface PanelController : NSWindowController <NSWindowDelegate>
{
    NSURL *zURL;
}

@property (nonatomic, assign) NSURL *zURL;

@end
Run Code Online (Sandbox Code Playgroud)

在我的.m:

@synthesize zURL;

...

- (IBAction)openBrowser:(id)sender {
    self.zUrl = [zOpenPanel URL];
}
Run Code Online (Sandbox Code Playgroud)

错误:

zURL not found on object PanelController 
Run Code Online (Sandbox Code Playgroud)

objective-c

0
推荐指数
1
解决办法
63
查看次数

为什么我不能将此对象转换为实例变量?

我有一个对象我想变成一个实例变量.这有效:

ZipFile *newZipFile = [[ZipFile alloc] initWithFileName:zipPath mode:ZipFileModeCreate];
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将其更改为此时它不起作用:

.H:

@interface PanelController : NSWindowController <NSWindowDelegate> {
  ZipFile *_zipFile;
}
@property (nonatomic, assign) ZipFile *zipFile;
Run Code Online (Sandbox Code Playgroud)

.M:

@synthesize zipFile = _zipFile;
...
// get a syntax error here
zipFile = [[ZipFile alloc] initWithFileName:zipPath mode:ZipFileModeCreate];
Run Code Online (Sandbox Code Playgroud)

编辑:我能够通过将其放在我的界面并摆脱@property来解决这个问题:

ZipFile *newZipFile; 
Run Code Online (Sandbox Code Playgroud)

我想我不能将setter和getter分配给任何对象?但是如果我这样做,为什么它不会起作用:

ZipFile *zipFile;
Run Code Online (Sandbox Code Playgroud)

objective-c

0
推荐指数
1
解决办法
66
查看次数

如果ruby鼓励鸭子打字这么多,为什么我们不用Hash.count而不是Hash.length?

这真的让我感到困惑,似乎一次又一次地遇到ruby原生数据类型中的方法,它们做同样的事情(本质上),但却有不同的名称.如果ruby和ruby社区强烈鼓励鸭子打字,为什么这些方法在各种类型中的命名一致?

ruby oop duck-typing

-1
推荐指数
1
解决办法
246
查看次数

标签 统计

objective-c ×2

ruby ×2

duck-typing ×1

oop ×1

ruby-on-rails ×1