小编Aar*_*ush的帖子

msysgit bash中的语法错误=〜运算符

我正在尝试bash_profile添加一个函数:

function git-unpushed {
    brinfo=$(git branch -v | grep git-branch-name)
    if [[ $brinfo =~ ("[ahead "([[:digit:]]*)]) ]]
    then
        echo "(${BASH_REMATCH[2]})"
    fi
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

bash:条件二元运算符expected`

bash:语法错误附近 =~'

从我能找到的,"equals tilde"operator(=~)在bash中评估为正则表达式.

为什么会=~抛出错误?

更新:这是手动输入它的截图(这是运行sh.exe):

equals tilde(=〜)运算符失败的屏幕截图

windows bash msysgit

21
推荐指数
3
解决办法
8201
查看次数

检查Request.QueryString中是否存在未分配的变量

在ASP.NET页面的上下文中,我可以使用Request.QueryString来获取URI的查询字符串部分中的键/值对的集合.

例如,如果我使用加载页面http://local/Default.aspx?test=value,那么我可以调用以下代码:

//http://local/Default.aspx?test=value

protected void Page_Load(object sender, EventArgs e)
{
    string value = Request.QueryString["test"]; // == "value"
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要检查是否存在测试,所以我可以调用页面http://local/Default.aspx?test并获取一个布尔值,告诉我测试是否存在于查询字符串中.像这样的东西:

//http://local/Default.aspx?test

protected void Page_Load(object sender, EventArgs e)
{
    bool testExists = Request.QueryString.HasKey("test"); // == True
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要的是一个布尔值,告诉我测试变量是否存在于字符串中.

我想我可以使用正则表达式检查字符串,但我很好奇是否有人有更优雅的解决方案.

我尝试过以下方法:

//http://local/Default.aspx?test

Request.QueryString.AllKeys.Contains("test"); // == False  (Should be true)
Request.QueryString.Keys[0];                  // == null   (Should be "test")
Request.QueryString.GetKey(0);                // == null   (Should be "test")
Run Code Online (Sandbox Code Playgroud)

这种行为与PHP不同,例如,我可以使用它

$testExists = isset($_REQUEST['test']); // == True
Run Code Online (Sandbox Code Playgroud)

c# asp.net .net-3.5

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

为什么使用jQuery(selector).get(0)而不是jQuery(selector)[0]来获取DOM元素?

使用jQuery是没有使用任何好处$(selector).get(0)$(selector)[0],如果我只是想获得jQuery的数组作为一个DOM元素中的第一项?

HTML:

<form id="myForm"></form>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

var selector = '#myForm';
var domElement = $(selector).get(0); //Returns [object HTMLFormElement]

//Or
var domElement = $(selector)[0]; //Also returns [object HTMLFormElement]
Run Code Online (Sandbox Code Playgroud)
  • .get() 是更多要输入的字符.
  • 如果$(selector)为空(undefined),则两种方法都返回相同的结果
  • 关于.get()注释的jQuery文档,您可以简单地使用索引访问器来获取第n个元素,但是您没有获得其他好处,.get()例如使用负数来从数组末尾返回项目.
  • 此外,您可以.get()不带参数调用来返回jQuery数组的所有DOM元素.

javascript jquery

14
推荐指数
3
解决办法
2万
查看次数

如何展示专辑封面?

我想知道如何使用相册显示专辑封面android.provider.MediaStore.Audio.Albums.ALBUM.Album_Art.

我通过使用以下代码从路径中提取元数据,该代码适用于歌曲,但我只是不知道如何为专辑/艺术家显示专辑封面.

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
byte[] rawArt = null;
float ht_px = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, 200, getResources().getDisplayMetrics());
float wt_px = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, 200, getResources().getDisplayMetrics());
BitmapFactory.Options bfo=new BitmapFactory.Options();
try {
    mmr.setDataSource(songdetails.get(swapnumber).Path);
    StackBlurManager _stackBlurManager;
    rawArt = mmr.getEmbeddedPicture();
    if ( rawArt != null)  { 
        bitmap2 = BitmapFactory.decodeByteArray(rawArt, 0, rawArt.length, bfo);
        bitmap3 = Bitmap.createScaledBitmap(bitmap2, (int) ht_px, (int) wt_px, true);
//...
Run Code Online (Sandbox Code Playgroud)

android

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

接口通用层次结构

我有一些通用接口相互链接.

public interface IA
{
    int val { get; set; }
}
public interface IB<T> where T:IA
{
    T a_val { get; set; }
}
public interface IC<T> where T : IB<IA>
{
    T b_val { get; set; }
}

public class a:IA
{
    public int val { get; set; }
}
public class b:IB<a>
{
    public a a_val { get; set; }
}
public class c:IC<b>
{
    public b b_val { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

对于最后一节课c,我有一个错误:

类型'b'不能用作通用类型或方法'IC'中的类型参数'T'.没有从'b'到'IB'的隐式引用转换.

在这种情况下,如何正确使用通用接口?

c# generic-interface

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

在 HTML5 中选择多个

我是 HTML5 的新手,我正在尝试<select>使用multipleGoogle Chrome 上表单中的属性进行测试。我遇到两个问题。

  1. 首先,选项列表在一个丑陋的矩形中发生变化

    具有多个属性的丑陋矩形

    而在它之前是“正常的”:

    没有多个属性的“正常”

  2. 我的第二个问题是,似乎当我想获取选择的值(通过单击按钮并在使用 javascript 的代码中)时,只给出了一个...

这是我的代码:

<!DOCTYPE html>
<html>
<body>

How do you travel?
<form  method="get" id=myForm" onsubmit="done();">
<select name="transport" multiple> <optgroup label="Ecological">
<option value="Feet" selected>By Foot</option>
<option value="Bike">By Bike</option> </optgroup>
<optgroup label="Non-ecological">
<option value="public transports">With public transports</option> <option value="motorbike">By motorbike</option> <option value="car">By car</option>
</optgroup> </select>

<button onclick="bdone();">button</button>

<script>

function bdone(){


var mesOptions=document.getElementsByTagName('select')[0];
alert(mesOptions.value); 
}


</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢你阅读我!

html javascript forms

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