Skip to main content

CodeFn

Struct CodeFn 

Source
pub struct CodeFn;
Expand description

CODE(text) - Returns a numeric code for the first character in a text string

Trait Implementations§

Source§

impl Debug for CodeFn

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Function for CodeFn

Returns the numeric code of the first character in text.

CODE mirrors Excel behavior with Windows-1252 compatibility mappings.

§Remarks

  • Only the first character is inspected.
  • Empty text returns #VALUE!.
  • Text-like coercion is applied to non-text scalar inputs.
  • Known Unicode characters in the Windows-1252 extension map back to their Excel codes.

§Examples

title: "ASCII code"
formula: '=CODE("A")'
expected: 65
title: "Extended mapping"
formula: '=CODE(CHAR(128))'
expected: 128
related:
  - CHAR
  - UNICODE
  - UNICHAR
faq:
  - q: "What if the input text is empty?"
    a: "CODE returns #VALUE! because there is no first character to evaluate."

[formualizer-docgen:schema:start] Name: CODE Type: CodeFn Min args: 1 Max args: 1 Variadic: false Signature: CODE(arg1: any@scalar) Arg schema: arg1{kinds=any,required=true,shape=scalar,by_ref=false,coercion=None,max=None,repeating=None,default=false} Caps: PURE [formualizer-docgen:schema:end]

Source§

fn caps(&self) -> FnCaps

Capability flags for this function
Source§

fn name(&self) -> &'static str

Source§

fn min_args(&self) -> usize

Source§

fn arg_schema(&self) -> &'static [ArgSchema]

Source§

fn eval<'a, 'b, 'c>( &self, args: &'c [ArgumentHandle<'a, 'b>], _: &dyn FunctionContext<'b>, ) -> Result<CalcValue<'b>, ExcelError>

The unified evaluation path. Read more
Source§

fn namespace(&self) -> &'static str

Source§

fn variadic(&self) -> bool

Source§

fn volatile(&self) -> bool

Source§

fn aliases(&self) -> &'static [&'static str]

Optional list of additional alias names (case-insensitive) that should resolve to this function. Default: empty slice. Implementors can override to expose legacy names. Returned slice must have ’static lifetime (typically a static array reference).
Source§

fn function_salt(&self) -> u64

Source§

fn eval_reference<'a, 'b, 'c>( &self, _args: &'c [ArgumentHandle<'a, 'b>], _ctx: &dyn FunctionContext<'b>, ) -> Option<Result<ReferenceType, ExcelError>>

Optional reference result path. Only called by the interpreter/engine when the callsite expects a reference (e.g., range combinators, by-ref argument positions, or spill sources). Read more
Source§

fn dispatch<'a, 'b, 'c>( &self, args: &'c [ArgumentHandle<'a, 'b>], ctx: &dyn FunctionContext<'b>, ) -> Result<CalcValue<'b>, ExcelError>

Dispatch to the unified evaluation path with automatic argument validation.

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,