我已经在我的 Windows 机器上安装了 wsl2,但我无法弄清楚文件的实际存储位置。
请注意,我并不是说我想在文件资源管理器中浏览它们 - 我知道这可以通过在资源管理器中输入来完成\\wsl$\。
如果我不得不猜测,我会说文件存储在与操作系统存储相同的硬盘驱动器中。
所以实际上我有两个相关的问题。
编辑:
我能够找到安装路径,在我的机器中路径是:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
有没有办法将它安装到另一个位置?
我使用单独的源文件创建PowerShell脚本模块.从其他内部源文件引用模块内部源函数的规范方法是什么?
例如,如果我的模块是从文件"foo"和"bar"中的PS源代码创建的; 并且"foo"中的函数需要调用"bar"中的函数,这样做的最佳方法是什么?
看起来点源并不是一个好主意.也没有制作组件文件("foo"和"bar")psm1文件.这是psd1文件中"ScriptsToProcess"字段背后的想法吗?
我在考虑这个错误(非"PowerShelly")吗?我应该把所有东西都放到一个psm1吗?
下面的代码将编译但在运行时失败.它只是为了让我知道我正在尝试做什么.我想要做的是创建一个接受对象集合的方法(实际上是"无类型"集合),如果此集合由单个类型的数字组成,则使用Average()扩展方法返回平均值
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nnConsole {
class Program {
static void Main(string[] args) {
var ints = new object[4] { 1, 2, 3, 4 };
var dbls = new object[4] { 1.0, 2.0, 3.0, 4.0 };
Console.WriteLine(ReallyMean(ints));
Console.WriteLine(ReallyMean(dbls));
}
static public double ReallyMean(ICollection<object> data) {
var unique = data.Distinct();
var types = unique.Select(x => x.GetType()).Distinct();
if (types.Count() == 1) {
if (types.First().IsValueType) {
/***********************
* magic here to create ddata var that …Run Code Online (Sandbox Code Playgroud) 创建结构体的新实例时,您可以引用正在构造的结构体中先前初始化的字段吗?
示例代码:
use std::fs::File;
use std::io::BufReader;
use std::path::PathBuf;
#[derive(Debug)]
pub struct Test {
file_handle: File,
rdr: BufReader<File>,
}
impl Test {
pub fn new(filepath: std::path::PathBuf) -> Self {
Self {
file_handle: File::open(&filepath)
.expect(format!("Unable to open file {:?}", filepath).as_str()),
rdr: BufReader::new(file_handle),
}
}
}
fn main() {
let x = Test::new(PathBuf::from("my file"));
println!("{:?}", x);
}
Run Code Online (Sandbox Code Playgroud)
生成错误:
use std::fs::File;
use std::io::BufReader;
use std::path::PathBuf;
#[derive(Debug)]
pub struct Test {
file_handle: File,
rdr: BufReader<File>,
}
impl Test {
pub fn new(filepath: std::path::PathBuf) -> Self …Run Code Online (Sandbox Code Playgroud) 当使用 UNC 路径(例如:)时,我可以在从 UNC 路径使用命令( )\\machine\share\dir时获取文件列表,但如果我尝试,我会得到一个空列表(不是错误,只是没有项目)。我以为PS是建立在.NET框架之上的。有谁知道为什么.NET方法返回空列表时会使用 UNC 路径?dirGet-ChildItem[System.IO.Directory]::GetFilesGet-ChildItemGetFiles
我对 PowerShell 如何处理 Hashtable 键与对象属性感到困惑。
考虑:
$list = @{
'one' = @{
name = 'one'
order = 80
};
'two' = @{
name = 'two'
order = 40
};
'twotwo' = @{
name = 'twotwo'
order = 40
};
'three' = @{
name = 'three'
order = 20
}
}
$list.Values|group-object { $_.order }
$list.Values|group-object -property order
Run Code Online (Sandbox Code Playgroud)
第一个组对象给了我我期望的(三个组),第二个没有(一个大组)。显然 Hashtable 键不是对象属性,但在语法上它们以相同的方式(var.name)被引用。
第二个组对象实际上在做什么?
它认为“订单”属性是什么?
我只是在第一次启动应用程序时尝试显示片段.我正在努力展示片段,但它始终显示,我只希望它在首次发布时显示.我正在displayView导航抽屉drawerlistener中的一个方法中替换片段(这可能是我的问题),我试图在我的方法中使用布尔和共享首选项.关于为什么这不起作用的任何想法
mDrawerLayout.setDrawerListener(mDrawerToggle);
if (savedInstanceState == null) {
// on first time display view for first nav item
firstTimeFrag();
}
}
private boolean firstTimeFrag(){
SharedPreferences pref = getPreferences(MODE_PRIVATE);
boolean ranBefore = pref.getBoolean("RanBefore",false);
if(!ranBefore){
SharedPreferences.Editor editor = pref.edit();
editor.commit();
Fragment fr = new ifFirstTimeFrag();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.frame_container, fr);
fragmentTransaction.commit();
}else{
displayView(0);
}
return ranBefore;
}
Run Code Online (Sandbox Code Playgroud) 逻辑错在哪里?我发现它不正确,但它给出的输出只是1.它应该给出所有阿姆斯壮的数字从1到500.
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a,b,c=0 ,d,i=1;
while(i<=500)
{
b=i;
while(b>0)
{
a=b%10;
c=(a*a*a)+c;
b=b/10;
}
if(c==i)
` printf("%d",i);
i++;
}
getch();
}
Run Code Online (Sandbox Code Playgroud) powershell ×3
.net ×1
android ×1
boolean ×1
c ×1
c# ×1
filesystems ×1
linq ×1
rust ×1
windows-subsystem-for-linux ×1
wsl-2 ×1