Python具有非常优雅的语法,可以针对多种模式检查值.
2 in [1,2,4] #=> True
6 in [1,2,4] #=> False
Run Code Online (Sandbox Code Playgroud)
Ruby版本的订单感觉不对:
[1,2,4].include?(2)
Run Code Online (Sandbox Code Playgroud)
我明白这include?比OO更有意义2.included_in?([1,2,4]),我仍然不喜欢它.Ruby甚至有in关键字,但它似乎只用于构造for i in [1,2,4],而不是用于成员资格测试.
另一种方式是这样的:
(case 2 when 1,2,4 then true end)
Run Code Online (Sandbox Code Playgroud)
相当冗长,但允许模式测试:
(case file_name when "README", /\.txt\z/ then true end)
Run Code Online (Sandbox Code Playgroud)
仍然不是很可读.
我偶然错过了一些非常漂亮的方式吗?
我想知道如何在长按媒体按钮时启动活动.在这种情况下,我不想启动默认活动:媒体阅读器,当短按媒体按钮时,必须保持该功能.
希望,我已经明白了.
AL
辅助问题:为什么某些硬键(如搜索按钮)可以直接启动在manifest.xml的activity属性中指定它的活动,而其他硬件(如媒体按钮)仅用于广播操作?
任何机构都可以诊断出我面临的问题吗?当您运行演示时,您可以看到中间部分留空,我需要填充整个区域..
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class FillDemo
{
public static void main(String aths[])
{
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pnl = new PolygonDemo();
pnl.setSize(100, 200);
f.getContentPane().add(pnl);
f.setSize(400,280);
f.setLocation(200,200);
f.setVisible(true);
}
}
class PolygonDemo extends JPanel
{
public PolygonDemo()
{
setBackground(Color.white);
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
Polygon p=new Polygon();
p.addPoint(100,0);
p.addPoint(100,100);
p.addPoint(0,100);
p.addPoint(0,0);
p.addPoint(80,0);
p.addPoint(80,20);
p.addPoint(40,20);
p.addPoint(40,40);
p.addPoint(80,40);
p.addPoint(80,100);
p.addPoint(20,100);
p.addPoint(20,80);
p.addPoint(60,80);
p.addPoint(60,60);
p.addPoint(20,60); …Run Code Online (Sandbox Code Playgroud) 我需要安装文件'html.sty',但不知道它是什么包.我想我需要安装一个名为latex2e的东西,但我不知道它有什么包.
假设我有一个函数,它接受可变参数(...)或va_list从另一个这样的函数传递.主要逻辑是在这个函数本身(让我们调用它f1),但我想让它传递va_list给另一个函数(让我们调用它f2),它将确定下一个参数类型,使用它va_arg,并正确转换并存储它为呼叫者使用.
是否足以将va_list传递给f2,或者是否需要将指针传递给va_list.除非va_list需要是数组类型或者将其位置数据存储在va_list对象指向的位置(而不是在对象本身中),否则我无法看到如何通过值传递它可以允许调用函数(f1)为'看'被调用函数所做的更改va_arg.
任何人都可以阐明这一点吗?我对标准要求的内容感兴趣,而不是某些特定实现允许的内容.
让我们说我们已经0显示在控件的值字段中,我希望如果值是0- 显示string.Empty(我知道值的类型是十进制,并且不能插入字符串而不是小数,但仍然...也许那里有一些格式化吗?).
如何在IE,Firefox和Chrome中检测转义按键?下面的代码适用于IE和警报27,但在Firefox中它会发出警报0
$('body').keypress(function(e){
alert(e.which);
if(e.which == 27){
// Close my modal window
}
});
Run Code Online (Sandbox Code Playgroud) 我还在学习VBA,我无法弄清楚我是否遇到过Collections对象的这么多问题.
我有一个函数添加自定义对象(我创建了一个非常简单的类来存储一些数据),它执行典型的"读取数据,创建对象表示,将其粘贴到集合"这类东西.
如果我尝试在bag.add调用中添加"密钥",则会收到"编译错误.预期:="消息.
如果我没有它似乎工作,那么当我运行程序时它会显示"编译错误.参数不是可选的"并突出显示"getRevColumns = bag"行.
我不能为我的生活弄清楚是不是正在发生!我怀疑我的包包初始化有什么问题?!PS:columnMap是我的自定义类的名称.
Function getRevColumns() As Collection
Dim rng As Range
Dim i As Integer
Dim bag As Collection
Dim opManCol As Integer, siebelCol As Integer
Dim opManColName As String, siebelColName As String
Dim itm As columnMap
Set bag = New Collection
Set rng = shSiebelMap.UsedRange.Columns(5)
i = 1
For i = 1 To rng.Rows.count
If StrComp(UCase(rng.Cells(i).value), "Y") = 0 Then
opManCol = rng.Rows(i).OffSet(0, -2).value
opManColName = rng.Rows(i).OffSet(0, -4)
siebelCol = rng.Rows(i).OffSet(0, -1).value
siebelColName = rng.Rows(i).OffSet(0, …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,我正在使用ddply,如下例所示:
ddply(df, .(col),
function(x) data.frame(
col1=some_function(x$y),
col2=some_other_function(x$y)
)
)
Run Code Online (Sandbox Code Playgroud)
在ddply中,是否可以重用col1而无需再次调用整个函数?
例如:
ddply(df, .(col),
function(x) data.frame(
col1=some_function(x$y),
col2=some_other_function(x$y)
col3=col1*col2
)
)
Run Code Online (Sandbox Code Playgroud)