从给定值获取所有哈希键的最有效方法是什么.
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) 是否有一个网站为C#提供简单的临时代码框?
语法高亮是一个加号.我找到了很好的JavaScript:jsFiddle.
foreach(functionWithComplicatedComputationReturningAnArray()as $ key => $ value)
以上代码会多次调用该函数吗?
一般来说,在这方面是否有规则,关于接受函数调用作为参数的PHP语言结构?
谢谢
吉迪
从历史上看,我的应用程序已将确认生成为纯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?任何帮助非常感谢.
我希望我能找到答案.我搜索并搜索过,但答案不对.这是我的情况:
在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开始.
谢谢!
我们使用:
- 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)
有办法吗?
我无法理解为什么我的单选按钮不在一行上,我到目前为止粘贴了我的代码 - 我知道它与教程不一样,但我真的想了解每一行,所以想要知道什么相当于'浮动'在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)
我有一个带有自定义宏的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因为它只适用于一个文件.
我目前正在实现一个代表 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) 看这个:
"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