Skip to main content

AccessHashMap

Struct AccessHashMap 

Source
pub struct AccessHashMap;
Expand description

Extract element of hashmap using [] or . operator Key values are case-insensitive

$foo = @{“Key1” = 1; Key2 = 2;}; $foo[“Key1”] => 1 $foo.Key2 => 2 $foo.“kEy1” => 1 $foo[“kEy2”] => 2q

§Example

use minusone::ps::build_powershell_tree;
use minusone::ps::forward::Forward;
use minusone::ps::integer::{ParseInt, AddInt};
use minusone::ps::linter::Linter;
use minusone::ps::string::ParseString;
use minusone::ps::access::{AccessHashMap, AccessString};
use minusone::ps::join::JoinOperator;
use minusone::ps::array::ParseArrayLiteral;
use minusone::ps::hash::ParseHash;

let mut tree = build_powershell_tree("@{'Key' = 1}.kEy + @{'Name' = 2}['name'] + @{OK = 3}.'ok'").unwrap();
tree.apply_mut(&mut (
    ParseInt::default(),
    ParseHash::default(),
    AddInt::default(),
    Forward::default(),
    ParseString::default(),
    ParseArrayLiteral::default(),
    AccessString::default(),
    AccessHashMap::default()
    )
).unwrap();

let mut ps_litter_view = Linter::new();
tree.apply(&mut ps_litter_view).unwrap();

assert_eq!(ps_litter_view.output, "6");

Trait Implementations§

Source§

impl Default for AccessHashMap

Source§

fn default() -> AccessHashMap

Returns the “default value” for a type. Read more
Source§

impl<'a> RuleMut<'a> for AccessHashMap

Source§

type Language = Powershell

Source§

fn enter( &mut self, _node: &mut NodeMut<'a, Self::Language>, _flow: ControlFlow, ) -> MinusOneResult<()>

Source§

fn leave( &mut self, node: &mut NodeMut<'a, Self::Language>, _flow: ControlFlow, ) -> MinusOneResult<()>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.