Публикации по теме 'coercion'


Принуждение и ложные значения в Javscript.
В JavaScript приведение — это процесс преобразования значения из одного типа в другой. Это можно сделать явно или неявно, и это может привести к неожиданному поведению, если вы не будете осторожны. Одной из областей, где это особенно верно, являются ложные значения. Ложные значения — это значения, которые считаются ложными при оценке в логическом контексте. Следующие значения считаются ложными в JavaScript: \› false \› null \› undefined \› 0 \› NaN \› ‘’ (пустая строка) Когда вы..

Javascript: динамическая типизация Javascript, принуждение и операторы
Надеюсь, вы не почувствуете сонливости, увидев заголовок выше. Это базовые вещи, вы можете задаться вопросом, зачем нам тратить на это время? Ну, есть несколько общих вопросов по Javascript: 1. Можете ли вы сказать мне, в чем разница между «==» и «===»? 2. Что такое «console.log(3‹2‹1)» и почему? Если мы знаем какую-то фундаментальную часть Javascript, такую ​​как динамическая типизация, принуждение и операторы, ответить на эти вопросы будет тривиально, и, что более важно, стать..

Понимание принуждения Javascript за 5 простых шагов
Недавно я обнаружил, что мне нужно заново познакомиться со всеми «причудами» Javascript. Для тех, кто использует Javascript лишь случайно, попытка понять, как он ведет себя при сравнении различных типов значений, может быть сложной задачей. Вы, наверное, наткнулись на какой-то странный факт вроде: [] == 0 // true 0 == '0' // true [] == '0' // false! что шокирующим образом нарушает принцип транзитивности! Я имею в виду, что если a == b и b == c , то a тоже должно равняться c ,..

Вопросы по теме 'coercion'

логический запрос к смешанной (символьной и числовой) переменной
Я не думал, что это будет так сложно, но я боролся какое-то время ... Я надеюсь, что это что-то простое, чего мне не хватает :) Мне нужно иметь возможность логически запрашивать фрейм данных, содержащий переменные, которые представляют собой смесь...
87 просмотров
schedule 29.09.2021

sprintf недопустимый формат "% d"
Это работает: > sprintf('%d', c(1, 1.5)) [1] "1" "1" а это не так: > sprintf('%d', c(1.5, 1)) Error in sprintf("%d", c(1.5, 1)) : invalid format '%d'; use format %f, %e, %g or %a for numeric objects Почему?
6267 просмотров
schedule 01.10.2021

Объедините строку, как в printf
printf - прекрасная функция, потому что она помогает вам очень чисто отформатировать строку. printf("Player %s has lost %d hitpoints", victim.name, damage); Есть ли аналогичный способ объединения и выполнения принуждения в «нормальной...
7758 просмотров
schedule 16.11.2021

Обнаружить строку, содержащую имена
Мне нужно определить, является ли моя первая строка наблюдений строкой имен. При импорте данные всегда импортируются как символьные столбцы из таблицы ( пакет readxl ). По структуре данных, безымянная строка всегда содержит не менее 8 числовых...
79 просмотров
schedule 02.10.2021

Принуждение Groovy к интерфейсу неизвестно во время компиляции
Некоторое время назад я спросил, как заставить класс реализовать интерфейс, который это не реализуется декларацией . Одна из возможностей - as -принуждение: interface MyInterface { def foo() } class MyClass { def foo() { "foo" } }...
60 просмотров
schedule 03.12.2021

Почему JavaScript при конкатенации предпочтительно приводит к строкам, а при сравнении - к числам?
Почему JavaScript предпочтительно приводит операнды к строкам при использовании оператора конкатенации + , но предпочтительно приводит операнды к числам при выполнении == проверок равенства? '1' + 1 приводится к '1' + '1' и возвращает '11'...
244 просмотров
schedule 18.11.2021

Почему GHC противоречит сам себе при использовании ограничения Coercible?
Почему GHC делает вывод об унификации из принуждения связанных данных и почему он противоречит своей собственной сигнатуре проверенного типа, чтобы сделать это? Эта проблема {-# LANGUAGE ExplicitForAll #-} {-# LANGUAGE FlexibleContexts #-} {-#...
89 просмотров
schedule 19.02.2022

Числовой столбец приводится к символьному столбцу при изменении другого символьного столбца
У меня есть фрейм данных с двумя столбцами, первый содержит числа, второй - строки. Моя проблема: как только я заменяю строку во втором столбце другой строкой, первый столбец переводится с class числового на символ. Вот пример: df <-...
29 просмотров
schedule 03.03.2022

Флэш-память As3 — ошибки приведения к ошибкам при передаче сторонних типов данных Swf в Swf
Я делаю игру, в которой каждый экран загружается как отдельный swf. Я загружаю swf с помощью LoaderMax от Greensock, но я не думаю, что это является причиной проблемы. После загрузки swf я могу установить свойства дочернего swf, такие как String и...
136 просмотров

Преобразуйте столбец фрейма данных в числовой только тогда, когда это имеет смысл
data0 = data.frame(a=c(1,2,3,4),b=c("a","b","c","d"),c=c("1","2","3","4")) data0[,2] = as.character(data0[,2]) data0[,3] = as.character(data0[,3]) class(data0[,2]) class(data0[,3]) data0[,2] = as.numeric(data0[,2]) data0[,3] = as.numeric(data0[,3])...
118 просмотров
schedule 14.03.2022

определение наличия в столбце нескольких классов data.table
У меня огромная таблица данных, поэтому я не могу видеть все свои записи в столбцах. Я хочу преобразовать столбец, который, по-видимому, является символом класса, в числовой, однако, когда я использую as.numeric (col_name), я получаю предупреждение...
71 просмотров
schedule 07.04.2022

Матрица для временных рядов с NA
У меня есть фрейм данных, первая строка которого состоит из названий валют, вторая строка состоит из дат, а первая строка состоит из исторических цен на эти даты. Как я могу преобразовать это в объект временного ряда, столбцы которого состоят из...
25 просмотров
schedule 13.04.2022

Отключить приведение типа Haskell
У меня есть пример, основанный на hyperloglog . Я пытаюсь параметризовать свой Container размером и использовать отражение , чтобы использовать этот параметр в функциях контейнеров. import Data.Proxy import...
344 просмотров
schedule 22.05.2022

Логическое принуждение в Javascript 'if' охраняет
Сегодня я заметил такое поведение в Javascript, которое меня очень удивило и смутило: if ("0") { console.log('first') } if ("0" == true) { console.log('second'); } вывод: first Я ожидал, что будут выполнены либо обе, либо ни...
42 просмотров
schedule 09.06.2022

преобразовать вызов функции в строку
Я пытаюсь понять, что такое объект call в R, и принудить его к символам. Однако пока мои усилия были тщетны. myFun=function(a=1) { x=sys.call() return(as.character(x)) } x=myFun(a=2) # here I would like to get the string "myFun(a = 2)"...
82 просмотров
schedule 26.08.2022

Конструктор преобразования вызывается для перемещения, но не для копирования
Используя этот код: template <class T> class Test { T _temp; public: Test() { std::cout << "Test()" << std::endl; }; template <class T2> Test(Test<T2> const &test) { std::cout...
160 просмотров

принуждение нуля к числу
Что здесь происходит?? irb(main):001:0> a= nil => nil irb(main):002:0> b = nil => nil irb(main):003:0> a => nil irb(main):004:0> a+b NoMethodError: undefined method `+' for nil:NilClass from (irb):4 from :0...
808 просмотров
schedule 21.09.2022

В чем разница между приведением типов и приведением в Python?
В документации Python и в списках рассылки я вижу, что значения иногда приводятся, а иногда - принудительно.
32032 просмотров
schedule 04.04.2023

Как я могу преобразовать LazySeq символов в строку в Clojure?
Допустим, у меня есть LazySeq из java.lang.Character , например (\b \ \! \/ \b \ \% \1 \9 \/ \. \i \% \$ \i \space \^@) Как я могу преобразовать это в строку? Я пробовал очевидное (String. my-char-seq) но это бросает...
23309 просмотров
schedule 05.01.2023

Приведение возвращаемого типа F#
В F# у меня есть функция, которая возвращает экземпляры System.Linq.Expression: and System.Object with member this.ToExpression() = match this with | :? System.Int32 -> Expression.Constant(this) :> Expression | :?...
1580 просмотров
schedule 31.10.2022