问题列表 - 第40698页

ruby有效的方法来获取给定值的多个哈希键

从给定值获取所有哈希键的最有效方法是什么.

my_hash = {"a"=>"aa", "b"=>"bb", "c"=>"bb"}
Run Code Online (Sandbox Code Playgroud)

我想将散列"bb"作为输入值,并将它们的所有键(b,c)作为数组返回

只返回一个键:

my_hash.index("bb")
# returns only b
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎效率低下:

my_hash.select{|k,v| v == 'bb' }.map{|i| i[0] }
# returns b and c
Run Code Online (Sandbox Code Playgroud)

我已经阅读了所有的文档.我觉得有一些明显的东西我不知道了.

谢谢!

更新:

我最终切换了哈希创建的键和值,并使用数组来表示值.这是一种更有效的解决方案.如果必须,请参阅下面的最佳方法来进行价值观察.

新结构:

my_hash = {"aa"=>["a"],"bb"=>["b","c"]}
Run Code Online (Sandbox Code Playgroud)

ruby

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

C#是否有在线临时代码箱?(JS Bin,jsFiddle克隆)?

是否有一个网站为C#提供简单的临时代码框?

语法高亮是一个加号.我找到了很好的JavaScript:jsFiddle.

c# jsfiddle

29
推荐指数
4
解决办法
5135
查看次数

PHP:将不止一次调用foreach体中的操作?

foreach(functionWithComplicatedComputationReturningAnArray()as $ key => $ value)

以上代码会多次调用该函数吗?

一般来说,在这方面是否有规则,关于接受函数调用作为参数的PHP语言结构?

谢谢

吉迪

php

3
推荐指数
1
解决办法
81
查看次数

使用iOS 4.2中的新打印内容生成PDF

从历史上看,我的应用程序已将确认生成为纯HTML,并将该HTML传递给普通的MFMailComposeViewController,以便通过电子邮件发送给客户.我想尝试利用iOS 4.2中的新打印类将HTML呈现为PDF并将其作为附件发送.

我尝试了以下方法:

NSString *html = /* generate my HTML here */
NSMutableData *pdfData = [NSMutableData data];
UIMarkupTextPrintFormatter *fmt = [[UIMarkupTextPrintFormatter alloc] 
                                   initWithMarkupText:html];

// Render the html into a PDF
UIGraphicsBeginPDFContextToData( pdfData, CGRectZero, nil );

for (NSInteger i=0; i < [fmt pageCount]; i++)
{
    UIGraphicsBeginPDFPage();
    CGRect bounds = UIGraphicsGetPDFContextBounds();
    [fmt drawInRect:bounds forPageAtIndex:i];
}

UIGraphicsEndPDFContext();
Run Code Online (Sandbox Code Playgroud)

问题是[fmt pageCount]始终返回零,因此不会将实际页面内容呈现到PDF NSData中.

有没有人在实际打印作业之外使用UIMarkupTextPrintFormatter将HTML转换为PDF?任何帮助非常感谢.

iphone pdf-generation airprint ios-4.2

9
推荐指数
1
解决办法
6844
查看次数

Mac OS Cocoa:在画布上绘制一个简单的像素

我希望我能找到答案.我搜索并搜索过,但答案不对.这是我的情况:

在Mac OS Cocoa应用程序中,我想在我的应用程序窗口的专用区域上绘制一个像素(实际上是几个像素).我想,NSImageView放在那里会更好(我用IB做了这个并将插座连接到我的应用代表)然后用它代替我的NSWindow.

我怎么能这样做呢?Mac OS似乎提供NSBezierPath了最基本的绘图工具 - 这是真的吗?这对我来说是完全令人震惊的.我来自Windows编程的悠久历史,并且通常在画布上绘制像素是最简单的事情.

我不想使用OpenGL,我不确定Quartz参与的程度如何.

我想要的只是帮助我如何在真正的Objective-C/Cocoa中实现这个伪代码:

imageObj.drawPixel(10,10,blackColor);
Run Code Online (Sandbox Code Playgroud)

我很想听听你的回答,我相信这会帮助很多人从Cocoa开始.

谢谢!

macos cocoa pixel objective-c nsimageview

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

加载application.ini

我们使用:
- Zend_Controller_Front
- 没有Zend_Application
- 没有Zend_Application_Bootstrap

我们想要使用application.ini.

require_once("Zend/Controller/Front.php");

class Forum4Php_Bootstrap {

    protected $_dispatcher;

    public function  __construct() {
        $this->_dispatcher = Zend_Controller_Front::getInstance();
    }

    public function runApp() {
        $this->_dispatcher->addModuleDirectory(FORUM_FOR_PHP_ROOT_DIR."/application/modules");
        $this->_dispatcher->dispatch();
    }
}
Run Code Online (Sandbox Code Playgroud)

有办法吗?

zend-framework

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

在一条线上显示单选按钮?

我无法理解为什么我的单选按钮不在一行上,我到目前为止粘贴了我的代码 - 我知道它与教程不一样,但我真的想了解每一行,所以想要知道什么相当于'浮动'在android中 - 尝试玩重力,重量等,但似乎没有把它们放在一行..

提前谢谢了!

<RadioGroup 
android:id="@+id/RadioGroup01" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content"
android:layout_column="0"
android:layout_span="3">

    <RadioButton 
        android:id="@+id/RadioButton01" 
        android:layout_height="wrap_content" 
        android:freezesText="true" 
        android:textSize="10sp" 
        android:text="15%" android:layout_width="wrap_content">
    </RadioButton>

<RadioButton android:id="@+id/RadioButton02" android:layout_height="wrap_content" android:text="20%" android:textSize="10sp" android:layout_width="wrap_content">
Run Code Online (Sandbox Code Playgroud)

android

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

Emacs每个文件自定义

我有一个带有自定义宏的Emacs Lisp文件,我希望它有所不同.代码如下:

(defmacro* when-let ((var value) &rest body)
  `(let ((,var ,value))
     (when ,var ,@body)))

(defun func ()
  (when-let (a 1)
    a))
Run Code Online (Sandbox Code Playgroud)

我希望像上面那样when-let精通font-lock-keyword并缩进.我知道我可以在我的.emacs文件中执行此操作,但我更喜欢将其作为本地目录或文件本地自定义.问题是目录本地和文件本地自定义似乎仅限于设置变量.在我的.emacs文件中,我有以下内容.

(add-hook 'emacs-lisp-mode-hook
   (lambda ()
             (put 'when-let 'lisp-indent-function 1)
             (font-lock-add-keywords nil
                                     '(("(\\(when-let\\)\\>" 1
                                        font-lock-keyword-face)))))
Run Code Online (Sandbox Code Playgroud)

我想要这个,.dir-locals.el因为它只适用于一个文件.

emacs elisp

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

在课堂中隐藏 RNG

我目前正在实现一个代表 52 张纸牌的 Deck 类。它使用 boost Random 库来洗牌代表卡片的整数。

#include <iostream>
#include <fstream>
#include "constants.hpp"
#include <boost/program_options.hpp>

#include <vector>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_int.hpp>
#include <boost/random/variate_generator.hpp>

boost::mt19937 gen(std::time(0));

class Deck{
    private:
        std::vector<int> cards;
        int cardpointer;
        static ptrdiff_t choosecard(ptrdiff_t i);
        ptrdiff_t (*pchoosecard)(ptrdiff_t);
    public:
        Deck();
        void shuffle();
        int pop();
};

Deck::Deck(){
    for(int i=1; i<=52; i++){
        cards.push_back(i);
    }
    cardpointer = -1;
    pchoosecard = &choosecard;
}

ptrdiff_t Deck::choosecard(ptrdiff_t i){
    boost::uniform_int<> dist(0,i);
    boost::variate_generator< boost::mt19937&, boost::uniform_int<> > cardchoice(gen, dist);
    return cardchoice();
}

void Deck::shuffle(){
    std::random_shuffle(cards.begin(), cards.end(), pchoosecard);
} …
Run Code Online (Sandbox Code Playgroud)

c++ boost class

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

有没有办法使用正则表达式匹配代字号?

看这个:

"nAo".match(/(nao)/i) # => #<MatchData "nAo" 1:"nAo">

"nÃo".match(/(não)/i) # => nil
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题?

编辑:似乎ruby在i标志的regexp比较中缺乏对unicode字符的支持(忽略大小写)...使用MRI 1.8.7p249

ruby regex unicode case-insensitive

2
推荐指数
1
解决办法
980
查看次数