我正在尝试bash_profile为msysgit添加一个函数:
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):

在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) 使用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)
我想知道如何使用相册显示专辑封面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) 我有一些通用接口相互链接.
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'的隐式引用转换.
在这种情况下,如何正确使用通用接口?
我是 HTML5 的新手,我正在尝试<select>使用multipleGoogle Chrome 上表单中的属性进行测试。我遇到两个问题。
首先,选项列表在一个丑陋的矩形中发生变化

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

我的第二个问题是,似乎当我想获取选择的值(通过单击按钮并在使用 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)
谢谢你阅读我!