我没有-f在本程序中使用此声明.
if [ -f $file ]
Run Code Online (Sandbox Code Playgroud)
我if知道为什么我们-f在这里使用?
这是整个计划:
case $ch in
1)
echo -e "\n This is File Create Operation"
echo -e "\n Please Enter File Name:"
read file
if [ -f $file ]
then
echo -e "\n File already existing!!!"
else
touch $file
echo -e "\n File Created!!!"
echo -e "\n Created File can be Checked From Following Table"
ls -t|head -n 15
fi
;;
Run Code Online (Sandbox Code Playgroud) 我需要从文本中提取字符串,如下例所示
Hi i have no name <z>empty</z>
Run Code Online (Sandbox Code Playgroud)
我想在文本<z> 或字符串之前只提取文本,这是hi i have no name
我尝试过这个函数
procedure Split (const Delimiter: Char; Input: string; const Strings: TStrings);
begin
Assert(Assigned(Strings)) ;
Strings.Clear;
Strings.StrictDelimiter := true;
Strings.Delimiter := Delimiter;
Strings.DelimitedText := Input;
end;
Run Code Online (Sandbox Code Playgroud)
但它只能分裂字符 ;,:等.我想用这个特定的字符串开始拆分<z>
我有这种正则表达式:
$recipes =~ s/
([^\.\/]) ($dimentions) (\s) ($unit)
|(\(?) ($wholeNumberDecimal) (\s) ($unit)
|(\(?) ($wholeNumber) (\s) ($unit)
|(\(?) ($wholeNumberFraction) (\s) ($unit)
/transformer($1,$2,$3,$4) /eixg;
Run Code Online (Sandbox Code Playgroud)
我想要它做的是每次它与它称之为方法的4种情况之一匹配.
从我轻描淡写的将有$1,$2,$3,$4.如果我将所有这些变量传递给方法,那么该方法将如何知道哪个变量是新匹配以及哪些变量之前可能已匹配并且只是被记住?
有没有办法只有一个变量$1可以匹配任何这些情况,并只是随时将该变量发送到该方法?
或者我是否有正确的方法?我试图从食谱书中匹配这些不同的案例,并且每次匹配调用一种方法,将其转换为公制系统等价物.
示例:5汤匙 - > 80毫升,或8 x 8 x 2英寸 - > 20 x 20 x 5厘米
根据发布的答案,我已将我的正则表达式更改为:
$recepies =~ s/
(?|
([^\.\/]) ($dimentions)
|
(\(?) ($wholeNumberDecimal) #ex: 1.5
|
(\(?) ($wholeNumber) #ex: 1
|
(\(?) ($wholeNumberFraction)
)
(\s) ($unit)
/transformer($1,$2,$3,$4) /eixg; #the replacement
Run Code Online (Sandbox Code Playgroud)
它似乎工作!
我正在尝试拆分参数(作为字符串接收)以便能够使用这些值来执行某些操作.例如,字符串将是:
DB415.DBX12.3
Run Code Online (Sandbox Code Playgroud)
我会要求将其拆分为:
/(?:^[A-Z]+)//^(?![A-Z]+)(?:\d+)//^(?!^[A-Z]+)(?!\d+)(?!\.)(?:[A-Z]+)/任何有关3,4和5的帮助都会非常有帮助!
编辑:这是为Javascript,理想情况下,我想在数组中获得这5个参数.
我有一个32位长整数数组.之后,一些元素将用作32位浮点数.我想提供一个初始化列表来正确初始化这些浮点值.例如,如果前两个元素用作整数,第三个元素用作float,并且我希望初始化第三个元素等于100.0,我不得不这样做:
long a[3]={10,20,0x42c80000};
Run Code Online (Sandbox Code Playgroud)
这很好,但不是很有表现力.
如果我这样做:
long a[3]={10,20,100.0};
Run Code Online (Sandbox Code Playgroud)
编译器将浮点文字转换为0x64.
我没有C++ 11编译器,因此使用union不起作用.
有任何想法吗?
DirectoryInfo d = new DirectoryInfo(path);
if() // there is a file in the directory do something.
Run Code Online (Sandbox Code Playgroud)
如果存在文件,我可以获取这些文件,但我还必须考虑该子文件夹路径中没有文件的可能性。
这是我的代码.它适用于C,但它的行为类似于C++中的结构.
#include<iostream>
using namespace std;
int main()
{
union myunion
{
int B;
double PI;
};
union myunion numbers;
numbers.PI = 3.14;
numbers.B = 12;
/* now storage of PI should be over-written */
cout<<numbers.PI<<endl;
cout<<numbers.B<<endl;
/* Output is 3.14 */
/* 12 */
/* Why it is behaving like Structures ? */
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我一直在环顾四周尝试将浮点数或小数的长度设置为2个位置,我正在为一组课程工作做这个,我已经尝试getcontext但它没有做任何事情.
from decimal import *
getcontext().prec = 2
price = ("22.5")
#I would like this to be 22.50, but as it comes form a list and I use float a bit, so I have to convert it to decimal (?)
price = Decimal(price)
print (price)
Run Code Online (Sandbox Code Playgroud)
但输出是:
22.5
Run Code Online (Sandbox Code Playgroud)
如果有人知道更好的方法将小数的长度设置为2位小数(使用它的钱)或我出错的地方,这将是有帮助的.
我想提取 Git 存储库的最新版本数。这是我到目前为止所做的:
#--- Checking out latest tag
printf "%bChecking out tag...%b\n" "${YELLOW}" "${GRAY}"
LATEST_TAG=$(git describe --tags)
printf "\nChecking out tag %b${LATEST_TAG}%b\n" "${YELLOW}" "${GRAY}"
git checkout -b V${LATEST_TAG%-*} ${LATEST_TAG}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果git describe --tags返回这样的东西,1.0.0-39-gf8f8306我最终会创建一个分支V1.0.0-39。
我想要的是创建一个名为V1.0.0.
这是我的阵列:
data = [{"src": 'a'},
{'src': 'b'},
{'src': 'c'}];
Run Code Online (Sandbox Code Playgroud)
但我想改变这样的关键:
data = [{"letter": 'a'},
{'letter': 'b'},
{'letter': 'c'}];
Run Code Online (Sandbox Code Playgroud)